Summary: | +/- selection icons stop appearing after aborting context menu | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Christoph Feck <cfeck> |
Component: | general | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED INTENTIONAL | ||
Severity: | minor | CC: | frank78ac |
Priority: | NOR | Keywords: | investigated |
Version First Reported In: | 2.1 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Christoph Feck
2011-04-20 02:50:15 UTC
The place where it goes wrong is in SelectionManager::slotEntered(const QModelIndex& index), which is called when the mouse cursor enters an item in the view. In the described use case, 'QApplication::mouseButtons()' returns 'Qt::LeftButton '(even though the button isn't pressed at all), such that the bool 'isSelectionCandidate' is set to false. Looks like a Qt bug to me. It seems that the application gets the 'mouse press' event when the left-click outside the Dolphin window is done, but not the release event, because the Dolphin window doesn't have the focus any more when the button is released. The result is that Qt thinks that the button is still pressed. We had a very similar problem concerning keyboard modifiers (bug 178679), maybe the mouse button issue can be solved in a similar way. I'll try to have a look when I find some time. Resetting assignee to default as per bug #305719 Reported to Qt: https://bugreports.qt-project.org/browse/QTBUG-33161 Apparently the behavior of QApplication::mouseButtons() is intentional. Therefore, we could only fix this by using something different to find the current state of the mouse buttons. I am not planning to do this (I don't even know if there is a good cross-platform way to do that), so the correct resolution is WONTFIX. Sorry about that. |