GNOME Bugzilla – Bug 739719
meld: doesn't react to SIGINT anymore
Last modified: 2014-11-21 22:21:51 UTC
From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768180 : Package: meld Version: 3.12.1-1 Severity: important Hi. Apparently meld doesn't react to siging anymore. $ meld * ^C^C ^C^C^C^CTraceback (most recent call last):
+ Trace 234310
def do_motion_notify_event(self, event): KeyboardInterrupt ^C
Marking this a important since many 3rd party programs depend on this standard behaviour. Cheers, Chris.
(In reply to comment #0) > Apparently meld doesn't react to siging anymore. > $ meld * > ^C^C > ^C^C^C^CTraceback (most recent call last): Yeah, this is somewhat annoying. This behaviour changed in the GTK 3 port, though I don't know whether it was GObject introspection or GtkApplication or something else. It may well be that catching SIGINT and calling GtkApplication.quit() in the handler will be enough. > Marking this a important since many 3rd party programs depend > on this standard behaviour. Any 3rd party program that relies on this behaviour is awful and the people who wrote it should feel bad. A user can rely on this behaviour, and that's fine and is reason enough to fix it. Meld has *never* done any nice SIGINT handling, but has always just died without cleanup.
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
I'm not sure if it can be solved, but meld 1.8.6 got killed by SIGINT immediately, 3.12.x gets killed only when it gets focus again which is a bit strange from a user's perspective.
Yeah I'd noticed that, but didn't think much of it. I'll see if I can fix it, but honestly it's pretty low priority. It doesn't always require a refocus either; being visible on screen may do it, and mousing over does fairly reliably. I'm a bit stumped as to what's actually going on here, so any ideas would be great.
This should be fixed on master. We're now hooking our signal handle in directly using GLib, which quits straight away.