Version: (using KDE KDE 3.1.1a) Installed from: Gentoo Packages Compiler: gcc version 3.2.2 OS: Linux Konqueror crashes when the "Konqueror" image from the about:konqueror page is dragged to the location bar. To reproduce it, go to the about:konqueror page (e.g. Help -> Konqueror Introduction), unhide the location toolbar if it's hidden (Settings -> Toolbars), grab the Konqueror image (the one just above the "Introduction", "Tips", "Specifications" links) by the mouse and drag it onto the "Location" label in the location toolbar. This bug is present in both KDE 3.1 and 3.0 trees, possibly in the 2.2 tree.
Works fine for me in HEAD; any useful backtrace?
My system does not seem to have debugging information compiled in, but here is what I got to on RedHat 7.3, konqueror 3.0.3-0.7.2 on kde 3.0.3-0.7.2, gcc 2.96-113. (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...[New Thread 1024 (LWP 32737)] 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 0x40d97c33 in waitpid () from /lib/i686/libpthread.so.0 #3 0x406045e2 in KCrash::defaultCrashHandler () from /usr/lib/libkdecore-gcc2.96.so.4 #4 0x40d95f05 in pthread_sighandler () from /lib/i686/libpthread.so.0 #5 <signal handler called> #6 0x412b0b36 in KHTMLPart::khtmlMouseMoveEvent () from /usr/lib/libkhtml-gcc2.96.so.4 #7 0x412b0087 in KHTMLPart::customEvent () from /usr/lib/libkhtml-gcc2.96.so.4 #8 0x408c12a7 in QObject::event () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #9 0x40879803 in QApplication::internalNotify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #10 0x4087969c in QApplication::notify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #11 0x405a8a4b in KApplication::notify () from /usr/lib/libkdecore-gcc2.96.so.4 #12 0x412981c5 in KHTMLView::viewportMouseMoveEvent () from /usr/lib/libkhtml-gcc2.96.so.4 #13 0x4099bc01 in QScrollView::eventFilter () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #14 0x408c137b in QObject::activate_filters () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #15 0x408c1231 in QObject::event () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #16 0x408ef601 in QWidget::event () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #17 0x40879803 in QApplication::internalNotify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #18 0x40878f33 in QApplication::notify () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #19 0x405a8a4b in KApplication::notify () from /usr/lib/libkdecore-gcc2.96.so.4 #20 0x40827511 in QETWidget::translateMouseEvent () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #21 0x40824623 in QApplication::x11ProcessEvent () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #22 0x408235de in QApplication::processNextEvent () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #23 0x4087acdc in QApplication::enter_loop () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #24 0x40823547 in QApplication::exec () from /usr/lib/qt3-gcc2.96/lib/libqt-mt.so.3 #25 0x40048f30 in main () from /usr/lib/konqueror-gcc2.96.so #26 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6
Valid bug.
Subject: kdebase/konqueror CVS commit by staikos: Don't crash on drops: - you can't call openURL from the slot since it will delete the part before the drag is complete! This delays the calling of openURL with a singleshot. CCMAIL: 57699-done@bugs.kde.org M +10 -3 konq_misc.cc 1.48 M +5 -0 konq_misc.h 1.17 --- kdebase/konqueror/konq_misc.cc #1.47:1.48 @@ -228,7 +228,14 @@ void KonqDraggableLabel::dragEnterEvent( void KonqDraggableLabel::dropEvent( QDropEvent* ev ) { - KURL::List lst; - if ( KURLDrag::decode( ev, lst ) ) { - m_mw->openURL( 0L, lst.first() ); + _savedLst.clear(); + if ( KURLDrag::decode( ev, _savedLst ) ) { + QTimer::singleShot(0, this, SLOT(delayedOpenURL())); } } + +void KonqDraggableLabel::delayedOpenURL() +{ + m_mw->openURL( 0L, _savedLst.first() ); +} + +#include "konq_misc.moc" --- kdebase/konqueror/konq_misc.h #1.16:1.17 @@ -92,4 +92,5 @@ public: class KonqDraggableLabel : public QLabel { + Q_OBJECT public: KonqDraggableLabel( KonqMainWindow * mw, const QString & text ); @@ -102,8 +103,12 @@ protected: void dropEvent( QDropEvent* ev ); +private slots: + void delayedOpenURL(); + private: QPoint startDragPos; bool validDrag; KonqMainWindow * m_mw; + KURL::List _savedLst; };