#8714 closed bug (fixed)
Quick left click then right click in Tracker acts like double left click.
Reported by: | jstressman | Owned by: | aldeck |
---|---|---|---|
Priority: | high | Milestone: | R1/alpha4 |
Component: | Applications/Tracker | Version: | R1/Development |
Keywords: | Cc: | mdisreali@… | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
Left clicking then right clicking in quick succession on an icon in Tracker (on the desktop or in a window) acts like you've double left clicked.
So left then right click on an image both opens the image in ShowImage and shows the right click context menu. The right click is acting both as a right click and as the second click of a double left click.
Change History (13)
comment:1 by , 12 years ago
Cc: | added |
---|
comment:2 by , 12 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
This must be a regression of my asynchronous mouse tracking rewrite a while ago. I've noticed something similar recently. I'll have a look shortly.
comment:3 by , 12 years ago
comment:4 by , 12 years ago
Milestone: | R1 → R1/alpha4 |
---|---|
Priority: | normal → high |
comment:5 by , 12 years ago
/add-ons/kernel/drivers/input/usb_hid/MouseProtocolHandler.cpp fClickSpeed(250000)
~/haiku/src/preferences/mouse/MouseSettings.cpp kDefaultClickSpeed 500000
./MouseConstants.h:const uint32 kMsgDoubleClickSpeed = 'SLdc';
I think the problem is that due to mouse speed settings both requirements for the menu and a Tracker window are met and therefore you have the annoying double function mouse combination bogosity.
Changing single and double click speeds seems to fix this.
WIndows double click: 500ms GNOME double click: 400ms
Does this help?
comment:6 by , 12 years ago
I just noticed more weirdness...
In the Backgrounds dialog for opening an image, if you left click on a large image and quickly click on a different image (while the first large image is loading its preview), the large image will be selected after a second and show the right click menu even though you never right clicked anything, and the second image you clicked is never selected.
comment:7 by , 12 years ago
It seems to me the problem here is that WasDoubleClick() in PoseView.cpp does not check whether the same button was clicked again, it just checks for any click. So either the button can be passed in to WasDoubleClick, or probably the better solution is that WasDoubleClick should not be called if the click was not with the primary mouse button. See:
http://cgit.haiku-os.org/haiku/tree/src/kits/tracker/PoseView.cpp#n6898
I'm pretty sure we don't want to handle a double-click not with the primary mouse button (or we should at least ignore a double right click and of course the problem in this bug.)
Though in all this I wonder why the double click handling isn't in BView...isn't there some sort of double-click handling there?
comment:8 by , 12 years ago
Wow I managed to crash Tracker while trying to reproduce this, due to a crash in BMenu::_Track, which is the horrible and disgusting mess which handles everything related to menu tracking. But that is another issue and the main point was I did reproduce this and will attempt to fix it with my above suggestion.
comment:9 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed more or less as I described in hrev44424. I should have just fixed it instead of posting the long comment above ;)
comment:10 by , 12 years ago
I can still reproduce this if I don't release the left button when clicking with the right.
comment:11 by , 12 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
I haven't check it yet myself but it makes sense thinking about the code. I just don't know what side affects there might be if the check for a right click masked out other buttons. I suppose not that much. I think with the exception of a right-drag we always want to a show a context menu on right-click regardless of what other buttons are down.
Re-opening this ticket.
comment:12 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Should be fixed in hrev44555. Thanks
On which revision(s) is this experienced?