Right clicking on applet on panel gets different events

Dong Tiger idlecat511 at gmail.com
Thu Dec 31 07:14:16 CET 2009


Hi,

The applet has a QWidget embedded through QGraphicsProxyWidget. When moved
to a panel, the first several right clicking will trigger
QGraphicsView::contextMenuEvent, which is expected. But
after that, QGraphicsProxyWidget::mouseReleaseEvent will be triggered
instead.  Here is the backtraces for the two different path. Any idea of
that? I am not sure but it seems happen only recently,
within this week, I think.

Path of QGraphicsView::contextMenuEvent:

#0  GglAppletScript::contextualActions (this=0xa6e9d0) at
/usr/local/kde_src/KDE/kdebase/workspace/plasma/generic/scriptengines/google_gadgets/ggl_applet_script.cpp:163
#1  0x00007ffff68ca4d0 in Plasma::Applet::contextualActions (this=0xa51c10)
at /usr/local/kde_src/KDE/kdelibs/plasma/applet.cpp:1276
#2  0x00007ffff68f3515 in Plasma::ContainmentPrivate::appletActions
(this=0x8f7cb0, desktopMenu=..., applet=0xa51c10, includeApplet=true) at
/usr/local/kde_src/KDE/kdelibs/plasma/containment.cpp:681
#3  0x00007ffff68f3b56 in Plasma::ContainmentPrivate::showContextMenu
(this=0x8f7cb0, point=..., screenPos=..., includeApplet=true,
isMouseEvent=true) at
/usr/local/kde_src/KDE/kdelibs/plasma/containment.cpp:771
#4  0x00007ffff68f3cac in Plasma::Containment::contextMenuEvent
(this=0x937760, event=0x7fffffffc140) at
/usr/local/kde_src/KDE/kdelibs/plasma/containment.cpp:628
#5  0x00007ffff2f64a95 in QGraphicsItem::sceneEvent (this=0x937770,
event=0x7fffffffc140) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsitem.cpp:6501
#6  0x00007ffff2fc15df in QGraphicsWidget::sceneEvent (this=0x937760,
event=0x7fffffffc140) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicswidget.cpp:1131
#7  0x00007ffff2f8b664 in QGraphicsScenePrivate::sendEvent (this=0x631e00,
item=0x937770, event=0x7fffffffc140) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsscene.cpp:1138
#8  0x00007ffff2f9035d in QGraphicsScene::contextMenuEvent (this=0x632270,
contextMenuEvent=0x7fffffffc140) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsscene.cpp:3502
#9  0x00007ffff2f944a6 in QGraphicsScene::event (this=0x632270,
event=0x7fffffffc140) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsscene.cpp:3302

#10 0x00007ffff2800663 in QApplicationPrivate::notify_helper (this=0x63cc80,
receiver=0x632270, e=0x7fffffffc140) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:4242
#11 0x00007ffff2800aab in QApplication::notify (this=0x62c2d0,
receiver=0x632270, e=0x7fffffffc140) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:3661
#12 0x00007ffff52ec8ff in KApplication::notify (this=0x62c2d0,
receiver=0x632270, event=0x7fffffffc140) at
/usr/local/kde_src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#13 0x00007ffff1fafac4 in QCoreApplication::notifyInternal (this=0x62c2d0,
receiver=0x632270, event=0x7fffffffc140) at
/usr/local/kde_src/qt/src/corelib/kernel/qcoreapplication.cpp:704

#14 0x00007ffff27fc645 in QCoreApplication::sendEvent (receiver=0x632270,
event=0x7fffffffc140) at
../../include/QtCore/../../../qt/src/corelib/kernel/qcoreapplication.h:215
#15 0x00007ffff2fb55d5 in QGraphicsView::contextMenuEvent (this=0x125d5d0,
event=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsview.cpp:2773
#16 0x00007ffff2878927 in QWidget::event (this=0x125d5d0,
event=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/kernel/qwidget.cpp:8141
#17 0x00007ffff2d0f291 in QFrame::event (this=0x125d5d0, e=0x7fffffffcdd0)
at /usr/local/kde_src/qt/src/gui/widgets/qframe.cpp:557

