Version: (using KDE 4.4.0) OS: Linux Installed from: Compiled From Sources 1. create a session with two mainwindows. 2. choose mainwindow2 and switch to a session with only one mainwindow 3. crash Choosing mainwindow1 and then switching to a session with only one mainwindow works. This indicates that the current code path is in mainwindow2, which gets deleted. Possible solution: use single-shot timer. Backtrace: Application: Kate (kate), signal: Segmentation fault [KCrash Handler] #6 0xb6945e61 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #7 0xb6df13b3 in QActionGroup::selected () from /usr/lib/libQtGui.so.4 #8 0xb6df1ca4 in ?? () from /usr/lib/libQtGui.so.4 #9 0xb6df1eae in QActionGroup::qt_metacall () from /usr/lib/libQtGui.so.4 #10 0xb69451b8 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #11 0xb69455f0 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #12 0xb6dec6c1 in QAction::triggered () from /usr/lib/libQtGui.so.4 #13 0xb6dedc3f in QAction::activate () from /usr/lib/libQtGui.so.4 #14 0xb723f0e4 in ?? () from /usr/lib/libQtGui.so.4 #15 0xb724583b in ?? () from /usr/lib/libQtGui.so.4 #16 0xb7246382 in QMenu::mouseReleaseEvent () from /usr/lib/libQtGui.so.4 #17 0xb7ad4e15 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5 #18 0xb6e49973 in QWidget::event () from /usr/lib/libQtGui.so.4 #19 0xb7248639 in QMenu::event () from /usr/lib/libQtGui.so.4 #20 0xb6df2d3c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #21 0xb6dfb9b1 in QApplication::notify () from /usr/lib/libQtGui.so.4 #22 0xb79ec49d in KApplication::notify () from /usr/lib/libkdeui.so.5 #23 0xb692fbcb in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #24 0xb6dfaa1e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4 #25 0xb6e6af56 in ?? () from /usr/lib/libQtGui.so.4 #26 0xb6e6a085 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4 #27 0xb6e9537a in ?? () from /usr/lib/libQtGui.so.4 #28 0xb5cf4b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #29 0xb5cf80eb in ?? () from /usr/lib/libglib-2.0.so.0 #30 0xb5cf8268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #31 0xb695b2f8 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #32 0xb6e94a75 in ?? () from /usr/lib/libQtGui.so.4 #33 0xb692e1fa in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #34 0xb692e642 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #35 0xb6930ae9 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #36 0xb6df2bb7 in QApplication::exec () from /usr/lib/libQtGui.so.4 #37 0xb7edb86d in kdemain () from /usr/lib/libkdeinit4_kate.so #38 0x08048672 in _start ()
SVN commit 1090938 by dhaumann: fix crash in switching session with multiple mainwindows (by using a Qt::QueuedConnection for the action invocation) BUG: 227008 M +4 -8 katemainwindow.cpp M +6 -1 katesession.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1090938
SVN commit 1090941 by dhaumann: backport SVN commit 1090938 by dhaumann: fix crash in switching session with multiple mainwindows (by using a Qt::QueuedConnection for the action invocation) CCBUG: 227008 M +3 -9 katemainwindow.cpp M +6 -1 katesession.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1090941