aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-storage-set-view.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2000-05-16 01:09:44 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2000-05-16 01:09:44 +0800
commite927ce214f28163a2159129e2d4771da274d5611 (patch)
treec37a8adae2aa79b6d5d3d7ebe111ebacc6ad05c5 /shell/e-storage-set-view.c
parent98317c656590737ced646d6fb4bd65e527c7e178 (diff)
downloadgsoc2013-evolution-e927ce214f28163a2159129e2d4771da274d5611.tar.gz
gsoc2013-evolution-e927ce214f28163a2159129e2d4771da274d5611.tar.zst
gsoc2013-evolution-e927ce214f28163a2159129e2d4771da274d5611.zip
Fixed drag and drop so that it properly handles pointer grabbing in
the widget with `gtk_grab_add' and `gtk_grab_remove'. Removed leaks from Iain's patch. Moved shortcut view initialization from the model into the view. svn path=/trunk/; revision=3047
Diffstat (limited to 'shell/e-storage-set-view.c')
-rw-r--r--shell/e-storage-set-view.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/shell/e-storage-set-view.c b/shell/e-storage-set-view.c
index 0c0761996b..a63ab66e27 100644
--- a/shell/e-storage-set-view.c
+++ b/shell/e-storage-set-view.c
@@ -154,9 +154,12 @@ button_press_event (GtkWidget *widget,
gdk_pointer_ungrab (GDK_CURRENT_TIME);
gdk_flush ();
+ gtk_grab_remove (widget);
+
gdk_pointer_grab (GTK_CLIST (widget)->clist_window, FALSE,
GDK_POINTER_MOTION_MASK | GDK_BUTTON_RELEASE_MASK,
NULL, NULL, event->time);
+ gtk_grab_add (widget);
return TRUE;
}
@@ -201,6 +204,7 @@ button_release_event (GtkWidget *widget,
if (! priv->in_drag && priv->selected_row_path != NULL) {
gdk_pointer_ungrab (GDK_CURRENT_TIME);
+ gtk_grab_remove (widget);
gdk_flush ();
gtk_signal_emit (GTK_OBJECT (widget), signals[FOLDER_SELECTED],
@@ -624,6 +628,8 @@ e_storage_set_view_set_current_folder (EStorageSetView *storage_set_view,
}
gtk_ctree_select (GTK_CTREE (storage_set_view), node);
+
+ gtk_signal_emit (GTK_OBJECT (storage_set_view), signals[FOLDER_SELECTED], path);
}