#18 0x00007ffff2db91c2 in QAbstractScrollArea::viewportEvent
(this=0x125d5d0, e=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/widgets/qabstractscrollarea.cpp:1032

#19 0x00007ffff2fbe942 in QGraphicsView::viewportEvent (this=0x125d5d0,
event=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsview.cpp:2747
#20 0x00007ffff2dbc416 in QAbstractScrollAreaPrivate::viewportEvent
(this=0x125c4a0, event=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/widgets/qabstractscrollarea_p.h:100
#21 0x00007ffff2dbc456 in QAbstractScrollAreaFilter::eventFilter
(this=0x1271ea0, o=0x1274aa0, e=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/widgets/qabstractscrollarea_p.h:116
#22 0x00007ffff1fad8dd in
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x63cc80,
receiver=0x1274aa0, event=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/corelib/kernel/qcoreapplication.cpp:819
#23 0x00007ffff280063e in QApplicationPrivate::notify_helper (this=0x63cc80,
receiver=0x1274aa0, e=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:4238
#24 0x00007ffff2801c04 in QApplication::notify (this=0x62c2d0,
receiver=0x1274aa0, e=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:3901
#25 0x00007ffff52ec8ff in KApplication::notify (this=0x62c2d0,
receiver=0x1274aa0, event=0x7fffffffcdd0) at
/usr/local/kde_src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#26 0x00007ffff1fafac4 in QCoreApplication::notifyInternal (this=0x62c2d0,
receiver=0x1274aa0, event=0x7fffffffcdd0) at
/usr/local/kde_src/qt/src/corelib/kernel/qcoreapplication.cpp:704
#27 0x00007ffff281406b in QCoreApplication::sendSpontaneousEvent
(receiver=0x1274aa0, event=0x7fffffffcdd0) at
../../include/QtCore/../../../qt/src/corelib/kernel/qcoreapplication.h:218
#28 0x00007ffff28b68f5 in QETWidget::translateMouseEvent (this=0x125d5d0,
event=0x7fffffffd960) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication_x11.cpp:4373
#29 0x00007ffff28b3d7f in QApplication::x11ProcessEvent (this=0x62c2d0,
event=0x7fffffffd960) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication_x11.cpp:3379

Path of QGraphicsProxyWidget::mouseReleaseEvent:

