summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/core/environment.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/ranger/core/environment.py b/ranger/core/environment.py
index 90f0fefa..45fa7f4c 100644
--- a/ranger/core/environment.py
+++ b/ranger/core/environment.py
@@ -120,11 +120,14 @@ class Environment(SettingsAware, SignalDispatcher):
 		"""Delete unused directory objects"""
 		for key in tuple(self.directories):
 			value = self.directories[key]
-			if age == -1 or \
-					(value.is_older_than(age) and not value in self.pathway):
-				del self.directories[key]
-				if value.is_directory:
-					value.files = None
+			if age != -1:
+				if not value.is_older_than(age) or value in self.pathway:
+					continue
+				if value in self.fm.tabs.values():
+					continue
+			del self.directories[key]
+			if value.is_directory:
+				value.files = None
 		self.settings.signal_garbage_collect()
 		self.signal_garbage_collect()