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