Bug 189381 - Pressing ESCAPE key in KWin effect plugin selector causes a crash
Summary: Pressing ESCAPE key in KWin effect plugin selector causes a crash
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Dario Andres
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-11 17:25 UTC by Christoph Feck
Modified: 2009-04-14 20:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Feck 2009-04-11 17:25:37 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

To reproduce:
* Systemsettings->Desktop->Effects->All Effects
* click on any effect "About" button, and close about window
* press Escape key


Application: System Settings (systemsettings), signal SIGSEGV
 [?1034h[Thread debugging using libthread_db enabled]
0xffffe430 <__kernel_vsyscall+16>:	pop    %ebp
[Current thread is 1 (Thread 0xb5dcd710 (LWP 4750))]

Thread 1 (Thread 0xb5dcd710 (LWP 4750)):
[KCrash Handler]
#6  0x08054399 in KCMultiWidget::currentModule (this=0x0) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/kcmultiwidget.cpp:246
#7  0x08054982 in KCMultiWidget::queryClose (this=0x0) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/kcmultiwidget.cpp:366
#8  0x080580f5 in MainWindow::showOverview (this=0x812bb00) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/mainwindow.cpp:290
#9  0x0805822b in MainWindow::qt_metacall (this=0x812bb00, _c=QMetaObject::InvokeMetaMethod, _id=48, _a=0xbf9e36b8) at /local/build/KDE/kdebase/workspace/systemsettings/mainwindow.moc:73
#10 0xb74a4958 in QMetaObject::activate (sender=0x82797a0, from_signal_index=30, to_signal_index=30, argv=0x0) at kernel/qobject.cpp:3060
#11 0xb74a55e2 in QMetaObject::activate (sender=0x82797a0, m=0x805dc10, local_signal_index=3, argv=0x0) at kernel/qobject.cpp:3134
#12 0x08054099 in KCMultiWidget::finished (this=0x82797a0) at /local/build/KDE/kdebase/workspace/systemsettings/kcmultiwidget.moc:126
#13 0x080553ed in KCMultiWidget::keyPressEvent (this=0x82797a0, event=0xbf9e3bbc) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/kcmultiwidget.cpp:128
#14 0xb6a71243 in QWidget::event (this=0x82797a0, event=0xbf9e3bbc) at kernel/qwidget.cpp:7551
#15 0xb6a1a80c in QApplicationPrivate::notify_helper (this=0x808f7e8, receiver=0x82797a0, e=0xbf9e3bbc) at kernel/qapplication.cpp:4084
#16 0xb6a23b8b in QApplication::notify (this=0xbf9e464c, receiver=0x82797a0, e=0xbf9e3bbc) at kernel/qapplication.cpp:3690
#17 0xb7a1c91b in KApplication::notify (this=0xbf9e464c, receiver=0x83387b0, event=0xbf9e3bbc) at /local/svn/kde/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#18 0xb748e86b in QCoreApplication::notifyInternal (this=0xbf9e464c, receiver=0x83387b0, event=0xbf9e3bbc) at kernel/qcoreapplication.cpp:602
#19 0xb6a1b6ee in QCoreApplication::sendSpontaneousEvent (event=<value optimized out>, receiver=0x83387b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#20 qt_sendSpontaneousEvent (receiver=0x83387b0, event=0x812bb00) at kernel/qapplication.cpp:5004
#21 0xb6ab6280 in QKeyMapper::sendKeyEvent (keyWidget=0x83387b0, grab=false, type=QEvent::KeyPress, code=16777216, modifiers={i = -1080148356}, text=@0xbf9e3ea8, autorepeat=<value optimized out>, 
    count=<value optimized out>, nativeScanCode=9, nativeVirtualKey=65307, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1675
#22 0xb6ab83d4 in QKeyMapperPrivate::translateKeyEvent (this=0x80b66a8, keyWidget=0x83387b0, event=0xbf9e435c, grab=false) at kernel/qkeymapper_x11.cpp:1645
#23 0xb6a8ffa9 in QApplication::x11ProcessEvent (this=0xbf9e464c, event=0xbf9e435c) at kernel/qapplication_x11.cpp:3436
#24 0xb6ab9d62 in x11EventSourceDispatch (s=0x8087268, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#25 0xb61ac9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0xb61b0063 in ?? () from /usr/lib/libglib-2.0.so.0
#27 0xb61b0221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#28 0xb74ba0e8 in QEventDispatcherGlib::processEvents (this=0x8069128, flags={i = -1080146664}) at kernel/qeventdispatcher_glib.cpp:323
#29 0xb6ab94a5 in QGuiEventDispatcherGlib::processEvents (this=0x8069128, flags={i = -1080146616}) at kernel/qguieventdispatcher_glib.cpp:202
#30 0xb748ce8a in QEventLoop::processEvents (this=0xbf9e45c0, flags={i = -1080146552}) at kernel/qeventloop.cpp:149
#31 0xb748d2ca in QEventLoop::exec (this=0xbf9e45c0, flags={i = -1080146488}) at kernel/qeventloop.cpp:200
#32 0xb748f779 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#33 0xb6a1a687 in QApplication::exec () at kernel/qapplication.cpp:3553
#34 0x08057711 in main (argc=1, argv=0xbf9e4794) at /local/svn/kde/trunk/KDE/kdebase/workspace/systemsettings/main.cpp:67
Comment 1 Dario Andres 2009-04-11 22:54:39 UTC
SVN commit 952427 by darioandres:

Fix a possible crash when emitting requestClose() twice from the module
(This can happen due a bug in the widgets-on-list framework, (used by the KWin Effects page),
which duplicates the KeyEvent under certain situations)

BUG: 189381


 M  +1 -2      kcmultiwidget.cpp  
 M  +1 -1      kcmultiwidget.h  
 M  +6 -2      mainwindow.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=952427
Comment 2 Dario Andres 2009-04-11 23:59:34 UTC
Review board request to fix the KPluginSelector behaviour (duplicating keyboard events):

http://reviewboard.kde.org/r/559/
Comment 3 Dario Andres 2009-04-14 20:50:58 UTC
SVN commit 953918 by darioandres:

Block keyboard events from the internal widgets/buttons on the KPluginSelector
This fixes a misbehaviour on SystemSettings (bug 189381)
http://reviewboard.kde.org/r/559/

CCBUG: 189381


 M  +7 -4      kpluginselector.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=953918