]> 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:47:33 +0000 (14:47 +0200)
Fixes bug #582077

shell/ev-window.c

index 16e10ca3ae08edabfcdb0168c38c567a249a6e95..7ec9aca92e41ffef307f15a038d041c3795e49ee 100644 (file)
@@ -4519,10 +4519,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) {