Version: 3.0.0a5 (using KDE 3.1.9) Compiler: gcc version 3.3.1 20030626 (Debian prerelease) OS: Linux (i686) release 2.4.20-3-k7 Disable the File Groups part in the project config dialog, press OK. The part tries to do stuff after it's deleted. [New Thread 16384 (LWP 13530)] [New Thread 32769 (LWP 13575)] [New Thread 32770 (LWP 13577)] 0x419faaf9 in wait4 () from /lib/libc.so.6 #0 0x419faaf9 in wait4 () from /lib/libc.so.6 #1 0x41a6df60 in sys_sigabbrev () from /lib/libc.so.6 #2 0x4246f914 in vtable for FileGroupsConfigWidget () from /usr/local/kde/lib/kde3/libkdevfilegroups.so #3 0x419faaab in waitpid () from /lib/libc.so.6 #4 0x41827061 in waitpid () from /lib/libpthread.so.0 #5 0x40dec6f7 in KCrash::defaultCrashHandler(int) (sig=11) at /home/john/src/kde/kdelibs/kdecore/kcrash.cpp:240 #6 <signal handler called> #7 0x080af146 in KDevApi::projectDom() (this=0x2f006c) at /home/john/src/kde/kdevelop/lib/interfaces/kdevapi.cpp:139 #8 0x080b228f in KDevPlugin::projectDom() const (this=0x8872128) at /home/john/src/kde/kdevelop/lib/interfaces/kdevplugin.cpp:108 #9 0x4246a2fb in FileGroupsConfigWidget::storeConfig() (this=0x8c1e958) at /home/john/src/kde/kdevelop/parts/fileview/filegroupsconfigwidget.cpp:66 #10 0x4246a722 in FileGroupsConfigWidget::accept() (this=0x8c1e958) at /home/john/src/kde/kdevelop/parts/fileview/filegroupsconfigwidget.cpp:114 #11 0x4246a940 in FileGroupsConfigWidget::qt_invoke(int, QUObject*) (this=0x8c1e958, _id=50, _o=0xbfffe640) at filegroupsconfigwidget.moc:82 #12 0x4121e76c in QObject::activate_signal(QConnectionList*, QUObject*) (this=0xbfffef40, clist=0x88086e0, o=0xbfffe640) at kernel/qobject.cpp:2357 #13 0x4121e4be in QObject::activate_signal(int) (this=0xbfffef40, signal=10) at kernel/qobject.cpp:2302 #14 0x40ba9783 in KDialogBase::okClicked() (this=0xbfffef40) at kdialogbase.moc:263 #15 0x40ba7278 in KDialogBase::slotOk() (this=0xbfffef40) at /home/john/src/kde/kdelibs/kdeui/kdialogbase.cpp:1117 #16 0x40ba9e3f in KDialogBase::qt_invoke(int, QUObject*) (this=0xbfffef40, _id=73, _o=0xbfffe760) at kdialogbase.moc:359 #17 0x4121e61f in QObject::activate_signal(QConnectionList*, QUObject*) (this=0x88fc460, clist=0x8837e78, o=0xbfffe760) at kernel/qobject.cpp:2333 #18 0x4121e4be in QObject::activate_signal(int) (this=0x88fc460, signal=4) at kernel/qobject.cpp:2302 #19 0x4155d0db in QButton::clicked() (this=0x88fc460) at .moc/debug-shared-mt/moc_qbutton.cpp:152 #20 0x412b16d7 in QButton::mouseReleaseEvent(QMouseEvent*) (this=0x88fc460, e=0xbfffeaf0) at widgets/qbutton.cpp:820 #21 0x41255a15 in QWidget::event(QEvent*) (this=0x88fc460, e=0xbfffeaf0) at kernel/qwidget.cpp:4412 #22 0x411bc029 in QApplication::internalNotify(QObject*, QEvent*) (this=0xbffffa30, receiver=0x88fc460, e=0xbfffeaf0) at kernel/qapplication.cpp:2578 #23 0x411bb7ed in QApplication::notify(QObject*, QEvent*) (this=0xbffffa30, receiver=0x88fc460, e=0xbfffeaf0) at kernel/qapplication.cpp:2365 #24 0x40d62187 in KApplication::notify(QObject*, QEvent*) (this=0xbffffa30, receiver=0x88fc460, event=0xbfffeaf0) at /home/john/src/kde/kdelibs/kdecore/kapplication.cpp:460 #25 0x4115388d in QApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=0x88fc460, event=0xbfffeaf0) at qapplication.h:493 #26 0x4114d123 in QETWidget::translateMouseEvent(_XEvent const*) (this=0x88fc460, event=0xbfffede0) at kernel/qapplication_x11.cpp:4349 #27 0x4114ae4c in QApplication::x11ProcessEvent(_XEvent*) (this=0xbffffa30, event=0xbfffede0) at kernel/qapplication_x11.cpp:3525 #28 0x41164d3c in QEventLoop::processEvents(unsigned) (this=0x810ba10, flags=4) at kernel/qeventloop_x11.cpp:192 #29 0x411d196a in QEventLoop::enterLoop() (this=0x810ba10) at kernel/qeventloop.cpp:198 #30 0x411bc209 in QApplication::enter_loop() (this=0xbffffa30) at kernel/qapplication.cpp:2733 #31 0x413b1a6b in QDialog::exec() (this=0xbfffef40) at dialogs/qdialog.cpp:368 #32 0x08084e51 in ProjectManager::slotProjectOptions() (this=0x81bd048) at /home/john/src/kde/kdevelop/src/projectmanager.cpp:151 #33 0x08087b85 in ProjectManager::qt_invoke(int, QUObject*) (this=0x81bd048, _id=6, _o=0xbffff0b0) at projectmanager.moc:111 #34 0x4121e61f in QObject::activate_signal(QConnectionList*, QUObject*) (this=0x81be548, clist=0x81be738, o=0xbffff0b0) at kernel/qobject.cpp:2333 #35 0x4121e4be in QObject::activate_signal(int) (this=0x81be548, signal=2) at kernel/qobject.cpp:2302 #36 0x40b1624e in KAction::activated() (this=0x81be548) at kaction.moc:157 #37 0x40b15c2a in KAction::slotActivated() (this=0x81be548) at /home/john/src/kde/kdelibs/kdeui/kaction.cpp:1054 #38 0x40b16544 in KAction::qt_invoke(int, QUObject*) (this=0x81be548, _id=14, _o=0xbffff1c0) at kaction.moc:181 #39 0x4121e61f in QObject::activate_signal(QConnectionList*, QUObject*) (this=0x8177eb0, clist=0x8177d40, o=0xbffff1c0) at kernel/qobject.cpp:2333 #40 0x415558c8 in QSignal::signal(QVariant const&) (this=0x8177eb0, t0=@0x8177ed8) at .moc/debug-shared-mt/moc_qsignal.cpp:100 #41 0x4123b799 in QSignal::activate() (this=0x8177eb0) at kernel/qsignal.cpp:204 #42 0x4132f272 in QPopupMenu::mouseReleaseEvent(QMouseEvent*) (this=0x81d7488, e=0xbffff5c0) at widgets/qpopupmenu.cpp:1672 #43 0x41255a15 in QWidget::event(QEvent*) (this=0x81d7488, e=0xbffff5c0) at kernel/qwidget.cpp:4412 #44 0x411bc029 in QApplication::internalNotify(QObject*, QEvent*) (this=0xbffffa30, receiver=0x81d7488, e=0xbffff5c0) at kernel/qapplication.cpp:2578 #45 0x411bb7ed in QApplication::notify(QObject*, QEvent*) (this=0xbffffa30, receiver=0x81d7488, e=0xbffff5c0) at kernel/qapplication.cpp:2365 #46 0x40d62187 in KApplication::notify(QObject*, QEvent*) (this=0xbffffa30, receiver=0x81d7488, event=0xbffff5c0) at /home/john/src/kde/kdelibs/kdecore/kapplication.cpp:460 #47 0x4115388d in QApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=0x81d7488, event=0xbffff5c0) at qapplication.h:493 #48 0x4114cea2 in QETWidget::translateMouseEvent(_XEvent const*) (this=0x81d7488, event=0xbffff8b0) at kernel/qapplication_x11.cpp:4291 #49 0x4114ae4c in QApplication::x11ProcessEvent(_XEvent*) (this=0xbffffa30, event=0xbffff8b0) at kernel/qapplication_x11.cpp:3525 #50 0x41164d3c in QEventLoop::processEvents(unsigned) (this=0x810ba10, flags=4) at kernel/qeventloop_x11.cpp:192 #51 0x411d196a in QEventLoop::enterLoop() (this=0x810ba10) at kernel/qeventloop.cpp:198 #52 0x411d1886 in QEventLoop::exec() (this=0x810ba10) at kernel/qeventloop.cpp:145 #53 0x411bc19f in QApplication::exec() (this=0xbffffa30) at kernel/qapplication.cpp:2701 #54 0x0807352a in main (argc=3, argv=0xbffffbb4) at /home/john/src/kde/kdevelop/src/main.cpp:125
Subject: kdevelop/parts/fileview CVS commit by dymo: Fixed crash after disabling File Groups part in the project options dialog CCMAIL: 60864-done@bugs.kde.org M +5 -1 filegroupspart.cpp 1.7 M +1 -0 filegroupspart.h 1.2 --- kdevelop/parts/fileview/filegroupspart.cpp #1.6:1.7 @@ -35,4 +35,5 @@ FileGroupsPart::FileGroupsPart(QObject * : KDevPlugin("FileGroups", "filegroups", parent, name ? name : "FileGroupsPart") { + deleteRequested = false; setInstance(FileGroupsFactory::instance()); @@ -62,4 +63,5 @@ FileGroupsPart::FileGroupsPart(QObject * FileGroupsPart::~FileGroupsPart() { + deleteRequested = true; if (m_filegroups) mainWindow()->removeView(m_filegroups); @@ -69,4 +71,6 @@ FileGroupsPart::~FileGroupsPart() void FileGroupsPart::refresh() { + if (deleteRequested) + return; // This method may be called from m_filetree's slot, // so we make sure not to modify the list view during --- kdevelop/parts/fileview/filegroupspart.h #1.1:1.2 @@ -35,4 +35,5 @@ private slots: private: QGuardedPtr<FileGroupsWidget> m_filegroups; + bool deleteRequested; };