diff options
author | Vincent Untz <vuntz@gnome.org> | 2007-07-02 17:44:02 +0000 |
---|---|---|
committer | Vincent Untz <vuntz@src.gnome.org> | 2007-07-02 17:44:02 +0000 |
commit | 73dba3acc2e83e7d4d846dbc503c1031473d2d6f (patch) | |
tree | 613a3ed22681cfa22eeb80f6347bb05ba1d6ceb0 | |
parent | b477e39a146f2d82af0587b4f84e0462c7ec17cc (diff) | |
download | libwnck-73dba3acc2e83e7d4d846dbc503c1031473d2d6f.tar.gz |
fix again commit for bug #420713.
2007-07-02 Vincent Untz <vuntz@gnome.org>
* libwnck/pager.c: (wnck_drag_clean_up): fix again commit for bug
#420713.
svn path=/branches/gnome-2-18/; revision=1388
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | libwnck/pager.c | 32 |
2 files changed, 20 insertions, 17 deletions
@@ -1,5 +1,10 @@ 2007-07-02 Vincent Untz <vuntz@gnome.org> + * libwnck/pager.c: (wnck_drag_clean_up): fix again commit for bug + #420713. + +2007-07-02 Vincent Untz <vuntz@gnome.org> + * libwnck/pager.c: (wnck_pager_draw_workspace): use double instead of int to compute the x, y, width and height to pass to cairo. Improves the look of the pager a bit. diff --git a/libwnck/pager.c b/libwnck/pager.c index dfc18c8..b6d2a11 100644 --- a/libwnck/pager.c +++ b/libwnck/pager.c @@ -1409,8 +1409,8 @@ wnck_pager_drag_motion_leave (GtkWidget *widget, static void wnck_drag_clean_up (WnckWindow *window, GdkDragContext *context, - gboolean clean_up_window, - gboolean clean_up_context); + gboolean clean_up_for_context_destroy, + gboolean clean_up_for_window_destroy); static void wnck_drag_context_destroyed (gpointer windowp, @@ -1489,11 +1489,19 @@ wnck_drag_source_destroyed (gpointer contextp, static void wnck_drag_clean_up (WnckWindow *window, GdkDragContext *context, - gboolean clean_up_window, - gboolean clean_up_context) + gboolean clean_up_for_context_destroy, + gboolean clean_up_for_window_destroy) { - if (clean_up_window) + if (clean_up_for_context_destroy) { + GtkWidget *drag_source; + + drag_source = g_object_get_data (G_OBJECT (context), + "wnck-drag-source-widget"); + if (drag_source) + g_object_weak_unref (G_OBJECT (drag_source), + wnck_drag_source_destroyed, context); + g_object_weak_unref (G_OBJECT (window), wnck_drag_window_destroyed, context); if (g_signal_handlers_disconnect_by_func (window, @@ -1501,19 +1509,9 @@ wnck_drag_clean_up (WnckWindow *window, g_assert_not_reached (); } - if (clean_up_context) + if (clean_up_for_window_destroy) { - GtkWidget *drag_source; - - drag_source = g_object_get_data (G_OBJECT (context), - "wnck-drag-source-widget"); - if (drag_source) - { - g_object_steal_data (G_OBJECT (context), "wnck-drag-source-widget"); - g_object_weak_unref (G_OBJECT (drag_source), - wnck_drag_source_destroyed, context); - } - + g_object_steal_data (G_OBJECT (context), "wnck-drag-source-widget"); g_object_weak_unref (G_OBJECT (context), wnck_drag_context_destroyed, window); } |