diff options
author | Richard Hult <richard@imendio.com> | 2007-02-18 11:04:06 +0000 |
---|---|---|
committer | Richard Hult <rhult@src.gnome.org> | 2007-02-18 11:04:06 +0000 |
commit | e344a52104b84fbfd5a6ecfbb0443f2a6de2637c (patch) | |
tree | b2c4780e7fae48f26869d104132dccf005862825 /gdk | |
parent | fe5f64ecbc5e4072ee0e9ce7817e7886204c840e (diff) | |
download | gtk+-e344a52104b84fbfd5a6ecfbb0443f2a6de2637c.tar.gz |
Setup release pools to plug two leaks, patch from Erik van Pienbroek,
2007-02-18 Richard Hult <richard@imendio.com>
* 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
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/quartz/gdkwindow-quartz.c | 8 |
1 files changed, 8 insertions, 0 deletions
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; } } |