gtk+ r20108 - in trunk: . gdk/quartz
- From: rhult svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r20108 - in trunk: . gdk/quartz
- Date: Sat, 17 May 2008 08:26:41 +0100 (BST)
Author: rhult
Date: Sat May 17 07:26:41 2008
New Revision: 20108
URL: http://svn.gnome.org/viewvc/gtk+?rev=20108&view=rev
Log:
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.
Modified:
trunk/ChangeLog
trunk/gdk/quartz/gdkwindow-quartz.c
Modified: trunk/gdk/quartz/gdkwindow-quartz.c
==============================================================================
--- trunk/gdk/quartz/gdkwindow-quartz.c (original)
+++ trunk/gdk/quartz/gdkwindow-quartz.c Sat May 17 07:26:41 2008
@@ -393,9 +393,7 @@
static gboolean
gdk_window_quartz_update_idle (gpointer data)
{
- GDK_THREADS_ENTER ();
gdk_window_quartz_process_all_updates ();
- GDK_THREADS_LEAVE ();
return FALSE;
}
@@ -422,12 +420,17 @@
}
else
{
- update_windows = g_slist_prepend (update_windows, window);
+ /* 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);
private->update_area = visible_region;
if (update_idle == 0)
- update_idle = g_idle_add_full (GDK_PRIORITY_REDRAW,
- gdk_window_quartz_update_idle, NULL, NULL);
+ update_idle = gdk_threads_add_idle_full (GDK_PRIORITY_REDRAW,
+ gdk_window_quartz_update_idle, NULL, NULL);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]