Bug 68559 - crash on clicking docbook compilation errors in messages window
Summary: crash on clicking docbook compilation errors in messages window
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 3.0.0b1
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KDevelop Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-19 05:19 UTC by klee
Modified: 2003-11-19 08:59 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 klee 2003-11-19 05:19:54 UTC
Version:           3.0.0b1 (using KDE 3.1.93 (CVS >= 20031111), yes)
Compiler:          gcc version 3.2
OS:          Linux (i686) release 2.4.21-1up.1

To trigger a reproducible crash:

1. I open a KDevelop project and close *all* my document windows, so that no files are open and the main workspace is empty.  I am using the IDEAL MDI mode.

2. I compile my project's docs, and I get errors in a docbook file.

3. I click on the error message.  This makes the docbook file open in the main workspace.

4. I close this file, so that the workspace is again empty.    This also makes the messages window disappear.

5. I reopen the messages window and click on the same error message (or, actually, any docbook error message).  This should open a new document window with the same file.  Instead, it crashes.

Oddly enough, this crash does not happen when I introduce a compilation error into a C++ file in the very same project, and repeat the above steps.  It does happen whenever I click on a docbook error message, close the window, and click on another docbook error message twice in a row.

Backtrace follows.  I am using latest qt-copy and kde* out of HEAD from a few days ago.

[New Thread 1024 (LWP 32731)]
[New Thread 2049 (LWP 32762)]
[New Thread 1026 (LWP 32763)]
0x420b48b9 in wait4 () from /lib/i686/libc.so.6
#0  0x420b48b9 in wait4 () from /lib/i686/libc.so.6
#1  0x4213030c in __DTOR_END__ () from /lib/i686/libc.so.6
#2  0x419b0c33 in waitpid () from /lib/i686/libpthread.so.0
#3  0x40dab222 in KCrash::defaultCrashHandler(int) ()
   from /scratch/klee/kde/lib/libkdecore.so.4
#4  0x419aef05 in pthread_sighandler () from /lib/i686/libpthread.so.0
#5  <signal handler called>
#6  0x40bbcfed in KDockManager::removeFromAutoCreateList(KDockWidget*) ()
   from /scratch/klee/kde/lib/libkdeui.so.4
#7  0x404c3978 in KMdiMainFrm::addToolWindow(QWidget*, KDockWidget::DockPosition, QWidget*, int, QString const&, QString const&) ()
   from /scratch/klee/kde/lib/libkmdi.so.1
#8  0x0806522b in MainWindow::embedSelectView(QWidget*, QString const&, QString const&) ()
#9  0x41f4a5a1 in TextToolsPart::createWidget() ()
   from /scratch/klee/kde/lib/kde3/libkdevtexttools.so
#10 0x41f4aabd in TextToolsPart::activePartChanged(KParts::Part*) ()
   from /scratch/klee/kde/lib/kde3/libkdevtexttools.so
#11 0x41f4afc2 in TextToolsPart::qt_invoke(int, QUObject*) ()
   from /scratch/klee/kde/lib/kde3/libkdevtexttools.so
#12 0x41173918 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#13 0x4064ee85 in KParts::PartManager::activePartChanged(KParts::Part*) ()
   from /scratch/klee/kde/lib/libkparts.so.2
#14 0x4064e196 in KParts::PartManager::setActivePart(KParts::Part*, QWidget*)
    () from /scratch/klee/kde/lib/libkparts.so.2
#15 0x4064da5c in KParts::PartManager::addPart(KParts::Part*, bool) ()
   from /scratch/klee/kde/lib/libkparts.so.2
#16 0x0806f3fe in PartController::integratePart(KParts::Part*, KURL const&, bool) ()
#17 0x0806dce7 in PartController::editDocument(KURL const&, int, int) ()
#18 0x41d18eb1 in MakeWidget::searchItem(int) ()
   from /scratch/klee/kde/lib/kde3/libkdevoutputviews.so
#19 0x41d17acb in MakeWidget::contentsMouseReleaseEvent(QMouseEvent*) ()
   from /scratch/klee/kde/lib/kde3/libkdevoutputviews.so
#20 0x41281569 in QScrollView::viewportMouseReleaseEvent(QMouseEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#21 0x41280e97 in QScrollView::eventFilter(QObject*, QEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#22 0x412c9b8f in QTextEdit::eventFilter(QObject*, QEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#23 0x4117151e in QObject::activate_filters(QEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#24 0x41171441 in QObject::event(QEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#25 0x411a816c in QWidget::event(QEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#26 0x41118ad5 in QApplication::internalNotify(QObject*, QEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#27 0x4111826c in QApplication::notify(QObject*, QEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#28 0x40d0260e in KApplication::notify(QObject*, QEvent*) ()
   from /scratch/klee/kde/lib/libkdecore.so.4
#29 0x410b1cc6 in QETWidget::translateMouseEvent(_XEvent const*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#30 0x410af4d4 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#31 0x410c5af7 in QEventLoop::processEvents(unsigned) ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#32 0x4112bca6 in QEventLoop::enterLoop() ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#33 0x4112bb48 in QEventLoop::exec() ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#34 0x41118d21 in QApplication::exec() ()
   from /scratch/klee/kde/qt/lib/libqt-mt.so.3
#35 0x0806271b in main ()
#36 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6
Comment 1 klee 2003-11-19 05:20:44 UTC
Argh, sorry, this should be "crash" severity.
Comment 2 Jens Dagerbo 2003-11-19 08:59:09 UTC
Subject: kdevelop/parts/texttools

CVS commit by dagerbo: 


Apparently embedding/removing/embedding isn't healthy with the new 
KMDI implementation, so let's avoid that. :)

This slightly changes the behaviour of the TextToolsPart. It will no
longer hide when the active window isn't a .html, .docbook or .tex file, 
just clear it's contents. It will have to do for now.


CCMAIL: 68559-done@bugs.kde.org


  M +4 -3      texttoolspart.cpp   1.10


--- kdevelop/parts/texttools/texttoolspart.cpp  #1.9:1.10
@@ -52,5 +52,5 @@ void TextToolsPart::createWidget()
     if (m_widget)
     {
-        mainWindow()->embedSelectView(m_widget, i18n("Text Structure"), i18n("Text structure"));
+//        mainWindow()->embedSelectView(m_widget, i18n("Text Structure"), i18n("Text structure"));
         return;
     }
@@ -89,6 +89,7 @@ void TextToolsPart::activePartChanged(KP
         m_widget->setMode(TextToolsWidget::LaTeX, rwpart);
     } else if (m_widget) {
-        kdDebug(9030) << "hide output view" << endl;
-        mainWindow()->removeView(m_widget);
+//        kdDebug(9030) << "hide output view" << endl;
+//        mainWindow()->removeView(m_widget);
+        m_widget->clear();
     }
 }