Bug 60864 - crashes after disabling File Groups part
Summary: crashes after disabling File Groups part
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: file groups (show other bugs)
Version: git master
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KDevelop Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-07 05:55 UTC by John Firebaugh
Modified: 2003-07-25 12:57 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Firebaugh 2003-07-07 05:55:54 UTC
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
Comment 1 Alexander Dymo 2003-07-25 12:57:13 UTC
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;
 };