]> www.fi.muni.cz Git - evince.git/commitdiff
[shell] Abort dnd operations originated in the same Evince window
authorCarlos Garcia Campos <carlosgc@gnome.org>
Wed, 13 May 2009 12:47:33 +0000 (14:47 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Wed, 13 May 2009 12:53:02 +0000 (14:53 +0200)
Fixes bug #582077

shell/ev-window.c

index a9578e4863031c1fae8e559059a2f4605cd24a61..63f89c77e0237d4faae2ebcc33b6fcecb489d38c 100644 (file)
@@ -4747,10 +4747,17 @@ ev_window_drag_data_received (GtkWidget        *widget,
                              guint             time)
 
 {
-       EvWindow *window = EV_WINDOW (widget);
-       gchar   **uris;
-       gint      i = 0;
-       GSList   *uri_list = NULL;
+       EvWindow  *window = EV_WINDOW (widget);
+       gchar    **uris;
+       gint       i = 0;
+       GSList    *uri_list = NULL;
+       GtkWidget *source;
+
+       source = gtk_drag_get_source_widget (context);
+       if (source && widget == gtk_widget_get_toplevel (source)) {
+               gtk_drag_finish (context, FALSE, FALSE, time);
+               return;
+       }
 
        uris = gtk_selection_data_get_uris (selection_data);
        if (!uris) {