[patch] fix crasher in applethandle

Sebastian Kügler sebas at kde.org
Mon Feb 23 01:59:39 CET 2009


Can somebody quickly review this patch?

I'm dragging data from an applet (emailmessage in this case) onto the desktop, 
a note is created, clicking on its applet handle makes plasmoidviewer crash 
(bt attached). I've played around with the patch applied and didn't notice any 
side effects, besides plasmoidviewer not exploding in my face. :>
It seems that m_currentView for that D+D'ed applet isn't there, and it doesn't 
seem to be a problem on the desktop, just in plasmoidviewer.

Is this OK to commit?
-- 
sebas

 http://www.kde.org | http://vizZzion.org |  GPG Key ID: 9119 0EF9 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: plasma-applethandle-crash.diff
Type: text/x-patch
Size: 1191 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20090223/2c14dd44/attachment.diff 
-------------- next part --------------
Application: Plasma Widget Viewer (plasmoidviewer), signal SIGSEGV
[Current thread is 0 (LWP 1418)]

Thread 2 (Thread 0xa9a84b90 (LWP 1419)):
#0  0xb7fdb430 in __kernel_vsyscall ()
#1  0xb759f075 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb7620882 in QWaitCondition::wait (this=0x850a044, mutex=0x850a040, time=4294967295) at thread/qwaitcondition_unix.cpp:82
#3  0xa9f5fd94 in RenderThread::run (this=0x850a038) at /home/sebas/kdesvn/src/kdebase/workspace/plasma/wallpapers/image/renderthread.cpp:91
#4  0xb761fac0 in QThreadPrivate::start (arg=0x850a038) at thread/qthread_unix.cpp:184
#5  0xb759b50f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6  0xb6bafa0e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb518f6c0 (LWP 1418)):
[KCrash Handler]
#6  QGraphicsView::mapFromScene (this=0x0, point=@0xbf8d8b18) at graphicsview/qgraphicsview.h:265
#7  0xb7b4b0fa in Plasma::AppletHandle::mousePressEvent (this=0x86e9388, event=0xbf8d9284) at /home/sebas/kdesvn/src/kdelibs/plasma/private/applethandle.cpp:490
#8  0xb744115a in QGraphicsItem::sceneEvent (this=0x86e9390, event=0xbf8d9284) at graphicsview/qgraphicsitem.cpp:4729
#9  0xb746196c in QGraphicsScenePrivate::sendEvent (this=0x83bc398, item=0x86e9390, event=0xbf8d9284) at graphicsview/qgraphicsscene.cpp:1143
#10 0xb7462ed2 in QGraphicsScenePrivate::sendMouseEvent (this=0x83bc398, mouseEvent=0xbf8d9284) at graphicsview/qgraphicsscene.cpp:1214
#11 0xb746a1c3 in QGraphicsScenePrivate::mousePressEventHandler (this=0x83bc398, mouseEvent=0xbf8d9284) at graphicsview/qgraphicsscene.cpp:1303
#12 0xb7468faf in QGraphicsScene::event (this=0xbf8da190, event=0xbf8d9284) at graphicsview/qgraphicsscene.cpp:3630
#13 0xb6e8f05c in QApplicationPrivate::notify_helper (this=0x833c5d8, receiver=0xbf8da190, e=0xbf8d9284) at kernel/qapplication.cpp:4051
#14 0xb6e96b1e in QApplication::notify (this=0xbf8da224, receiver=0xbf8da190, e=0xbf8d9284) at kernel/qapplication.cpp:3598
#15 0xb7df48b1 in KApplication::notify (this=0xbf8da224, receiver=0xbf8da190, event=0xbf8d9284) at /home/sebas/kdesvn/src/kdelibs/kdeui/kernel/kapplication.cpp:307
#16 0xb770141b in QCoreApplication::notifyInternal (this=0xbf8da224, receiver=0xbf8da190, event=0xbf8d9284) at kernel/qcoreapplication.cpp:590
#17 0xb7479899 in QGraphicsView::mousePressEvent (this=0xbf8da17c, event=0xbf8d9878) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:208
#18 0xb6ee2796 in QWidget::event (this=0xbf8da17c, event=0xbf8d9878) at kernel/qwidget.cpp:7507
#19 0xb7268be3 in QFrame::event (this=0xbf8da17c, e=0xbf8d9878) at widgets/qframe.cpp:554
#20 0xb72fb89f in QAbstractScrollArea::viewportEvent (this=0xbf8da17c, e=0x0) at widgets/qabstractscrollarea.cpp:957
#21 0xb747b092 in QGraphicsView::viewportEvent (this=0xbf8da17c, event=0xbf8d9878) at graphicsview/qgraphicsview.cpp:2928
#22 0xb72fdd55 in QAbstractScrollAreaFilter::eventFilter (this=0x83eee00, o=0x83bbab8, e=0xbf8d9878) at widgets/qabstractscrollarea_p.h:95
#23 0xb770065a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x833c5d8, receiver=0x83bbab8, event=0xbf8d9878) at kernel/qcoreapplication.cpp:710
#24 0xb6e8f03a in QApplicationPrivate::notify_helper (this=0x833c5d8, receiver=0x83bbab8, e=0xbf8d9878) at kernel/qapplication.cpp:4047
#25 0xb6e97426 in QApplication::notify (this=0xbf8da224, receiver=0x83bbab8, e=0xbf8d9878) at kernel/qapplication.cpp:3753
#26 0xb7df48b1 in KApplication::notify (this=0xbf8da224, receiver=0x83bbab8, event=0xbf8d9878) at /home/sebas/kdesvn/src/kdelibs/kdeui/kernel/kapplication.cpp:307
#27 0xb770141b in QCoreApplication::notifyInternal (this=0xbf8da224, receiver=0x83bbab8, event=0xbf8d9878) at kernel/qcoreapplication.cpp:590
#28 0xb6e988ae in QApplicationPrivate::sendMouseEvent (receiver=0x83bbab8, event=0xbf8d9878, alienWidget=0x83bbab8, nativeWidget=0xbf8da17c, buttonDown=0xb75911c0, lastMouseReceiver=@0xb75911c4)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:211
#29 0xb6ef9de0 in QETWidget::translateMouseEvent (this=0xbf8da17c, event=0xbf8d9eac) at kernel/qapplication_x11.cpp:4414
#30 0xb6ef908d in QApplication::x11ProcessEvent (this=0xbf8da224, event=0xbf8d9eac) at kernel/qapplication_x11.cpp:3410
#31 0xb6f204fa in x11EventSourceDispatch (s=0x8347b80, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:141
#32 0xb55776f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#33 0xb557ada3 in ?? () from /usr/lib/libglib-2.0.so.0
#34 0xb557af61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#35 0xb7728ef8 in QEventDispatcherGlib::processEvents (this=0x833bd38, flags={i = -1081237400}) at kernel/qeventdispatcher_glib.cpp:318
#36 0xb6f1fca5 in QGuiEventDispatcherGlib::processEvents (this=0x833bd38, flags={i = -1081237352}) at kernel/qguieventdispatcher_glib.cpp:197
#37 0xb76ffbba in QEventLoop::processEvents (this=0xbf8da100, flags={i = -1081237288}) at kernel/qeventloop.cpp:144
#38 0xb76ffd7a in QEventLoop::exec (this=0xbf8da100, flags={i = -1081237240}) at kernel/qeventloop.cpp:191
#39 0xb7701fa1 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:872
#40 0xb6e8eed7 in QApplication::exec () at kernel/qapplication.cpp:3526
#41 0x0804f157 in main (argc=) at /home/sebas/kdesvn/src/kdebase/workspace/plasma/shells/plasmoidviewer/main.cpp:149



More information about the Plasma-devel mailing list