|
|
e0971ba |
--- file-roller-2.28.1/src/eggtreemultidnd.c 2009-10-19 13:53:45.000000000 -0400
|
|
|
e0971ba |
+++ hacked/src/eggtreemultidnd.c 2009-10-29 23:23:12.660790804 -0400
|
|
|
e0971ba |
@@ -179,8 +179,14 @@
|
|
|
e0971ba |
priv_data->event_list = NULL;
|
|
|
e0971ba |
priv_data->pending_event = FALSE;
|
|
|
e0971ba |
|
|
|
e0971ba |
- g_signal_handler_disconnect (widget, priv_data->motion_notify_handler);
|
|
|
e0971ba |
- g_signal_handler_disconnect (widget, priv_data->button_release_handler);
|
|
|
e0971ba |
+ if (priv_data->motion_notify_handler) {
|
|
|
e0971ba |
+ g_signal_handler_disconnect (widget, priv_data->motion_notify_handler);
|
|
|
e0971ba |
+ priv_data->motion_notify_handler = 0;
|
|
|
e0971ba |
+ }
|
|
|
e0971ba |
+ if (priv_data->button_release_handler) {
|
|
|
e0971ba |
+ g_signal_handler_disconnect (widget, priv_data->button_release_handler);
|
|
|
e0971ba |
+ priv_data->button_release_handler = 0;
|
|
|
e0971ba |
+ }
|
|
|
e0971ba |
}
|
|
|
e0971ba |
|
|
|
e0971ba |
|
|
|
e0971ba |
@@ -401,16 +407,23 @@
|
|
|
e0971ba |
priv_data->event_list = g_slist_append (priv_data->event_list,
|
|
|
e0971ba |
gdk_event_copy ((GdkEvent*)event));
|
|
|
e0971ba |
|
|
|
e0971ba |
- priv_data->motion_notify_handler =
|
|
|
e0971ba |
- g_signal_connect (G_OBJECT (tree_view),
|
|
|
e0971ba |
- "motion_notify_event",
|
|
|
e0971ba |
- G_CALLBACK (egg_tree_multi_drag_motion_event),
|
|
|
e0971ba |
- NULL);
|
|
|
e0971ba |
- priv_data->button_release_handler =
|
|
|
e0971ba |
- g_signal_connect (G_OBJECT (tree_view),
|
|
|
e0971ba |
- "button_release_event",
|
|
|
e0971ba |
- G_CALLBACK (egg_tree_multi_drag_button_release_event),
|
|
|
e0971ba |
- NULL);
|
|
|
e0971ba |
+ if (priv_data->motion_notify_handler == 0)
|
|
|
e0971ba |
+ {
|
|
|
e0971ba |
+ priv_data->motion_notify_handler =
|
|
|
e0971ba |
+ g_signal_connect (G_OBJECT (tree_view),
|
|
|
e0971ba |
+ "motion_notify_event",
|
|
|
e0971ba |
+ G_CALLBACK (egg_tree_multi_drag_motion_event),
|
|
|
e0971ba |
+ NULL);
|
|
|
e0971ba |
+ }
|
|
|
e0971ba |
+
|
|
|
e0971ba |
+ if (priv_data->button_release_handler == 0)
|
|
|
e0971ba |
+ {
|
|
|
e0971ba |
+ priv_data->button_release_handler =
|
|
|
e0971ba |
+ g_signal_connect (G_OBJECT (tree_view),
|
|
|
e0971ba |
+ "button_release_event",
|
|
|
e0971ba |
+ G_CALLBACK (egg_tree_multi_drag_button_release_event),
|
|
|
e0971ba |
+ NULL);
|
|
|
e0971ba |
+ }
|
|
|
e0971ba |
|
|
|
e0971ba |
if (priv_data->drag_data_get_handler == 0)
|
|
|
e0971ba |
{
|