QDialog on stack+exec and dbus quit crash is no more

Thomas Lübking thomas.luebking at gmail.com
Mon Nov 11 19:24:00 GMT 2013


On Montag, 11. November 2013 19:17:22 CEST, Albert Astals Cid wrote:

> Not sure you're understanding what i say, we have an explicit check about 
> QDialog on stack+exec that says "it will crash if you dbus quit".
>
> What I'm saying is that this doesn't happen anymore and we 
> should remove that check.

No idea whether there's a special protection on "quit" (eg. to close all modals first or exit all nested eventloops) but holding a nested eventloop on the stack sounds dangerous and i'd first

a) test whether this leads to trouble if the parent is deleted other than through exit.
b) lookup Q(Meta)Object to see whether there's actual code dealing with nested evetloops on children before deleting them (and re-iterate the potentially collapsed children list)

For at least QObject API for 5.1 says that this is a stupid idea.


c) otherwise alter the warning to "Warning: do not enter nested eventloops on children on the stack unless you really know what you're doing!" - or any degree of further scariness.

Cheers,
Thomas




More information about the kde-core-devel mailing list