Version: 0.7.3-beta2 (using KDE 3.4.0 Level "b" , SUSE 9.3 UNSUPPORTED) Compiler: gcc version 3.3.5 20050117 (prerelease) (SUSE Linux) OS: Linux (i686) release 2.6.11.4-20a-default When the image editor is open and a user clicks the right mouse button over the image area (expecting a context menu to appear that probably does not exist) the complete digikam application crashed immedeately.
Confirmed on debian: (no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (no debugging symbols found) `system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols. (no debugging symbols found) [...] (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1234853760 (LWP 27086)] (no debugging symbols found) [...] (no debugging symbols found) [KCrash handler] #4 0xb6f23ebd in QPopupMenu::exec () from /usr/lib/libqt-mt.so.3 #5 0xb7f87b0c in ImageWindow::slotContextMenu () from /usr/lib/libdigikam.so.0 #6 0xb7f8c335 in ImageWindow::qt_invoke () from /usr/lib/libdigikam.so.0 #7 0xb6e1971c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #8 0xb6e19544 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3 #9 0xb7f79dee in Canvas::signalRightButtonClicked () from /usr/lib/libdigikam.so.0 #10 0xb7f7813c in Canvas::contentsMouseReleaseEvent () from /usr/lib/libdigikam.so.0 #11 0xb6f2f842 in QScrollView::viewportMouseReleaseEvent () from /usr/lib/libqt-mt.so.3 #12 0xb6f2f0f9 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3 #13 0xb6e1704e in QObject::activate_filters () from /usr/lib/libqt-mt.so.3 #14 0xb6e16f7c in QObject::event () from /usr/lib/libqt-mt.so.3 #15 0xb6e4faaf in QWidget::event () from /usr/lib/libqt-mt.so.3 #16 0xb6dbce1f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #17 0xb6dbc514 in QApplication::notify () from /usr/lib/libqt-mt.so.3 #18 0xb73f6ac5 in KApplication::notify () from /usr/lib/libkdecore.so.4 #19 0xb6d515b0 in QETWidget::translateMouseEvent () from /usr/lib/libqt-mt.so.3 #20 0xb6d4f23e in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 #21 0xb6d66254 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #22 0xb6dcf1d8 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #23 0xb6dcf088 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #24 0xb6dbd071 in QApplication::exec () from /usr/lib/libqt-mt.so.3 #25 0x0804a67a in main ()
SVN commit 409377 by pahlibar: BUGS: 105007 The context menu is built out of xmlgui. if the user has an old version of ui.rc file present locally in his .kde/... directory (because of for eg, a shortcut change), then the context menu is not created because no xmlui representation for it exists in it the local ui.rc. fix a crash related to that. (Note: whenever you are changing the xmlui files and you want the user to see these changes, bump up the version number of the ui.rc) M +1 -1 trunk/extragear/graphics/digikam/utilities/imageeditor/digikamimagewindowui.rc M +3 -2 trunk/extragear/graphics/digikam/utilities/imageeditor/imagewindow.cpp --- trunk/extragear/graphics/digikam/utilities/imageeditor/digikamimagewindowui.rc #409376:409377 @@ -1,5 +1,5 @@ <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> -<gui version="1" name="digikamimagewindow" > +<gui version="2" name="digikamimagewindow" > <MenuBar> --- trunk/extragear/graphics/digikam/utilities/imageeditor/imagewindow.cpp #409376:409377 @@ -127,7 +127,7 @@ } } - m_contextMenu = static_cast<QPopupMenu*>(factory()->container("RMBMenu", this)); + m_contextMenu = dynamic_cast<QPopupMenu*>(factory()->container("RMBMenu", this)); // -- Some Accels not available from actions ------------- @@ -716,7 +716,8 @@ void ImageWindow::slotContextMenu() { - m_contextMenu->exec(QCursor::pos()); + if (m_contextMenu) + m_contextMenu->exec(QCursor::pos()); } void ImageWindow::slotZoomChanged(float zoom)