rem: if (cleared == TRUE) { char *mrl;  mrl = gtk_playlist_get_current_mrl (totem->playlist); action_set_mrl (totem, mrl); g_free (mrl); update_buttons (totem); }
context: drop_cb (GtkWidget     *widget,	 GdkDragContext     *context,	 gint                x,	 gint                y,	 GtkSelectionData   *data,	 guint               info,	 guint               time,	 gpointer            user_data){	Totem *totem = (Totem *)user_data;	GList *list, *p, *file_list;	gboolean cleared = FALSE;	int i;	list = gnome_vfs_uri_list_parse (data->data);	if (list == NULL) {		gtk_drag_finish (context, FALSE, FALSE, time);		return;	}	p = list;	file_list = NULL;	while (p != NULL)	{		file_list = g_list_prepend (file_list, 				gnome_vfs_uri_to_string				((const GnomeVFSURI*)(p->data), 0));		p = p->next;	}	gnome_vfs_uri_list_free (list);	file_list = g_list_reverse (file_list);	if (file_list == NULL)	{		gtk_drag_finish (context, FALSE, FALSE, time);		return;	}	for (p = file_list; p != NULL; p = p->next) {		char *filename;		filename = g_filename_from_uri (p->data, NULL, NULL);		D("dropped filename: %s", filename);		if (filename != NULL && 				g_file_test (filename, G_FILE_TEST_IS_REGULAR					| G_FILE_TEST_EXISTS))		{			if (cleared == FALSE)			{				gtk_playlist_clear (totem->playlist);				cleared = TRUE;			}			gtk_playlist_add_mrl (totem->playlist, filename); 		}		g_free (filename);		g_free (p->data);	}	g_list_free (file_list);	gtk_drag_finish (context, TRUE, FALSE, time);	if (cleared == TRUE)	{		char *mrl;		mrl = gtk_playlist_get_current_mrl (totem->playlist);		action_set_mrl (totem, mrl);		g_free (mrl);		update_buttons (totem);	}}