Version: (using Devel) OS: Linux Installed from: Compiled sources Ok, here's a real doozy I found right after the question "I wonder what happens if you try dragging a plasmoid from one panel to another" popped into my head. :P I am using KDE 4.1.85, for the record. To reproduce: -Create an empty second panel. -Open panel toolbox, drag digital clock from the first panel and hover over the second panel. This is where things start to get weird. The digital clock *looks* like it's moving across the second panel, but the "move" cursor is moving along the first panel. -Let go of the digital clock over the second panel. The clock will appear to go back to the first panel. But maybe it's not really on the first panel? -Remove the second panel -Open the toolbox of the first panel Plasma will now crash with the following backtrace: Application: Plasma Workspace (plasma), signal SIGSEGV [Current thread is 0 (LWP 20015)] Thread 3 (Thread 0xa9382b90 (LWP 20016)): #0 0xb7f22424 in __kernel_vsyscall () #1 0xb575b075 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb63569ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6 #3 0xb65416f2 in QWaitCondition::wait (this=0x9d41448, mutex=0x9d41444, time=4294967295) at thread/qwaitcondition_unix.cpp:82 #4 0xb78bc532 in QHostInfoAgent::run (this=0x9d41438) at kernel/qhostinfo.cpp:241 #5 0xb65406ae in QThreadPrivate::start (arg=0x9d41438) at thread/qthread_unix.cpp:185 #6 0xb575750f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xb63487ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 2 (Thread 0xa8b4eb90 (LWP 20017)): #0 0xb7f22424 in __kernel_vsyscall () #1 0xb575b075 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb63569ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6 #3 0xb65416f2 in QWaitCondition::wait (this=0x97b5d10, mutex=0x97b5d0c, time=4294967295) at thread/qwaitcondition_unix.cpp:82 #4 0xa9628392 in RenderThread::run (this=0x97b5d04) at /build/buildd/kdebase-workspace-4.1.85/plasma/wallpapers/image/renderthread.cpp:91 #5 0xb65406ae in QThreadPrivate::start (arg=0x97b5d04) at thread/qthread_unix.cpp:185 #6 0xb575750f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xb63487ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread 0xb4a5fb20 (LWP 20015)): [KCrash Handler] #6 0xb6ec152c in QGraphicsLayoutItem::geometry (this=0x98bc7c8) at graphicsview/qgraphicslayoutitem.cpp:620 #7 0xb7eb6ebc in PanelAppletOverlay::syncGeometry (this=0xa012ad0) at /build/buildd/kdebase-workspace-4.1.85/plasma/shells/desktop/panelappletoverlay.cpp:356 #8 0xb7eb7086 in PanelAppletOverlay (this=0xa012ad0, applet=0x984a148, parent=0x9dde718) at /build/buildd/kdebase-workspace-4.1.85/plasma/shells/desktop/panelappletoverlay.cpp:90 #9 0xb7eaf07a in PanelView::togglePanelController (this=0x9dde718) at /build/buildd/kdebase-workspace-4.1.85/plasma/shells/desktop/panelview.cpp:744 #10 0xb7eb3023 in PanelView::qt_metacall (this=0x9dde718, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfa226e8) at /build/buildd/kdebase-workspace-4.1.85/obj-i486-linux-gnu/plasma/shells/desktop/panelview.moc:94 #11 0xb6645a60 in QMetaObject::activate (sender=0x97acb48, from_signal_index=31, to_signal_index=31, argv=0x0) at kernel/qobject.cpp:3031 #12 0xb66467e2 in QMetaObject::activate (sender=0x97acb48, m=0xb7e70ac8, local_signal_index=3, argv=0x0) at kernel/qobject.cpp:3101 #13 0xb7d48627 in Plasma::Containment::toolBoxToggled () from /usr/lib/libplasma.so.3 #14 0xb7d549b7 in Plasma::Containment::qt_metacall () from /usr/lib/libplasma.so.3 #15 0xa9711dba in Panel::qt_metacall (this=0x97acb48, _c=QMetaObject::InvokeMetaMethod, _id=31, _a=0xbfa22808) at /build/buildd/kdebase-workspace-4.1.85/obj-i486-linux-gnu/plasma/containments/panel/panel.moc:70 #16 0xb6645a60 in QMetaObject::activate (sender=0x981de08, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3031 #17 0xb66467e2 in QMetaObject::activate (sender=0x981de08, m=0xb7e722d8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3101 #18 0xb7d940f7 in ?? () from /usr/lib/libplasma.so.3 #19 0xb7d954cd in ?? () from /usr/lib/libplasma.so.3 #20 0xb6e820b0 in QGraphicsItem::sceneEvent (this=0x981de08, event=0xbfa22e94) at graphicsview/qgraphicsitem.cpp:4001 #21 0xb6ea054c in QGraphicsScenePrivate::sendEvent (this=0x97293b0, item=0x981de10, event=0xbfa22e94) at graphicsview/qgraphicsscene.cpp:1030 #22 0xb6ea1742 in QGraphicsScenePrivate::sendMouseEvent (this=0x97293b0, mouseEvent=0xbfa22e94) at graphicsview/qgraphicsscene.cpp:1101 #23 0xb6ea9431 in QGraphicsScene::mouseReleaseEvent (this=0x9700838, mouseEvent=0xbfa22e94) at graphicsview/qgraphicsscene.cpp:3597 #24 0xb6ea9787 in QGraphicsScene::event (this=0x9700838, event=0xbfa22e94) at graphicsview/qgraphicsscene.cpp:2966 #25 0xb69058ec in QApplicationPrivate::notify_helper (this=0x96a6350, receiver=0x9700838, e=0xbfa22e94) at kernel/qapplication.cpp:3803 #26 0xb690d72e in QApplication::notify (this=0x9688e20, receiver=0x9700838, e=0xbfa22e94) at kernel/qapplication.cpp:3393 #27 0xb7682d3d in KApplication::notify (this=0x9688e20, receiver=0x9700838, event=0xbfa22e94) at /build/buildd/kde4libs-4.1.85/kdeui/kernel/kapplication.cpp:307 #28 0xb6630e61 in QCoreApplication::notifyInternal (this=0x9688e20, receiver=0x9700838, event=0xbfa22e94) at kernel/qcoreapplication.cpp:587 #29 0xb6ebdc22 in QGraphicsView::mouseReleaseEvent (this=0x9dde718, event=0xbfa234a8) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:209 #30 0xb695d962 in QWidget::event (this=0x9dde718, event=0xbfa234a8) at kernel/qwidget.cpp:7163 #31 0xb6c94fd3 in QFrame::event (this=0x9dde718, e=0xbfa234a8) at widgets/qframe.cpp:651 #32 0xb6d2b7df in QAbstractScrollArea::viewportEvent (this=0x9dde718, e=0x98bc7c8) at widgets/qabstractscrollarea.cpp:943 #33 0xb6eb8d0f in QGraphicsView::viewportEvent (this=0x9dde718, event=0xbfa234a8) at graphicsview/qgraphicsview.cpp:2337 #34 0xb6d2dd85 in QAbstractScrollAreaFilter::eventFilter (this=0x9de01f8, o=0x9ddedd8, e=0xbfa234a8) at widgets/qabstractscrollarea_p.h:96 #35 0xb663004a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x96a6350, receiver=0x9ddedd8, event=0xbfa234a8) at kernel/qcoreapplication.cpp:694 #36 0xb69058ca in QApplicationPrivate::notify_helper (this=0x96a6350, receiver=0x9ddedd8, e=0xbfa234a8) at kernel/qapplication.cpp:3799 #37 0xb690e0e1 in QApplication::notify (this=0x9688e20, receiver=0x9ddedd8, e=0xbfa234a8) at kernel/qapplication.cpp:3528 #38 0xb7682d3d in KApplication::notify (this=0x9688e20, receiver=0x9ddedd8, event=0xbfa234a8) at /build/buildd/kde4libs-4.1.85/kdeui/kernel/kapplication.cpp:307 #39 0xb6630e61 in QCoreApplication::notifyInternal (this=0x9688e20, receiver=0x9ddedd8, event=0xbfa234a8) at kernel/qcoreapplication.cpp:587 #40 0xb690d36e in QApplicationPrivate::sendMouseEvent (receiver=0x9ddedd8, event=0xbfa234a8, alienWidget=0x9ddedd8, nativeWidget=0x9dde718, buttonDown=0xb70cbed0, lastMouseReceiver=@0xb70cbed4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:212 #41 0xb6977656 in QETWidget::translateMouseEvent (this=0x9dde718, event=0xbfa23a8c) at kernel/qapplication_x11.cpp:4042 #42 0xb69769e5 in QApplication::x11ProcessEvent (this=0x9688e20, event=0xbfa23a8c) at kernel/qapplication_x11.cpp:3038 #43 0xb69a07aa in x11EventSourceDispatch (s=0x96a2df8, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:142 #44 0xb559c6f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #45 0xb559fda3 in ?? () from /usr/lib/libglib-2.0.so.0 #46 0xb559ff61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #47 0xb665b478 in QEventDispatcherGlib::processEvents (this=0x96ac338, flags={i = -1079886776}) at kernel/qeventdispatcher_glib.cpp:319 #48 0xb699fea5 in QGuiEventDispatcherGlib::processEvents (this=0x96ac338, flags={i = -1079886728}) at kernel/qguieventdispatcher_glib.cpp:198 #49 0xb662f52a in QEventLoop::processEvents (this=0xbfa23cf0, flags={i = -1079886664}) at kernel/qeventloop.cpp:143 #50 0xb662f6ea in QEventLoop::exec (this=0xbfa23cf0, flags={i = -1079886600}) at kernel/qeventloop.cpp:194 #51 0xb6631da5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845 #52 0xb6905767 in QApplication::exec () at kernel/qapplication.cpp:3331 #53 0xb7ea5ce1 in kdemain (argc=1, argv=0xbfa23ec4) at /build/buildd/kdebase-workspace-4.1.85/plasma/shells/desktop/main.cpp:58 #54 0x08048712 in main (argc=) at /build/buildd/kdebase-workspace-4.1.85/obj-i486-linux-gnu/plasma/shells/desktop/plasma_qgv_dummy.cpp:3
Indeed, panel<->panel drags are broken. I see this in the debug output on konsole: QGraphicsLayout::addChildWidget: Clock "" in wrong parent; moved to correct parent that's probably a good clue.
SVN commit 898860 by mart: support dragging of applets from panel to panel BUG:178139 M +10 -0 panelappletoverlay.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=898860