| Summary: | no current item set if mouse is already above one | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Harald Sitter <sitter> |
| Component: | Application Launcher (Kickoff) widget | Assignee: | David Edmundson <kde> |
| Status: | RESOLVED INTENTIONAL | ||
| Severity: | normal | CC: | bugseforuns, nate, plasma-bugs-null |
| Priority: | NOR | ||
| Version First Reported In: | master | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
I am also not quite sure why onPressed maps an item for left clicking but for right clicking it maps a (potentially?) different item and then invokes listView.currentItem. It seems to me both button types should use the local `item`? This was a deliberate change; see https://cgit.kde.org/plasma-desktop.git/commit/?id=48b32259e73f374a456ed836ba44e3effe2baee5. We got bug reports on the old behavior (Bug 397693). |
If I am reading the current code right then the current item of the listview is only changed once the mouse area got onPositionChanged and mapped to an actual item. This leads to items not being right clickable when the mouse is already positioned above it. STEPS TO REPRODUCE 1. hit meta to open kickoff 2. position mouse above an entry 3. hit esc to close kickoff 4. hit meta to open kickoff 5. right click without moving the mouse OBSERVED RESULT Nothing happens. > file:///usr/share/plasma/plasmoids/org.kde.plasma.kickoff/contents/ui/KickoffListView.qml:128: TypeError: Cannot call method 'openActionMenu' of null EXPECTED RESULT The item under the mouse cursor should get its context menu shown. SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: 5.15 (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION Supposedly running the current item calculation on Component.onCompleted to determine if the mouse is already above an item would be sufficient to solve this problem.