Only call GDK_THREADS_ENTER() / _LEAVE() when called from an idle handler.

Tue Jul  6 00:29:03 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (do_updates):
	(do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE()
	when called from an idle handler.  (#145429, Jan-Marek Glogowski)
This commit is contained in:
Matthias Clasen 2004-07-06 04:33:40 +00:00 committed by Matthias Clasen
parent 2a74feb04c
commit f7048ba1e1
5 changed files with 35 additions and 4 deletions

View File

@ -1,3 +1,9 @@
Tue Jul 6 00:29:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (do_updates):
(do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE()
when called from an idle handler. (#145429, Jan-Marek Glogowski)
Mon Jul 5 23:47:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooserutils.c (delegate_notify): Use

View File

@ -1,3 +1,9 @@
Tue Jul 6 00:29:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (do_updates):
(do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE()
when called from an idle handler. (#145429, Jan-Marek Glogowski)
Mon Jul 5 23:47:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooserutils.c (delegate_notify): Use

View File

@ -1,3 +1,9 @@
Tue Jul 6 00:29:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (do_updates):
(do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE()
when called from an idle handler. (#145429, Jan-Marek Glogowski)
Mon Jul 5 23:47:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooserutils.c (delegate_notify): Use

View File

@ -1,3 +1,9 @@
Tue Jul 6 00:29:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (do_updates):
(do_updates_idle): Only call GDK_THREADS_ENTER() / _LEAVE()
when called from an idle handler. (#145429, Jan-Marek Glogowski)
Mon Jul 5 23:47:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkfilechooserutils.c (delegate_notify): Use

View File

@ -2495,10 +2495,18 @@ update_node (GtkUIManager *self,
}
static gboolean
do_updates (GtkUIManager *self)
do_updates_idle (GtkUIManager *self)
{
GDK_THREADS_ENTER ();
do_updates (self);
GDK_THREADS_LEAVE ();
return FALSE;
}
static gboolean
do_updates (GtkUIManager *self)
{
/* this function needs to check through the tree for dirty nodes.
* For such nodes, it needs to do the following:
*
@ -2515,8 +2523,6 @@ do_updates (GtkUIManager *self)
self->private_data->update_tag = 0;
GDK_THREADS_LEAVE ();
return FALSE;
}
@ -2526,7 +2532,8 @@ queue_update (GtkUIManager *self)
if (self->private_data->update_tag != 0)
return;
self->private_data->update_tag = g_idle_add ((GSourceFunc)do_updates, self);
self->private_data->update_tag = g_idle_add ((GSourceFunc)do_updates_idle,
self);
}