diff options
-rw-r--r-- | widgets/menus/gal-view-collection.c | 2 | ||||
-rw-r--r-- | widgets/table/e-cell-text.c | 15 | ||||
-rw-r--r-- | widgets/table/e-table-item.c | 4 | ||||
-rw-r--r-- | widgets/table/e-tree-table-adapter.c | 5 |
4 files changed, 9 insertions, 17 deletions
diff --git a/widgets/menus/gal-view-collection.c b/widgets/menus/gal-view-collection.c index 4ac0ae68dd..5e97419270 100644 --- a/widgets/menus/gal-view-collection.c +++ b/widgets/menus/gal-view-collection.c @@ -314,7 +314,9 @@ view_changed (GalView *view, item->changed = TRUE; item->ever_changed = TRUE; + g_signal_handler_block(G_OBJECT(item->view), item->view_changed_id); gal_view_collection_changed(item->collection); + g_signal_handler_unblock(G_OBJECT(item->view), item->view_changed_id); } /* Use factory list to load a GalView file. */ diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c index 12cd9af482..90d8f7805e 100644 --- a/widgets/table/e-cell-text.c +++ b/widgets/table/e-cell-text.c @@ -250,14 +250,6 @@ ect_queue_redraw (ECellTextView *text_view, int view_col, int view_row) view_col, view_row, view_col, view_row); } -static void -invisible_finalize (gpointer data, - GObject *invisible) -{ - CellEdit *edit = data; - edit->invisible = NULL; -} - /* * Shuts down the editing process */ @@ -277,9 +269,8 @@ ect_stop_editing (ECellTextView *text_view, gboolean commit) old_text = edit->old_text; text = edit->text; - if (edit->invisible) { - g_object_weak_unref (G_OBJECT (edit->invisible), invisible_finalize, edit); - } + if (edit->invisible) + gtk_widget_destroy (edit->invisible); if (edit->tep) g_object_unref (edit->tep); if (edit->primary_selection) @@ -2215,8 +2206,6 @@ static GtkWidget *e_cell_text_view_get_invisible (CellEdit *edit) g_signal_connect (invisible, "selection_received", G_CALLBACK (_selection_received), edit); - - g_object_weak_ref (G_OBJECT (invisible), invisible_finalize, edit); } return edit->invisible; } diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c index af88c5a889..bd6a8f3f67 100644 --- a/widgets/table/e-table-item.c +++ b/widgets/table/e-table-item.c @@ -2545,7 +2545,7 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e) #ifdef DO_TOOLTIPS if (!g_getenv ("GAL_DONT_DO_TOOLTIPS")) { - if (eti->tooltip->timer > 0) + if (eti->tooltip->timer) gtk_timeout_remove (eti->tooltip->timer); eti->tooltip->col = col; eti->tooltip->row = row; @@ -2779,7 +2779,7 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e) d(leave = TRUE); case GDK_ENTER_NOTIFY: d(g_print("%s: %s received\n", __FUNCTION__, leave ? "GDK_LEAVE_NOTIFY" : "GDK_ENTER_NOTIFY")); - if (eti->tooltip->timer > 0) + if (eti->tooltip->timer) gtk_timeout_remove (eti->tooltip->timer); eti->tooltip->timer = 0; break; diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c index 1fff0eb560..13635f4aa9 100644 --- a/widgets/table/e-tree-table-adapter.c +++ b/widgets/table/e-tree-table-adapter.c @@ -474,7 +474,7 @@ update_node(ETreeTableAdapter *etta, ETreePath path) closure.paths = NULL; if (gnode) - g_node_traverse(gnode, G_IN_ORDER, G_TRAVERSE_ALL, -1, check_expanded, &closure); + g_node_traverse(gnode, G_POST_ORDER, G_TRAVERSE_ALL, -1, check_expanded, &closure); if (e_tree_model_node_is_root(etta->priv->source, path)) generate_tree(etta, path); @@ -484,7 +484,8 @@ update_node(ETreeTableAdapter *etta, ETreePath path) } for (l = closure.paths; l; l = l->next) - e_tree_table_adapter_node_set_expanded (etta, l->data, !closure.expanded); + if (lookup_gnode(etta, l->data)) + e_tree_table_adapter_node_set_expanded (etta, l->data, !closure.expanded); g_slist_free(closure.paths); } |