From c278eac390bd37c5ca8b319ed15605211822c08f Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sun, 23 Jul 2017 01:15:13 +0200 Subject: Fix GUI loopers GTK: If modify() was called more than once inside callback it would leak watches QT: Printed warnings as QSocketNotifier was still enabled when socket was closed --- src/gui_gtk.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/gui_gtk.cc') diff --git a/src/gui_gtk.cc b/src/gui_gtk.cc index 4c1cc13..be9fa96 100644 --- a/src/gui_gtk.cc +++ b/src/gui_gtk.cc @@ -1470,7 +1470,11 @@ public: } auto& handle = it->second; if (handle->in_callback_) { - handle->delayed_remove_ = true; + if (handle->delayed_remove_) { + g_source_remove(handle->watch_); + } else { + handle->delayed_remove_ = true; + } } else { g_source_remove(handle->watch_); } -- cgit v1.2.3-70-g09d2