Author: pwithnall
Date: Sun Feb 17 11:15:08 2008
New Revision: 5138
URL: http://svn.gnome.org/viewvc/totem?rev=5138&view=rev

Log:
2008-02-17  Philip Withnall  <[EMAIL PROTECTED]>

        * src/totem-playlist.c: (drop_cb):
        * src/totem.c: (totem_action_drop_files): Use
        g_uri_list_extract_uris instead of gnome_vfs_uri_list_parse
        for drop targets. (Closes: #512600)



Modified:
   trunk/ChangeLog
   trunk/src/totem-playlist.c
   trunk/src/totem.c

Modified: trunk/src/totem-playlist.c
==============================================================================
--- trunk/src/totem-playlist.c  (original)
+++ trunk/src/totem-playlist.c  Sun Feb 17 11:15:08 2008
@@ -374,29 +374,20 @@
         guint             time, 
         TotemPlaylist    *playlist)
 {
-       GList *list, *p, *file_list;
-
-       list = gnome_vfs_uri_list_parse ((char *)data->data);
-
-       if (list == NULL) {
-               gtk_drag_finish (context, FALSE, FALSE, time);
-               return;
-       }
+       char **list;
+       GList *p, *file_list;
+       guint i;
 
-       p = list;
+       list = g_uri_list_extract_uris ((char *)data->data);
        file_list = NULL;
 
-       while (p != NULL) {
+       for (i = 0; list[i] != NULL; i++) {
                /* We get the list in the wrong order here,
                 * so when we insert the files at the same position
                 * in the tree, they are in the right order.*/
-               file_list = g_list_prepend (file_list,
-                                           gnome_vfs_uri_to_string ((const 
GnomeVFSURI*)(p->data), 0));
-               p = p->next;
+               file_list = g_list_prepend (file_list, list[i]);
        }
 
-       gnome_vfs_uri_list_free (list);
-
        if (file_list == NULL) {
                gtk_drag_finish (context, FALSE, FALSE, time);
                return;
@@ -427,7 +418,6 @@
                title = NULL;
 
                if (info == 1) {
-                       g_free (p->data);
                        p = p->next;
                        if (p != NULL) {
                                if (g_str_has_prefix (p->data, "file:") != 
FALSE)
@@ -440,9 +430,9 @@
                totem_playlist_add_mrl (playlist, filename, title);
 
                g_free (filename);
-               g_free (p->data);
        }
 
+       g_strfreev (list);
        g_list_free (file_list);
        gtk_drag_finish (context, TRUE, FALSE, time);
        gtk_tree_path_free (playlist->priv->tree_path);

Modified: trunk/src/totem.c
==============================================================================
--- trunk/src/totem.c   (original)
+++ trunk/src/totem.c   Sun Feb 17 11:15:08 2008
@@ -1248,26 +1248,17 @@
 totem_action_drop_files (Totem *totem, GtkSelectionData *data,
                int drop_type, gboolean empty_pl)
 {
-       GList *list, *p, *file_list;
+       char **list;
+       guint i;
+       GList *p, *file_list;
        gboolean cleared = FALSE;
 
-       list = gnome_vfs_uri_list_parse ((const char *)data->data);
-
-       if (list == NULL)
-               return FALSE;
-
-       p = list;
+       list = g_uri_list_extract_uris ((const char *)data->data);
        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;
-       }
+       for (i = 0; list[i] != NULL; ++i)
+               file_list = g_list_prepend (file_list, list[i]);
 
-       gnome_vfs_uri_list_free (list);
        if (file_list == NULL)
                return FALSE;
 
@@ -1305,7 +1296,6 @@
                /* Super _NETSCAPE_URL trick */
                if (drop_type == 1)
                {
-                       g_free (p->data);
                        p = p->next;
                        if (p != NULL) {
                                if (g_str_has_prefix (p->data, "file:") != 
FALSE)
@@ -1318,9 +1308,9 @@
                totem_playlist_add_mrl (totem->playlist, filename, title);
 
                g_free (filename);
-               g_free (p->data);
        }
 
+       g_strfreev (list);
        g_list_free (file_list);
        gdk_window_set_cursor (totem->win->window, NULL);
 
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list

Want to limit the commits to a few modules? Go to above URL, log in to edit 
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development 
mailing list. Email [EMAIL PROTECTED] if interested.

Reply via email to