From 74c11f939235b9f1fb498e0c4999843d0448511c Mon Sep 17 00:00:00 2001 From: Kai Willadsen Date: Sat, 20 May 2017 08:54:08 +1000 Subject: [PATCH] meldwindow: Add our scheduler idle hook with higher priority According to the glib docs, HIGH_IDLE + 10 is resize priority, and HIGH_IDLE + 20 is redraw priority (where lower number means higher priority). In other words, this change pulls our idle handle that does scheduled tasks above GTK+'s resize + redraw loops, so that we'll make task progress in favour of repainting. This might help work around a bug on Windows where with enough tabs, the spinner widget takes up so much drawing/relayout time that we never actually hit the GLib idle loop. --- meld/meldwindow.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meld/meldwindow.py b/meld/meldwindow.py index ce9dbd8..8bb8e36 100644 --- a/meld/meldwindow.py +++ b/meld/meldwindow.py @@ -297,7 +297,8 @@ class MeldWindow(gnomeglade.Component): self.spinner.show() self.spinner.start() self.actiongroup.get_action("Stop").set_sensitive(True) - self.idle_hooked = GLib.idle_add(self.on_idle) + self.idle_hooked = GLib.idle_add( + self.on_idle, priority=GLib.PRIORITY_HIGH_IDLE) def on_delete_event(self, *extra): should_cancel = False -- 2.9.3