summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorRichard Hult <richard@imendio.com>2007-02-18 11:04:06 +0000
committerRichard Hult <rhult@src.gnome.org>2007-02-18 11:04:06 +0000
commite344a52104b84fbfd5a6ecfbb0443f2a6de2637c (patch)
treeb2c4780e7fae48f26869d104132dccf005862825 /gdk
parentfe5f64ecbc5e4072ee0e9ce7817e7886204c840e (diff)
downloadgtk+-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.c8
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;
}
}