diff options
author | Christian Neumair <cneumair@gnome.org> | 2008-03-22 18:29:13 +0000 |
---|---|---|
committer | Christian Neumair <cneumair@src.gnome.org> | 2008-03-22 18:29:13 +0000 |
commit | ab0ba61800cb60e38272362f807db987b814a8d7 (patch) | |
tree | 4f0c52819e9cf03c89455e6fb82001e96cd04738 | |
parent | a623c0892928af7c15df20e1db8efde5f0561e06 (diff) | |
download | nautilus-ab0ba61800cb60e38272362f807db987b814a8d7.tar.gz |
Do not try to hide zoom control if we are already destroyed.
2008-03-22 Christian Neumair <cneumair@gnome.org>
* src/nautilus-navigation-window.c: (real_disconnect_content_view):
Do not try to hide zoom control if we are already destroyed.
* src/nautilus-spatial-window.c (real_close_slot):
Do not assert that the slot is currently active.
* src/nautilus-window.c (nautilus_window_destroy),
(nautilus_window_close):
Move slot close code from close() to destroy().
svn path=/branches/multiview/; revision=13969
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | src/nautilus-navigation-window.c | 7 | ||||
-rw-r--r-- | src/nautilus-spatial-window.c | 1 | ||||
-rw-r--r-- | src/nautilus-window.c | 24 |
4 files changed, 31 insertions, 15 deletions
@@ -1,4 +1,16 @@ -2008-03-22 Christian Neumair <chris@ubuntu-t43> +2008-03-22 Christian Neumair <cneumair@gnome.org> + + * src/nautilus-navigation-window.c: (real_disconnect_content_view): + Do not try to hide zoom control if we are already destroyed. + + * src/nautilus-spatial-window.c (real_close_slot): + Do not assert that the slot is currently active. + + * src/nautilus-window.c (nautilus_window_destroy), + (nautilus_window_close): + Move slot close code from close() to destroy(). + +2008-03-22 Christian Neumair <cneumair@gnome.org> * src/file-manager/fm-directory-view.c (hidden_files_mode_changed), (slot_active), (fm_directory_view_init), diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c index bb6fb8406..bb0d5b4d8 100644 --- a/src/nautilus-navigation-window.c +++ b/src/nautilus-navigation-window.c @@ -1042,7 +1042,12 @@ real_disconnect_content_view (NautilusWindow *nautilus_window, G_CALLBACK (zoom_level_changed_callback), window); - gtk_widget_hide (window->zoom_control); + if (window->zoom_control != NULL) { + /* if we run in destroy(), the + * zoom control is already gone + */ + gtk_widget_hide (window->zoom_control); + } } static void diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c index 4a25f24fb..bf6edf624 100644 --- a/src/nautilus-spatial-window.c +++ b/src/nautilus-spatial-window.c @@ -520,7 +520,6 @@ static void real_close_slot (NautilusWindow *window, NautilusWindowSlot *slot) { - g_assert (window->details->active_slot == slot); g_assert (g_list_length (window->details->slots) == 1); /* nothing to do */ diff --git a/src/nautilus-window.c b/src/nautilus-window.c index d24c0f7dd..a72c6206b 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -646,9 +646,21 @@ static void nautilus_window_destroy (GtkObject *object) { NautilusWindow *window; + NautilusWindowSlot *slot; + GList *l, *slots; window = NAUTILUS_WINDOW (object); + nautilus_window_set_active_slot (window, NULL); + + /* close all slots */ + slots = g_list_copy (window->details->slots); + for (l = slots; l != NULL; l = l->next) { + slot = NAUTILUS_WINDOW_SLOT (l->data); + nautilus_window_close_slot (window, slot); + } + g_list_free (slots); + nautilus_window_manage_views_destroy (window); GTK_OBJECT_CLASS (nautilus_window_parent_class)->destroy (object); @@ -728,20 +740,8 @@ nautilus_window_show_window (NautilusWindow *window) void nautilus_window_close (NautilusWindow *window) { - NautilusWindowSlot *slot; - GList *l, *slots; - g_return_if_fail (NAUTILUS_IS_WINDOW (window)); - nautilus_window_set_active_slot (window, NULL); - - slots = g_list_copy (window->details->slots); - for (l = slots; l != NULL; l = l->next) { - slot = NAUTILUS_WINDOW_SLOT (l->data); - nautilus_window_close_slot (window, slot); - } - g_list_free (slots); - EEL_CALL_METHOD (NAUTILUS_WINDOW_CLASS, window, close, (window)); |