On Tuesday 23 of February 2010, Hans-Peter Jansen wrote:
Hi,
I suffer from a 100% reproducible crash on eric shutdown. All it takes is running eric, load a file, split the view "New view (with new split)" via context menu, and quit.
Since neither Phil Thompson nor Detlev Offenbach is able to reproduce this, it's probably due to the Qt/KDE integration.
The offending line is this: painting/qwindowsurface_x11.cpp:84 84 XFreeGC(X11->display, gc);
I guess, it's X11 being NULL at that time. For PyQt, it's nearly impossible to control the order of d'tors during tear down due to the Python garbage collector behavior. Would it be enough to check for X11 != NULL at this point?
Not really, I expect it would crash exactly the same way in some other place. QWidget really shouldn't be deleted when the application object's already gone.
Would such a check be accepted from openSUSE Qt4 maintainers, if it's successfully avoiding this crash? Could other reasons influence this behavior?
Fixes for Qt should be preferably discussed with upstream, but here I think you rather need to talk to the bindings developers. I have no experience with bindings for KDE/Qt, but I consider this to be a major flaw. IMO an object simply should not be destroyed after the QApplication cleanup, as I simply don't consider it to be feasible to handle that gracefully. If Python itself can't handle this, then the bindings should do that somehow. -- Lubos Lunak openSUSE Boosters team, KDE developer l.lunak@suse.cz , l.lunak@kde.org -- To unsubscribe, e-mail: opensuse-kde+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-kde+help@opensuse.org