Plug a leak and add a check that we have a toplevel before accessing it.

2008-03-25  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates): Plug a leak and add a
	check that we have a toplevel before accessing it.

svn path=/trunk/; revision=19933
This commit is contained in:
Richard Hult 2008-03-25 13:35:20 +00:00 committed by Richard Hult
parent 6861b9247f
commit 7279939331
2 changed files with 25 additions and 13 deletions

View File

@ -1,3 +1,9 @@
2008-03-25 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_quartz_process_all_updates): Plug a leak and add a
check that we have a toplevel before accessing it.
2008-03-24 Tor Lillqvist <tml@novell.com>
Bug 524151 - Dragging of 0-byte files results in an empty filename

View File

@ -347,19 +347,24 @@ gdk_window_quartz_process_all_updates (void)
{
GdkWindow *window = tmp_list->data;
GdkWindow *toplevel;
NSWindow *nswindow;
GdkWindowObject *private;
GdkWindowImplQuartz *impl;
/* Only flush each toplevel at most once. */
toplevel = gdk_window_get_toplevel (window);
private = (GdkWindowObject *) toplevel;
impl = (GdkWindowImplQuartz *) private->impl;
nswindow = impl->toplevel;
if (nswindow && ![nswindow isFlushWindowDisabled])
if (toplevel)
{
[nswindow disableFlushWindow];
nswindows = g_slist_prepend (nswindows, nswindow);
GdkWindowObject *private;
GdkWindowImplQuartz *impl;
NSWindow *nswindow;
private = (GdkWindowObject *) toplevel;
impl = (GdkWindowImplQuartz *) private->impl;
nswindow = impl->toplevel;
if (nswindow && ![nswindow isFlushWindowDisabled])
{
[nswindow disableFlushWindow];
nswindows = g_slist_prepend (nswindows, nswindow);
}
}
gdk_window_quartz_process_updates_internal (tmp_list->data);
@ -368,14 +373,15 @@ gdk_window_quartz_process_all_updates (void)
tmp_list = tmp_list->next;
}
while (nswindows)
tmp_list = nswindows;
while (tmp_list)
{
NSWindow *nswindow = nswindows->data;
NSWindow *nswindow = tmp_list->data;
[nswindow enableFlushWindow];
[nswindow flushWindow];
nswindows = nswindows->next;
tmp_list = tmp_list->next;
}
GDK_QUARTZ_RELEASE_POOL;