From e344a52104b84fbfd5a6ecfbb0443f2a6de2637c Mon Sep 17 00:00:00 2001 From: Richard Hult Date: Sun, 18 Feb 2007 11:04:06 +0000 Subject: [PATCH] Setup release pools to plug two leaks, patch from Erik van Pienbroek, 2007-02-18 Richard Hult * gdk/quartz/gdkwindow-quartz.c: (gdk_window_quartz_process_all_updates), (_gdk_windowing_window_destroy): Setup release pools to plug two leaks, patch from Erik van Pienbroek, fixes bug #396649. svn path=/trunk/; revision=17325 --- ChangeLog | 7 +++++++ gdk/quartz/gdkwindow-quartz.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index fd151072e0..2d50275ac7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-02-18 Richard Hult + + * gdk/quartz/gdkwindow-quartz.c: + (gdk_window_quartz_process_all_updates), + (_gdk_windowing_window_destroy): Setup release pools to plug two leaks, + patch from Erik van Pienbroek, fixes bug #396649. + 2007-02-18 Richard Hult * gdk/quartz/gdkevents-quartz.c: Add stub for diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 23ad06361c..0789d0c94b 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -275,6 +275,8 @@ gdk_window_quartz_process_all_updates (void) gdk_region_destroy (private->update_area); private->update_area = NULL; + GDK_QUARTZ_ALLOC_POOL; + for (i = 0; i < n_rects; i++) { [impl->view setNeedsDisplayInRect:NSMakeRect (rects[i].x, rects[i].y, @@ -283,6 +285,8 @@ gdk_window_quartz_process_all_updates (void) [impl->view displayIfNeeded]; + GDK_QUARTZ_RELEASE_POOL; + g_free (rects); } @@ -731,10 +735,14 @@ _gdk_windowing_window_destroy (GdkWindow *window, _gdk_quartz_update_mouse_window (_gdk_root); } + GDK_QUARTZ_ALLOC_POOL; + if (impl->toplevel) [impl->toplevel close]; else if (impl->view) [impl->view release]; + + GDK_QUARTZ_RELEASE_POOL; } }