#0  ggadget::PanelDecorator::Private::onAddDecoratorMenuItems
(this=0x929d40, menu=0x7fffffffa4c0) at
/usr/local/kde_src/KDE/kdebase/workspace/plasma/generic/scriptengines/google_gadgets/panel_decorator.cpp:37
#1  0x00007fffd8d678a5 in ggadget::PanelDecorator::OnAddDecoratorMenuItems
(this=0x158cc10, menu=0x7fffffffa4c0) at
/usr/local/kde_src/KDE/kdebase/workspace/plasma/generic/scriptengines/google_gadgets/panel_decorator.cpp:89
#2  0x00007fffd9885827 in
ggadget::MainViewDecoratorBase::OnAddContextMenuItems (this=0x158cc10,
menu=0x7fffffffa4c0) at
/usr/local/kde_src/google-gadgets-for-linux/ggadget/main_view_decorator_base.cc:622
#3  0x00007fffd8d66663 in ggadget::PlasmaViewHost::Private::showContextMenu
(this=0x157d310, button=2) at
/usr/local/kde_src/KDE/kdebase/workspace/plasma/generic/scriptengines/google_gadgets/plasma_view_host_internal.h:171
#4  0x00007fffd8d658fd in ggadget::PlasmaViewHost::ShowContextMenu
(this=0x1415710, button=2) at
/usr/local/kde_src/KDE/kdebase/workspace/plasma/generic/scriptengines/google_gadgets/plasma_view_host.cpp:161
#5  0x00007fffd97c9478 in ggadget::View::Impl::OnMouseEvent (this=0x8a2b30,
event=...) at
/usr/local/kde_src/google-gadgets-for-linux/ggadget/view.cc:677
#6  0x00007fffd97bdbaf in ggadget::View::OnMouseEvent (this=0x158cc10,
event=...) at
/usr/local/kde_src/google-gadgets-for-linux/ggadget/view.cc:1924
#7  0x00007fffd9c59b9a in ggadget::qt::QtViewWidget::Impl::mouseReleaseEvent
(this=0x12e1580, event=0x99b400) at
/usr/local/kde_src/google-gadgets-for-linux/ggadget/qt/qt_view_widget.cc:319
#8  0x00007fffd9c560d3 in ggadget::qt::QtViewWidget::mouseReleaseEvent
(this=0x1289c90, event=0x99b400) at
/usr/local/kde_src/google-gadgets-for-linux/ggadget/qt/qt_view_widget.cc:605
#9  0x00007ffff2877fe3 in QWidget::event (this=0x1289c90, event=0x99b400) at
/usr/local/kde_src/qt/src/gui/kernel/qwidget.cpp:7974
#10 0x00007ffff2800663 in QApplicationPrivate::notify_helper (this=0x63cc80,
receiver=0x1289c90, e=0x99b400) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:4242
#11 0x00007ffff280148a in QApplication::notify (this=0x62c2d0,
receiver=0x1289c90, e=0x99b400) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:3822
#12 0x00007ffff52ec8ff in KApplication::notify (this=0x62c2d0,
receiver=0x1289c90, event=0x99b400) at
/usr/local/kde_src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#13 0x00007ffff1fafac4 in QCoreApplication::notifyInternal (this=0x62c2d0,
receiver=0x1289c90, event=0x99b400) at
/usr/local/kde_src/qt/src/corelib/kernel/qcoreapplication.cpp:704
#14 0x00007ffff281406b in QCoreApplication::sendSpontaneousEvent
(receiver=0x1289c90, event=0x99b400) at
../../include/QtCore/../../../qt/src/corelib/kernel/qcoreapplication.h:218
#15 0x00007ffff2807077 in QApplicationPrivate::sendMouseEvent
(receiver=0x1289c90, event=0x99b400, alienWidget=0x0,
nativeWidget=0x1289c90, buttonDown=0x7fffffffb2e8, lastMouseReceiver=...,
spontaneous=true)
    at /usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:2954
