Bug 105007 - crash on right mouse click in image editor
Summary: crash on right mouse click in image editor
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Usability-Mouse (show other bugs)
Version: 0.7.3
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-03 10:49 UTC by krienke
Modified: 2022-01-13 07:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 7.5.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description krienke 2005-05-03 10:49:55 UTC
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.
Comment 1 Achim Bohnet 2005-05-03 23:09:53 UTC
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 ()
Comment 2 Renchi Raju 2005-05-04 21:49:23 UTC
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)