about summary refs log tree commit diff stats
path: root/ranger/fsobject/loader.py
diff options
context:
space:
mode:
Diffstat (limited to 'ranger/fsobject/loader.py')
-rw-r--r--ranger/fsobject/loader.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/ranger/fsobject/loader.py b/ranger/fsobject/loader.py
index 00992651..483595c3 100644
--- a/ranger/fsobject/loader.py
+++ b/ranger/fsobject/loader.py
@@ -37,12 +37,16 @@ class Loader(object):
 		self.queue.appendleft(obj)
 
 	def work(self):
-		if not self.queue:
-			return
-
-		item = self.queue[0]
-		if item.load_generator is None:
-			self.queue.popleft()
+		while True:
+			# get the first item with a proper load_generator
+			try:
+				item = self.queue[0]
+				if item.load_generator is None:
+					self.queue.popleft()
+				else:
+					break
+			except IndexError:
+				return
 
 		self.rotate()
 		self.tick += 1