From 16f4a5d5e0efc8aef4880d37a2ee8c7cffbf0773 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Sun, 30 Mar 2008 18:26:44 +0000 Subject: [PATCH] Make all code paths result in a call to gtk_drag_finish() if we return 2008-03-30 Martin Nordholts * app/widgets/gimpcontainertreeview-dnd.c (gimp_container_tree_view_drag_drop): Make all code paths result in a call to gtk_drag_finish() if we return TRUE. Fixes bug #317992. svn path=/trunk/; revision=25320 --- ChangeLog | 7 +++++++ app/widgets/gimpcontainertreeview-dnd.c | 17 ++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 20c4536bb6..ef0347c710 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-03-30 Martin Nordholts + + * app/widgets/gimpcontainertreeview-dnd.c + (gimp_container_tree_view_drag_drop): Make all code paths result + in a call to gtk_drag_finish() if we return TRUE. Fixes bug + #317992. + 2008-03-30 Sven Neumann * app/core/gimparea.c (gimp_area_list_process): code cleanup. diff --git a/app/widgets/gimpcontainertreeview-dnd.c b/app/widgets/gimpcontainertreeview-dnd.c index 323d4427f8..88bff49431 100644 --- a/app/widgets/gimpcontainertreeview-dnd.c +++ b/app/widgets/gimpcontainertreeview-dnd.c @@ -314,10 +314,21 @@ gimp_container_tree_view_drag_drop (GtkWidget *widget, tree_view_class = GIMP_CONTAINER_TREE_VIEW_GET_CLASS (tree_view); if (src_viewable) - tree_view_class->drop_viewable (tree_view, src_viewable, - dest_viewable, drop_pos); + { + gboolean success = TRUE; + + /* XXX: Make GimpContainerTreeViewClass::drop_viewable() + * return success? + */ + tree_view_class->drop_viewable (tree_view, src_viewable, + dest_viewable, drop_pos); + + gtk_drag_finish (context, success, FALSE, time); + } else - gtk_drag_get_data (widget, context, target, time); + { + gtk_drag_get_data (widget, context, target, time); + } return TRUE; }