M src/pages.py => src/pages.py +3 -3
@@ 357,11 357,11 @@ class PageEvents(Gtk.Box):
ctx = ListBuilderCtx()
ctx.data = data
- ctx.guard = self.timeout = InterruptibleTimeout(50, self.build_list, ctx)
+ self.timeout = InterruptibleTimeout(500, self.build_list, ctx)
- def build_list(self, ctx):
+ def build_list(self, timeout, ctx):
for idx, obj in enumerate(ctx.data):
- if ctx.guard.must_stop():
+ if timeout.must_stop():
return False
header = self.build_header(obj, ctx.lastobj)
M src/utils.py => src/utils.py +3 -2
@@ 38,13 38,14 @@ class InterruptibleTimeout:
if callback:
self._running = True
self._requested_stop = False
- GLib.timeout_add(intervall, self._on_timeout, data)
+ if callback(self, data):
+ GLib.timeout_add(intervall, self._on_timeout, data)
def _on_timeout(self, data):
if self._requested_stop:
res = False
else:
- res = self._callback(data)
+ res = self._callback(self, data)
self._running = res
return res