#16 0x00007ffff2f7f559 in QGraphicsProxyWidgetPrivate::sendWidgetMouseEvent
(this=0x12e4660, event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsproxywidget.cpp:283
#17 0x00007ffff2f7f84c in QGraphicsProxyWidget::mouseReleaseEvent
(this=0x671f40, event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsproxywidget.cpp:1274
#18 0x00007ffff2f64c21 in QGraphicsItem::sceneEvent (this=0x671f50,
event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsitem.cpp:6531
#19 0x00007ffff2fc15df in QGraphicsWidget::sceneEvent (this=0x671f40,
event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicswidget.cpp:1131
#20 0x00007ffff2f8b664 in QGraphicsScenePrivate::sendEvent (this=0x631e00,
item=0x671f50, event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsscene.cpp:1138
#21 0x00007ffff2f8bda5 in QGraphicsScenePrivate::sendMouseEvent
(this=0x631e00, mouseEvent=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsscene.cpp:1212
#22 0x00007ffff2f990ef in QGraphicsScene::mouseReleaseEvent (this=0x632270,
mouseEvent=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsscene.cpp:4007
#23 0x00007ffff2f94774 in QGraphicsScene::event (this=0x632270,
event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsscene.cpp:3348

#24 0x00007ffff2800663 in QApplicationPrivate::notify_helper (this=0x63cc80,
receiver=0x632270, e=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:4242
#25 0x00007ffff2800aab in QApplication::notify (this=0x62c2d0,
receiver=0x632270, e=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:3661
#26 0x00007ffff52ec8ff in KApplication::notify (this=0x62c2d0,
receiver=0x632270, event=0x7fffffffbfd0) at
/usr/local/kde_src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#27 0x00007ffff1fafac4 in QCoreApplication::notifyInternal (this=0x62c2d0,
receiver=0x632270, event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/corelib/kernel/qcoreapplication.cpp:704

#28 0x00007ffff281406b in QCoreApplication::sendSpontaneousEvent
(receiver=0x632270, event=0x7fffffffbfd0) at
../../include/QtCore/../../../qt/src/corelib/kernel/qcoreapplication.h:218
#29 0x00007ffff27ff9e5 in qt_sendSpontaneousEvent (receiver=0x632270,
event=0x7fffffffbfd0) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:5219
#30 0x00007ffff2fb97fe in QGraphicsView::mouseReleaseEvent (this=0x125d5d0,
event=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsview.cpp:3219
#31 0x00007ffff2877fe3 in QWidget::event (this=0x125d5d0,
event=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/kernel/qwidget.cpp:7974
#32 0x00007ffff2d0f291 in QFrame::event (this=0x125d5d0, e=0x7fffffffce30)
at /usr/local/kde_src/qt/src/gui/widgets/qframe.cpp:557

#33 0x00007ffff2db91c2 in QAbstractScrollArea::viewportEvent
(this=0x125d5d0, e=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/widgets/qabstractscrollarea.cpp:1032

#34 0x00007ffff2fbe942 in QGraphicsView::viewportEvent (this=0x125d5d0,
event=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/graphicsview/qgraphicsview.cpp:2747
#35 0x00007ffff2dbc416 in QAbstractScrollAreaPrivate::viewportEvent
(this=0x125c4a0, event=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/widgets/qabstractscrollarea_p.h:100
#36 0x00007ffff2dbc456 in QAbstractScrollAreaFilter::eventFilter
(this=0x1271ea0, o=0x1274aa0, e=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/widgets/qabstractscrollarea_p.h:116
#37 0x00007ffff1fad8dd in
QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x63cc80,
receiver=0x1274aa0, event=0x7fffffffce30) at
/usr/local/kde_src/qt/src/corelib/kernel/qcoreapplication.cpp:819
#38 0x00007ffff280063e in QApplicationPrivate::notify_helper (this=0x63cc80,
receiver=0x1274aa0, e=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:4238
#39 0x00007ffff280148a in QApplication::notify (this=0x62c2d0,
receiver=0x1274aa0, e=0x7fffffffce30) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:3822
#40 0x00007ffff52ec8ff in KApplication::notify (this=0x62c2d0,
receiver=0x1274aa0, event=0x7fffffffce30) at
/usr/local/kde_src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#41 0x00007ffff1fafac4 in QCoreApplication::notifyInternal (this=0x62c2d0,
receiver=0x1274aa0, event=0x7fffffffce30) at
/usr/local/kde_src/qt/src/corelib/kernel/qcoreapplication.cpp:704
#42 0x00007ffff281406b in QCoreApplication::sendSpontaneousEvent
(receiver=0x1274aa0, event=0x7fffffffce30) at
../../include/QtCore/../../../qt/src/corelib/kernel/qcoreapplication.h:218
#43 0x00007ffff2807077 in QApplicationPrivate::sendMouseEvent
(receiver=0x1274aa0, event=0x7fffffffce30, alienWidget=0x1274aa0,
nativeWidget=0x125d5d0, buttonDown=0x7ffff35bf7f8, lastMouseReceiver=...,
spontaneous=true)
    at /usr/local/kde_src/qt/src/gui/kernel/qapplication.cpp:2954
#44 0x00007ffff28b687a in QETWidget::translateMouseEvent (this=0x125d5d0,
event=0x7fffffffd960) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication_x11.cpp:4368
#45 0x00007ffff28b3d7f in QApplication::x11ProcessEvent (this=0x62c2d0,
event=0x7fffffffd960) at
/usr/local/kde_src/qt/src/gui/kernel/qapplication_x11.cpp:3379
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/plasma-devel/attachments/20091231/968011d2/attachment.html 


More information about the Plasma-devel mailing list