diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-10-30 06:21:57 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-10-30 06:21:57 +0800 |
commit | e170420969a8b5b6e39a53dcff37d012fcfa89df (patch) | |
tree | 05ddd1028213a2e945aa1dbb1d75b619ba4c25c6 | |
parent | 8836050e99af77f97260fdfae1a37d3fdfb0924d (diff) | |
download | gsoc2013-evolution-e170420969a8b5b6e39a53dcff37d012fcfa89df.tar.gz gsoc2013-evolution-e170420969a8b5b6e39a53dcff37d012fcfa89df.tar.zst gsoc2013-evolution-e170420969a8b5b6e39a53dcff37d012fcfa89df.zip |
Hide the Help button here since there's nothing connected to it.
2001-10-29 Christopher James Lahey <clahey@ximian.com>
* e-table-config.c (setup_gui): Hide the Help button here since
there's nothing connected to it.
* e-tree-sorted.c (ets_sort_idle): Don't nest ets_sort_idle calls.
Fixes Ximian bug #13929.
svn path=/trunk/; revision=14368
-rw-r--r-- | widgets/table/e-table-config.c | 2 | ||||
-rw-r--r-- | widgets/table/e-tree-sorted.c | 21 |
2 files changed, 21 insertions, 2 deletions
diff --git a/widgets/table/e-table-config.c b/widgets/table/e-table-config.c index b783eaa396..36f3faf9d3 100644 --- a/widgets/table/e-table-config.c +++ b/widgets/table/e-table-config.c @@ -725,6 +725,8 @@ setup_gui (ETableConfig *config) config->dialog_toplevel = glade_xml_get_widget ( gui, "e-table-config"); + gtk_widget_hide (GNOME_PROPERTY_BOX(config->dialog_toplevel)->help_button); + gtk_notebook_set_show_tabs ( GTK_NOTEBOOK (GNOME_PROPERTY_BOX ( config->dialog_toplevel)->notebook), diff --git a/widgets/table/e-tree-sorted.c b/widgets/table/e-tree-sorted.c index f86bca0a06..6300a36e7c 100644 --- a/widgets/table/e-tree-sorted.c +++ b/widgets/table/e-tree-sorted.c @@ -103,6 +103,9 @@ struct ETreeSortedPriv { int sort_idle_id; int insert_idle_id; int insert_count; + + guint in_resort_idle : 1; + guint nested_resort_idle : 1; }; enum { @@ -127,10 +130,19 @@ static gboolean ets_sort_idle(gpointer user_data) { ETreeSorted *ets = user_data; - ets->priv->sort_idle_id = 0; + if (ets->priv->in_resort_idle) { + ets->priv->nested_resort_idle = TRUE; + return FALSE; + } + ets->priv->in_resort_idle = TRUE; if (ets->priv->root) { - resort_node (ets, ets->priv->root, FALSE, FALSE, TRUE); + do { + ets->priv->nested_resort_idle = FALSE; + resort_node (ets, ets->priv->root, FALSE, FALSE, TRUE); + } while (ets->priv->nested_resort_idle); } + ets->priv->in_resort_idle = FALSE; + ets->priv->sort_idle_id = 0; return FALSE; } @@ -561,6 +573,8 @@ schedule_resort (ETreeSorted *ets, ETreeSortedPath *path, gboolean needs_regen, mark_path_needs_resort(ets, path, needs_regen, resort_all_children); if (ets->priv->sort_idle_id == 0) { ets->priv->sort_idle_id = g_idle_add_full(50, (GSourceFunc) ets_sort_idle, ets, NULL); + } else if (ets->priv->in_resort_idle) { + ets->priv->nested_resort_idle = TRUE; } } @@ -1232,6 +1246,9 @@ e_tree_sorted_init (GtkObject *object) priv->sort_idle_id = 0; priv->insert_idle_id = 0; priv->insert_count = 0; + + priv->in_resort_idle = 0; + priv->nested_resort_idle = 0; } E_MAKE_TYPE(e_tree_sorted, "ETreeSorted", ETreeSorted, e_tree_sorted_class_init, e_tree_sorted_init, PARENT_TYPE) |