]> Pileus Git - ~andy/gtk/commitdiff
Don't use this same functions as idle callbacks and directly, to avoid
authorOwen Taylor <otaylor@redhat.com>
Tue, 5 Mar 2002 15:30:52 +0000 (15:30 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Tue, 5 Mar 2002 15:30:52 +0000 (15:30 +0000)
Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>

* gtk/gtktreeview.c (do_presize_handler)
gtk/gtktreeview.c (do_validate_rows): Don't use this
same functions as idle callbacks and directly, to avoid
threading deadlocks. (#72392, Scott Guilbeaux)

* gtk/gtktable.c (gtk_table_size_request_init): Fix
row/column confusion from recent patch. (#73505,
Vitaly Tishkov.)

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktable.c
gtk/gtktreeview.c

index 8003793a65c7305c4b695f25f859b6c0455db329..7c1d9838809e576cc52f1afe2a7cb4b4a1776920 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtktreeview.c (do_presize_handler)
+       gtk/gtktreeview.c (do_validate_rows): Don't use this 
+       same functions as idle callbacks and directly, to avoid
+       threading deadlocks. (#72392, Scott Guilbeaux)
+
+       * gtk/gtktable.c (gtk_table_size_request_init): Fix 
+       row/column confusion from recent patch. (#73505,
+       Vitaly Tishkov.)
+
 2002-03-04  Matthias Clasen  <maclas@gmx.de>
 
        * docs/tutorial/gtk-tut.sgml: Make color selection and selection 
index 8003793a65c7305c4b695f25f859b6c0455db329..7c1d9838809e576cc52f1afe2a7cb4b4a1776920 100644 (file)
@@ -1,3 +1,14 @@
+Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtktreeview.c (do_presize_handler)
+       gtk/gtktreeview.c (do_validate_rows): Don't use this 
+       same functions as idle callbacks and directly, to avoid
+       threading deadlocks. (#72392, Scott Guilbeaux)
+
+       * gtk/gtktable.c (gtk_table_size_request_init): Fix 
+       row/column confusion from recent patch. (#73505,
+       Vitaly Tishkov.)
+
 2002-03-04  Matthias Clasen  <maclas@gmx.de>
 
        * docs/tutorial/gtk-tut.sgml: Make color selection and selection 
index 8003793a65c7305c4b695f25f859b6c0455db329..7c1d9838809e576cc52f1afe2a7cb4b4a1776920 100644 (file)
@@ -1,3 +1,14 @@
+Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtktreeview.c (do_presize_handler)
+       gtk/gtktreeview.c (do_validate_rows): Don't use this 
+       same functions as idle callbacks and directly, to avoid
+       threading deadlocks. (#72392, Scott Guilbeaux)
+
+       * gtk/gtktable.c (gtk_table_size_request_init): Fix 
+       row/column confusion from recent patch. (#73505,
+       Vitaly Tishkov.)
+
 2002-03-04  Matthias Clasen  <maclas@gmx.de>
 
        * docs/tutorial/gtk-tut.sgml: Make color selection and selection 
index 8003793a65c7305c4b695f25f859b6c0455db329..7c1d9838809e576cc52f1afe2a7cb4b4a1776920 100644 (file)
@@ -1,3 +1,14 @@
+Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtktreeview.c (do_presize_handler)
+       gtk/gtktreeview.c (do_validate_rows): Don't use this 
+       same functions as idle callbacks and directly, to avoid
+       threading deadlocks. (#72392, Scott Guilbeaux)
+
+       * gtk/gtktable.c (gtk_table_size_request_init): Fix 
+       row/column confusion from recent patch. (#73505,
+       Vitaly Tishkov.)
+
 2002-03-04  Matthias Clasen  <maclas@gmx.de>
 
        * docs/tutorial/gtk-tut.sgml: Make color selection and selection 
index 8003793a65c7305c4b695f25f859b6c0455db329..7c1d9838809e576cc52f1afe2a7cb4b4a1776920 100644 (file)
@@ -1,3 +1,14 @@
+Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtktreeview.c (do_presize_handler)
+       gtk/gtktreeview.c (do_validate_rows): Don't use this 
+       same functions as idle callbacks and directly, to avoid
+       threading deadlocks. (#72392, Scott Guilbeaux)
+
+       * gtk/gtktable.c (gtk_table_size_request_init): Fix 
+       row/column confusion from recent patch. (#73505,
+       Vitaly Tishkov.)
+
 2002-03-04  Matthias Clasen  <maclas@gmx.de>
 
        * docs/tutorial/gtk-tut.sgml: Make color selection and selection 
index 8003793a65c7305c4b695f25f859b6c0455db329..7c1d9838809e576cc52f1afe2a7cb4b4a1776920 100644 (file)
@@ -1,3 +1,14 @@
+Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtktreeview.c (do_presize_handler)
+       gtk/gtktreeview.c (do_validate_rows): Don't use this 
+       same functions as idle callbacks and directly, to avoid
+       threading deadlocks. (#72392, Scott Guilbeaux)
+
+       * gtk/gtktable.c (gtk_table_size_request_init): Fix 
+       row/column confusion from recent patch. (#73505,
+       Vitaly Tishkov.)
+
 2002-03-04  Matthias Clasen  <maclas@gmx.de>
 
        * docs/tutorial/gtk-tut.sgml: Make color selection and selection 
index 8003793a65c7305c4b695f25f859b6c0455db329..7c1d9838809e576cc52f1afe2a7cb4b4a1776920 100644 (file)
@@ -1,3 +1,14 @@
+Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtktreeview.c (do_presize_handler)
+       gtk/gtktreeview.c (do_validate_rows): Don't use this 
+       same functions as idle callbacks and directly, to avoid
+       threading deadlocks. (#72392, Scott Guilbeaux)
+
+       * gtk/gtktable.c (gtk_table_size_request_init): Fix 
+       row/column confusion from recent patch. (#73505,
+       Vitaly Tishkov.)
+
 2002-03-04  Matthias Clasen  <maclas@gmx.de>
 
        * docs/tutorial/gtk-tut.sgml: Make color selection and selection 
index d94626357b14cd456312262fd316901d25e9356d..1709e500eca91c265365e1532ba53112e3469309 100644 (file)
@@ -953,7 +953,7 @@ gtk_table_size_request_init (GtkTable *table)
   for (row = 0; row < table->nrows; row++)
     {
       table->rows[row].requisition = 0;
-      table->cols[row].expand = FALSE;
+      table->rows[row].expand = FALSE;
     }
   for (col = 0; col < table->ncols; col++)
     {
index 91c1bd73a6dc8c951e96cdd7a41d39d47faa481f..d935d1c93149455e884c413dffbe86f84bae8a2f 100644 (file)
@@ -3893,7 +3893,7 @@ validate_visible_area (GtkTreeView *tree_view)
  */
 
 static gboolean
-validate_rows_handler (GtkTreeView *tree_view)
+do_validate_rows (GtkTreeView *tree_view)
 {
   GtkRBTree *tree = NULL;
   GtkRBNode *node = NULL;
@@ -3904,15 +3904,11 @@ validate_rows_handler (GtkTreeView *tree_view)
   gint i = 0;
   g_assert (tree_view);
 
-  GDK_THREADS_ENTER ();
-
   if (tree_view->priv->tree == NULL)
     {
       tree_view->priv->validate_rows_timer = 0;
-      GDK_THREADS_LEAVE ();
       return FALSE;
     }
-
   do
     {
 
@@ -3991,18 +3987,26 @@ validate_rows_handler (GtkTreeView *tree_view)
   if (! retval)
     tree_view->priv->validate_rows_timer = 0;
 
-  GDK_THREADS_LEAVE ();
-
   return retval;
 }
 
 static gboolean
-presize_handler_callback (gpointer data)
+validate_rows_handler (GtkTreeView *tree_view)
 {
-  GtkTreeView *tree_view = GTK_TREE_VIEW (data);
+  gboolean retval;
 
   GDK_THREADS_ENTER ();
 
+  retval = do_validate_rows (tree_view);
+  
+  GDK_THREADS_LEAVE ();
+
+  return retval;
+}
+
+static gboolean
+do_presize_handler (GtkTreeView *tree_view)
+{
   if (tree_view->priv->mark_rows_col_dirty)
     {
       if (tree_view->priv->tree)
@@ -4012,6 +4016,16 @@ presize_handler_callback (gpointer data)
   validate_visible_area (tree_view);
   tree_view->priv->presize_handler_timer = 0;
                   
+  return FALSE;
+}
+
+static gboolean
+presize_handler_callback (gpointer data)
+{
+  GDK_THREADS_ENTER ();
+
+  do_presize_handler (GTK_TREE_VIEW (data));
+                  
   GDK_THREADS_LEAVE ();
 
   return FALSE;
@@ -7655,8 +7669,8 @@ gtk_tree_view_column_autosize (GtkTreeView *tree_view,
 
   _gtk_tree_view_column_cell_set_dirty (column, FALSE);
 
-  presize_handler_callback (tree_view);
-  while (validate_rows_handler (tree_view));
+  do_presize_handler (tree_view);
+  while (do_validate_rows (tree_view));
 
   gtk_widget_queue_resize (GTK_WIDGET (tree_view));
 }