ID:2598202
 
Resolved
Mouse movement didn't register after releasing a drag if you had pressed and held a different mouse button in the meantime.
BYOND Version:513
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 84.0.4147.105
Applies to:Dream Seeker
Status: Resolved (513.1529)

This issue has been resolved.
Descriptive Problem Summary:

When dragging the mouse, movement stops registering if you switch mouse buttons. Specifically you must:

- Drag using one button
- Press and hold another button during the drag. Moving the mouse at this point will still call the mouse procs.
- Now release the FIRST button. Moving the mouse does not trigger procs.

Code Snippet (if applicable) to Reproduce Problem:
client
MouseDrag(src_object,over_object,src_location,over_location,src_control,over_control,params)
world << "Dragging: [params]"
MouseMove(location,control,params)
world << "Moving: [params]"

New()
..()
winset(src, ":map", "right-click=true")


Expected Results:

Mouse dragging should continue if any buttons are held down

Actual Results:

The second button pressed doesn't register at all. I noticed that in the mouse params, you can see that whichever button was started with, remains in the params. So if you start with left button, pressing the right button does not add "right" to the params, which makes sense as to why the drag stops when the left is released.

Workarounds:

None that I know of. Moving the mouse in this special case doesn't register for MouseMove() either. We're stuck in limbo!

Here's my test program:
https://srv-file7.gofile.io/download/6IdtU0/dragbug.zip

Lummox JR resolved issue with message:
Mouse movement didn't register after releasing a drag if you had pressed and held a different mouse button in the meantime.