Version: unspecified (using Devel) OS: Linux Reproducible: Didn't try Steps to Reproduce: * go into a folder with (say) 20 files * press Ctrl+A to "Select All" * note that hovering over the selected files shows the red "-" icon at the top-left corner to deselect * right-click on an item * cancel the menu by left-clicking outside Dolphins window * hover over still selected files Actual Results: The "-" icon stops appearing when hovering over the items Expected Results: It should still appear It works correctly, if you cancel the menu by clicking into the Dolphin window.
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.