summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nautilus-notebook.c18
-rw-r--r--src/nautilus-notebook.h2
-rw-r--r--src/nautilus-window.c5
3 files changed, 24 insertions, 1 deletions
diff --git a/src/nautilus-notebook.c b/src/nautilus-notebook.c
index 7d6ca52ac..db66d90ee 100644
--- a/src/nautilus-notebook.c
+++ b/src/nautilus-notebook.c
@@ -188,6 +188,24 @@ nautilus_notebook_init (NautilusNotebook *notebook)
#endif
}
+gboolean
+nautilus_notebook_contains_slot (NautilusNotebook *notebook,
+ NautilusWindowSlot *slot)
+{
+ GList *children;
+ GList *l;
+ gboolean found = FALSE;
+
+ children = gtk_container_get_children (GTK_CONTAINER (notebook));
+ for (l = children; l != NULL && !found; l = l->next) {
+ found = l->data == slot;
+ }
+
+ g_list_free (children);
+
+ return found;
+}
+
void
nautilus_notebook_sync_loading (NautilusNotebook *notebook,
NautilusWindowSlot *slot)
diff --git a/src/nautilus-notebook.h b/src/nautilus-notebook.h
index eade6f298..d81068657 100644
--- a/src/nautilus-notebook.h
+++ b/src/nautilus-notebook.h
@@ -79,6 +79,8 @@ gboolean nautilus_notebook_can_reorder_current_child_relative (NautilusNo
void nautilus_notebook_prev_page (NautilusNotebook *notebook);
void nautilus_notebook_next_page (NautilusNotebook *notebook);
+gboolean nautilus_notebook_contains_slot (NautilusNotebook *notebook,
+ NautilusWindowSlot *slot);
G_END_DECLS
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index e1753f614..4c9170953 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -795,7 +795,10 @@ nautilus_window_sync_allow_stop (NautilusWindow *window,
update_cursor (window);
}
- nautilus_notebook_sync_loading (NAUTILUS_NOTEBOOK (window->priv->notebook), slot);
+ /* Avoid updating the notebook if we are calling on dispose or
+ * on removal of a notebook tab */
+ if (nautilus_notebook_contains_slot (NAUTILUS_NOTEBOOK (window->priv->notebook), slot))
+ nautilus_notebook_sync_loading (NAUTILUS_NOTEBOOK (window->priv->notebook), slot);
}
}