summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2008-02-21 09:32:02 +0000
committerCosimo Cecchi <cosimoc@src.gnome.org>2008-02-21 09:32:02 +0000
commitd8766d6f1b1a3aef19afde5a98544d4bdcede373 (patch)
treefd84131fac5552444dbec0741ae30bfa7a2f59c7
parentdef1d44ac2ddbc8ccc5b33fa7e72e5e46b230636 (diff)
downloadnautilus-d8766d6f1b1a3aef19afde5a98544d4bdcede373.tar.gz
Stop closing parent windows at Desktop in spatial mode only if it's not
2008-02-21 Cosimo Cecchi <cosimoc@gnome.org> * src/nautilus-application.c: (find_parent_spatial_window): Stop closing parent windows at Desktop in spatial mode only if it's not explicitly opened in a spatial window. (#515180). svn path=/trunk/; revision=13791
-rw-r--r--ChangeLog6
-rw-r--r--src/nautilus-application.c15
2 files changed, 14 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index b0e962a1f..d91ac9099 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-02-21 Cosimo Cecchi <cosimoc@gnome.org>
+ * src/nautilus-application.c: (find_parent_spatial_window):
+ Stop closing parent windows at Desktop in spatial mode only if it's
+ not explicitly opened in a spatial window. (#515180).
+
+2008-02-21 Cosimo Cecchi <cosimoc@gnome.org>
+
* src/nautilus-pathbar.c: (trash_state_changed_cb),
(nautilus_path_bar_init):
Update the trash icon on the pathbar according to the trash state.
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index 41aade720..1172cb946 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -923,17 +923,18 @@ find_parent_spatial_window (NautilusSpatialWindow *window)
while (parent_file) {
NautilusSpatialWindow *parent_window;
- /* Stop at the desktop directory, as this is the
- * conceptual root of the spatial windows */
- if (nautilus_file_is_desktop_directory (parent_file)) {
- nautilus_file_unref (parent_file);
- return NULL;
- }
-
location = nautilus_file_get_location (parent_file);
parent_window = nautilus_application_get_existing_spatial_window (location);
g_object_unref (location);
+ /* Stop at the desktop directory if it's not explicitely opened
+ * in a spatial window of its own.
+ */
+ if (nautilus_file_is_desktop_directory (parent_file) && !parent_window) {
+ nautilus_file_unref (parent_file);
+ return NULL;
+ }
+
if (parent_window) {
nautilus_file_unref (parent_file);
return parent_window;