Use gdk_threads_add_idle instead of g_idle_add. Add a temporary check if
2008-05-17 Richard Hult <richard@imendio.com> * gdk/quartz/gdkwindow-quartz.c: (gdk_window_impl_quartz_invalidate_maybe_recurse): (gdk_window_quartz_update_idle): Use gdk_threads_add_idle instead of g_idle_add. Add a temporary check if the window is already in the updates list, since update_area currently doesn't always match the backend's state, see bug #530801. svn path=/trunk/; revision=20108
This commit is contained in:
committed by
Richard Hult
parent
f0ded97ab4
commit
618b23a408
@ -1,3 +1,12 @@
|
|||||||
|
2008-05-17 Richard Hult <richard@imendio.com>
|
||||||
|
|
||||||
|
* gdk/quartz/gdkwindow-quartz.c:
|
||||||
|
(gdk_window_impl_quartz_invalidate_maybe_recurse):
|
||||||
|
(gdk_window_quartz_update_idle): Use gdk_threads_add_idle instead
|
||||||
|
of g_idle_add. Add a temporary check if the window is already in
|
||||||
|
the updates list, since update_area currently doesn't always match
|
||||||
|
the backend's state, see bug #530801.
|
||||||
|
|
||||||
2008-05-13 Tor Lillqvist <tml@novell.com>
|
2008-05-13 Tor Lillqvist <tml@novell.com>
|
||||||
|
|
||||||
Bug 496958 - Wacom Bamboo doesn't function with GTK apps in Win32
|
Bug 496958 - Wacom Bamboo doesn't function with GTK apps in Win32
|
||||||
|
|||||||
@ -393,9 +393,7 @@ gdk_window_quartz_process_all_updates (void)
|
|||||||
static gboolean
|
static gboolean
|
||||||
gdk_window_quartz_update_idle (gpointer data)
|
gdk_window_quartz_update_idle (gpointer data)
|
||||||
{
|
{
|
||||||
GDK_THREADS_ENTER ();
|
|
||||||
gdk_window_quartz_process_all_updates ();
|
gdk_window_quartz_process_all_updates ();
|
||||||
GDK_THREADS_LEAVE ();
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -422,11 +420,16 @@ gdk_window_impl_quartz_invalidate_maybe_recurse (GdkPaintable *paintable,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/* FIXME: When the update_window/update_area handling is abstracted in
|
||||||
|
* some way, we can remove this check. Currently it might be cleared
|
||||||
|
* in the generic code without us knowing, see bug #530801.
|
||||||
|
*/
|
||||||
|
if (!g_slist_find (update_windows, window))
|
||||||
update_windows = g_slist_prepend (update_windows, window);
|
update_windows = g_slist_prepend (update_windows, window);
|
||||||
private->update_area = visible_region;
|
private->update_area = visible_region;
|
||||||
|
|
||||||
if (update_idle == 0)
|
if (update_idle == 0)
|
||||||
update_idle = g_idle_add_full (GDK_PRIORITY_REDRAW,
|
update_idle = gdk_threads_add_idle_full (GDK_PRIORITY_REDRAW,
|
||||||
gdk_window_quartz_update_idle, NULL, NULL);
|
gdk_window_quartz_update_idle, NULL, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user