Bug 345843 - Kicker tries to show empty dialog during search
Summary: Kicker tries to show empty dialog during search
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Menu (Kicker) (show other bugs)
Version: master
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: 1.0
Assignee: Eike Hein
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-04 04:26 UTC by Bhushan Shah
Modified: 2015-04-04 17:09 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
problem (339.92 KB, video/ogg)
2015-04-04 16:46 UTC, Bhushan Shah
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bhushan Shah 2015-04-04 04:26:18 UTC
Kicker tries to show empty dialog when pressing down arrow key after
search; and hovering over that dialog causes crash which have infinite
recursive backtrace.

Steps to reproduce:

1) Open kicker
2) Search something which should not yield result.. for example Sfdfrgsdd
3) Press down arrow key twice
4) you will notice a empty dialog with 5-10 pixel height on top left
top corner of desktop
5) hover over it

I think backtrace is not much useful because of missing Qt debug
symbols.. but crash and bug is 100% reproducible

#0  0x00007ffff5e274d1 in QQuickItemPrivate::itemToWindowTransform()
const () from /usr/lib/libQt5Quick.so.5
#1  0x00007ffff5e2b325 in QQuickItem::mapToScene(QPointF const&) const
() from /usr/lib/libQt5Quick.so.5
#2  0x00007ffff79ac441 in
PlasmaQuick::DialogPrivate::mainItemContainsPosition (this=0x4b7ad30,
point=...)
   at /home/bshah/aur/plasma-framework-git/src/plasma-framework/src/plasmaquick/dialog.cpp:637
#3  0x00007ffff79ae63e in PlasmaQuick::Dialog::event (this=0x4a4e100,
event=0x7fffff7ff620) at
/home/bshah/aur/plasma-framework-git/src/plasma-framework/src/plasmaquick/dialog.cpp:1078
#4  0x00007ffff3d7dacc in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQt5Widgets.so.5
#5  0x00007ffff3d82f10 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQt5Widgets.so.5
#6  0x00007ffff3284d1b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff79aed52 in sendEvent (receiver=0x4a4e100, event=0x7) at
/usr/include/qt/QtCore/qcoreapplication.h:228
#8  PlasmaQuick::Dialog::event (this=0x4a4e100, event=<optimized out>)
at /home/bshah/aur/plasma-framework-git/src/plasma-framework/src/plasmaquick/dialog.cpp:1086
#9  0x00007ffff3d7dacc in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff3d82f10 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff3284d1b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQt5Core.so.5
#12 0x00007ffff79aed52 in sendEvent (receiver=0x4a4e100, event=0x7) at
/usr/include/qt/QtCore/qcoreapplication.h:228
#13 PlasmaQuick::Dialog::event (this=0x4a4e100, event=<optimized out>)
at /home/bshah/aur/plasma-framework-git/src/plasma-framework/src/plasmaquick/dialog.cpp:1086
#14 0x00007ffff3d7dacc in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff3d82f10 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff3284d1b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQt5Core.so.5
#17 0x00007ffff79aed52 in sendEvent (receiver=0x4a4e100, event=0x7) at
/usr/include/qt/QtCore/qcoreapplication.h:228
#18 PlasmaQuick::Dialog::event (this=0x4a4e100, event=<optimized out>)
at /home/bshah/aur/plasma-framework-git/src/plasma-framework/src/plasmaquick/dialog.cpp:1086
#19 0x00007ffff3d7dacc in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff3d82f10 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff3284d1b in QCoreApplication::notifyInternal(QObject*,
QEvent*) () from /usr/lib/libQt5Core.so.5

Thanks!
Comment 1 Eike Hein 2015-04-04 13:18:19 UTC
This is a regression from recent changes in keyboard nav, will fix later.
Comment 2 Eike Hein 2015-04-04 16:33:31 UTC
Git commit 802faaa876e768911b99e497280484ac9a014b72 by Eike Hein.
Committed on 04/04/2015 at 16:32.
Pushed by hein into branch 'master'.

Jump into the first column with results when navigating away from the search field.

Or do nothing, which fixes

M  +12   -4    applets/kicker/package/contents/ui/FullRepresentation.qml

http://commits.kde.org/plasma-desktop/802faaa876e768911b99e497280484ac9a014b72
Comment 3 Eike Hein 2015-04-04 16:33:53 UTC
Git commit d53ae685e13c4789bc41b753a4f1c9ea40bc045b by Eike Hein.
Committed on 04/04/2015 at 16:33.
Pushed by hein into branch 'Plasma/5.2'.

Jump into the first column with results when navigating away from the search field.

Or do nothing, which fixes

M  +12   -4    applets/kicker/package/contents/ui/FullRepresentation.qml

http://commits.kde.org/plasma-desktop/d53ae685e13c4789bc41b753a4f1c9ea40bc045b
Comment 4 Bhushan Shah 2015-04-04 16:46:13 UTC
Created attachment 91886 [details]
problem

Still can reproduce
Comment 5 Eike Hein 2015-04-04 17:09:21 UTC
Git commit e02467941700688fe56b923ab3cd3e3d27fac7d1 by Eike Hein.
Committed on 04/04/2015 at 17:08.
Pushed by hein into branch 'Plasma/5.2'.

Skip over empty columns when doing keyboard nav between runner matches columns.

Implicity a fix for
but adds an additional sanity check anyway.

M  +32   -8    applets/kicker/package/contents/ui/FullRepresentation.qml
M  +1    -1    applets/kicker/package/contents/ui/ItemListView.qml

http://commits.kde.org/plasma-desktop/e02467941700688fe56b923ab3cd3e3d27fac7d1