aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-10-30 06:21:57 +0800
committerChris Lahey <clahey@src.gnome.org>2001-10-30 06:21:57 +0800
commite170420969a8b5b6e39a53dcff37d012fcfa89df (patch)
tree05ddd1028213a2e945aa1dbb1d75b619ba4c25c6
parent8836050e99af77f97260fdfae1a37d3fdfb0924d (diff)
downloadgsoc2013-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.c2
-rw-r--r--widgets/table/e-tree-sorted.c21
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)