Merged from stable.

Fri Jun  6 23:38:23 2003  Kristian Rietveld  <kris@gtk.org>

	Merged from stable.

	* gtk/gtktreeview.c (do_expand_collapse),
	(expand_collapse_timeout), (cancel_arrow_animation): made
	expand_collapse_timeout a wrapper with locks around
	do_expand_collapse, made cancel_arrow_animation use
	do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
	Peter Bloomfield).
This commit is contained in:
Kristian Rietveld 2003-06-06 21:42:52 +00:00 committed by Kristian Rietveld
parent 16191e5274
commit e0e04dd847
6 changed files with 71 additions and 8 deletions

View File

@ -1,3 +1,14 @@
Fri Jun 6 23:38:23 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (do_expand_collapse),
(expand_collapse_timeout), (cancel_arrow_animation): made
expand_collapse_timeout a wrapper with locks around
do_expand_collapse, made cancel_arrow_animation use
do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
Peter Bloomfield).
Fri Jun 6 11:05:45 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):

View File

@ -1,3 +1,14 @@
Fri Jun 6 23:38:23 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (do_expand_collapse),
(expand_collapse_timeout), (cancel_arrow_animation): made
expand_collapse_timeout a wrapper with locks around
do_expand_collapse, made cancel_arrow_animation use
do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
Peter Bloomfield).
Fri Jun 6 11:05:45 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):

View File

@ -1,3 +1,14 @@
Fri Jun 6 23:38:23 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (do_expand_collapse),
(expand_collapse_timeout), (cancel_arrow_animation): made
expand_collapse_timeout a wrapper with locks around
do_expand_collapse, made cancel_arrow_animation use
do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
Peter Bloomfield).
Fri Jun 6 11:05:45 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):

View File

@ -1,3 +1,14 @@
Fri Jun 6 23:38:23 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (do_expand_collapse),
(expand_collapse_timeout), (cancel_arrow_animation): made
expand_collapse_timeout a wrapper with locks around
do_expand_collapse, made cancel_arrow_animation use
do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
Peter Bloomfield).
Fri Jun 6 11:05:45 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):

View File

@ -1,3 +1,14 @@
Fri Jun 6 23:38:23 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtktreeview.c (do_expand_collapse),
(expand_collapse_timeout), (cancel_arrow_animation): made
expand_collapse_timeout a wrapper with locks around
do_expand_collapse, made cancel_arrow_animation use
do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
Peter Bloomfield).
Fri Jun 6 11:05:45 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):

View File

@ -349,6 +349,7 @@ static void gtk_tree_view_real_set_cursor (GtkTreeView
static gboolean gtk_tree_view_has_special_cell (GtkTreeView *tree_view);
static gboolean expand_collapse_timeout (gpointer data);
static gboolean do_expand_collapse (GtkTreeView *tree_view);
/* interactive search */
static void gtk_tree_view_search_dialog_destroy (GtkWidget *search_dialog,
@ -6441,7 +6442,7 @@ static void
cancel_arrow_animation (GtkTreeView *tree_view)
{
if (tree_view->priv->expand_collapse_timeout)
while (expand_collapse_timeout (tree_view));
while (do_expand_collapse (tree_view));
tree_view->priv->expand_collapse_timeout = 0;
}
@ -9175,14 +9176,25 @@ gtk_tree_view_expand_all (GtkTreeView *tree_view)
static gboolean
expand_collapse_timeout (gpointer data)
{
GtkTreeView *tree_view = data;
gboolean retval;
GDK_THREADS_ENTER ();
retval = do_expand_collapse (data);
GDK_THREADS_LEAVE ();
return retval;
}
static gboolean
do_expand_collapse (GtkTreeView *tree_view)
{
GtkRBNode *node;
GtkRBTree *tree;
gboolean expanding;
gboolean redraw;
GDK_THREADS_ENTER ();
redraw = FALSE;
expanding = TRUE;
@ -9231,13 +9243,9 @@ expand_collapse_timeout (gpointer data)
{
gtk_tree_view_queue_draw_arrow (tree_view, tree, node, NULL);
GDK_THREADS_LEAVE ();
return TRUE;
}
GDK_THREADS_LEAVE ();
return FALSE;
}