summary refs log tree commit diff stats
path: root/ranger
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2011-10-03 01:04:01 +0200
committerhut <hut@lavabit.com>2011-10-03 01:04:01 +0200
commitaee68749667e2fe6a91d034f65f919bcdf57f806 (patch)
tree3b33c14855ee9a47317611e5a82145d04c3cc49c /ranger
parentc24687524b8faca37a48ac53c90331ea2308542f (diff)
downloadranger-aee68749667e2fe6a91d034f65f919bcdf57f806.tar.gz
core.environment: trying to fix garbage collection error
Diffstat (limited to 'ranger')
-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()