Plug leak of destroyed subviews, fixes bug #504753.
2007-12-21 Richard Hult <richard@imendio.com> * gdk/quartz/gdkwindow-quartz.c: (_gdk_windowing_window_destroy): Plug leak of destroyed subviews, fixes bug #504753. svn path=/trunk/; revision=19218
This commit is contained in:
parent
d3154f5c21
commit
a28c785bcd
@ -1,3 +1,8 @@
|
||||
2007-12-21 Richard Hult <richard@imendio.com>
|
||||
|
||||
* gdk/quartz/gdkwindow-quartz.c: (_gdk_windowing_window_destroy):
|
||||
Plug leak of destroyed subviews, fixes bug #504753.
|
||||
|
||||
2007-12-20 Johan Dahlin <johan@gnome.org>
|
||||
|
||||
* tests/Makefile.am (TEST_PROGS):
|
||||
|
@ -882,6 +882,7 @@ _gdk_windowing_window_destroy (GdkWindow *window,
|
||||
GdkWindowObject *private;
|
||||
GdkWindowImplQuartz *impl;
|
||||
GdkWindowObject *parent;
|
||||
GdkWindow *mouse_window;
|
||||
|
||||
private = GDK_WINDOW_OBJECT (window);
|
||||
impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
|
||||
@ -909,24 +910,21 @@ _gdk_windowing_window_destroy (GdkWindow *window,
|
||||
if (window == _gdk_quartz_keyboard_grab_window)
|
||||
gdk_keyboard_ungrab (0);
|
||||
|
||||
_gdk_quartz_drawable_finish (GDK_DRAWABLE (impl));
|
||||
|
||||
mouse_window = _gdk_quartz_events_get_mouse_window (FALSE);
|
||||
if (window == mouse_window ||
|
||||
_gdk_quartz_window_is_ancestor (window, mouse_window))
|
||||
_gdk_quartz_events_update_mouse_window (_gdk_root);
|
||||
|
||||
if (!recursing && !foreign_destroy)
|
||||
{
|
||||
GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl);
|
||||
GdkWindow *mouse_window;
|
||||
|
||||
mouse_window = _gdk_quartz_events_get_mouse_window (FALSE);
|
||||
if (window == mouse_window ||
|
||||
_gdk_quartz_window_is_ancestor (window, mouse_window))
|
||||
_gdk_quartz_events_update_mouse_window (_gdk_root);
|
||||
|
||||
GDK_QUARTZ_ALLOC_POOL;
|
||||
|
||||
_gdk_quartz_drawable_finish (GDK_DRAWABLE (impl));
|
||||
|
||||
if (impl->toplevel)
|
||||
[impl->toplevel close];
|
||||
else if (impl->view)
|
||||
[impl->view release];
|
||||
[impl->view removeFromSuperview];
|
||||
|
||||
GDK_QUARTZ_RELEASE_POOL;
|
||||
}
|
||||
@ -2898,9 +2896,6 @@ gdk_window_configure_finished (GdkWindow *window)
|
||||
void
|
||||
gdk_window_destroy_notify (GdkWindow *window)
|
||||
{
|
||||
/* FIXME: Implement. We should call this from -[GdkQuartzWindow dealloc] or
|
||||
* -[GdkQuartzView dealloc], although I suspect that currently they leak
|
||||
* anyway. */
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user