diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-03-05 15:30:52 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-03-05 15:30:52 +0000 |
commit | 3305137ff3e6cfadc13aa160ef29ef0620112be1 (patch) | |
tree | cf0fe4ee5c06ed48fb056ba3f89bae8108baf8d4 | |
parent | 1e5210355eb9f71e5cacbd2c0c339c28c956136f (diff) | |
download | gdk-pixbuf-3305137ff3e6cfadc13aa160ef29ef0620112be1.tar.gz |
Don't use this same functions as idle callbacks and directly, to avoid
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.)
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 11 | ||||
-rw-r--r-- | gtk/gtktable.c | 2 | ||||
-rw-r--r-- | gtk/gtktreeview.c | 36 |
9 files changed, 103 insertions, 12 deletions
@@ -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 diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 8003793a6..7c1d98388 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -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 diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 8003793a6..7c1d98388 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -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 diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 8003793a6..7c1d98388 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -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 diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 8003793a6..7c1d98388 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -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 diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 8003793a6..7c1d98388 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -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 diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 8003793a6..7c1d98388 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -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 diff --git a/gtk/gtktable.c b/gtk/gtktable.c index d94626357..1709e500e 100644 --- a/gtk/gtktable.c +++ b/gtk/gtktable.c @@ -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++) { diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 91c1bd73a..d935d1c93 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -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)); } |