Am 28.08.2012, 01:56 Uhr, schrieb Daniel Nicoletti <dantt...@gmail.com>:

a) add an eventfilter on the application to suck all input events (for that window) so clicking apply etc. isn't possible and the window also will not
receive close events
b) intercept sigterm and reject it as long as you're waiting for the async
return
The main problem won't be fixed with this, a kquitapp will still crash
the application.

Is kquitapp really the main problem?
You can hook onto aboutToQuit() and ensure to get rid of the external depends (SIGTERM the password dialog?) but i don't thinks it's possible to block exit(0) calls.

(tho maybe b could work but to me seems quite complex...)
No. exit(0) does not raise(SIGTERM) or any signal - unfortunately (why kquitapp and exporting exit to dbus - let's say i'd not have done that)


Can you point to the troublesome code?
Atm i'm frankly not even sure whether the client or the password dialog should manage this (latter could do hardly more than either grab input and ensure it's not passed to the client or sigstop the client - but that does not prevent X11 event processing, they're queued and the client will process them as long as the queue did not get flushwiped on SIGCONT) - also this means that the client won't be able to process anything else interim (including dbus calls) - until it's continued, of course.

Cheers,
Thomas

Reply via email to