]> Pileus Git - ~andy/gtk/commitdiff
Clean up properly if the grab fails. (finish_drag): Don't leak a reference
authorMatthias Clasen <mclasen@redhat.com>
Wed, 11 Jan 2006 14:54:05 +0000 (14:54 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 11 Jan 2006 14:54:05 +0000 (14:54 +0000)
2006-01-11  Matthias Clasen  <mclasen@redhat.com>

* gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean
up properly if the grab fails.
(finish_drag): Don't leak a reference to moveresize_window
here.

ChangeLog
ChangeLog.pre-2-10
gdk/x11/gdkwindow-x11.c

index 83b4584caf7abae708aac0b7919fd000829c0995..c9d015b1c87a5cb74c6e2a9cd7659decbb97d9be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-11  Matthias Clasen  <mclasen@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean
+       up properly if the grab fails.
+       (finish_drag): Don't leak a reference to moveresize_window
+       here.
+
 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
 
        * gdk/x11/gdkevents-x11.c: Fix string offsets.
index 83b4584caf7abae708aac0b7919fd000829c0995..c9d015b1c87a5cb74c6e2a9cd7659decbb97d9be 100644 (file)
@@ -1,3 +1,10 @@
+2006-01-11  Matthias Clasen  <mclasen@redhat.com>
+
+       * gdk/x11/gdkwindow-x11.c (create_moveresize_window): Clean
+       up properly if the grab fails.
+       (finish_drag): Don't leak a reference to moveresize_window
+       here.
+
 2006-01-11  Matthias Clasen  <mclasen@redhat.com>
 
        * gdk/x11/gdkevents-x11.c: Fix string offsets.
index cdbe6282fc40dee22c39c62416c023c1a0353d21..374a345cf80e8b246065b48248a39eeb614817e9 100644 (file)
@@ -5607,6 +5607,7 @@ finish_drag (MoveResizeData *mv_resize)
 {
   gdk_window_destroy (mv_resize->moveresize_emulation_window);
   mv_resize->moveresize_emulation_window = NULL;
+  g_object_unref (mv_resize->moveresize_window);
   mv_resize->moveresize_window = NULL;
 
   if (mv_resize->moveresize_pending_event)
@@ -5786,8 +5787,7 @@ create_moveresize_window (MoveResizeData *mv_resize,
       /* If this fails, some other client has grabbed the window
        * already.
        */
-      gdk_window_destroy (mv_resize->moveresize_emulation_window);
-      mv_resize->moveresize_emulation_window = NULL;
+      finish_drag (mv_resize);
     }
 
   mv_resize->moveresize_process_time = 0;