ID:2906703
 
Resolved
Mouse drags would sometimes produce a MouseDrop() call even when dropping over the same object as when the drag began, which was incorrect. This happened subsequent to other drags where the MouseDrop() was correctly treated as a Click() instead.
BYOND Version:515.1623
Operating System:Windows 11 Home
Web Browser:Chrome 120.0.0.0
Applies to:Dream Seeker
Status: Resolved (515.1624)

This issue has been resolved.
Descriptive Problem Summary:
The bug is that sometimes a spurious MouseDrop() call was made on release, when the drag hadn't moved over a new icon.

Numbered Steps to Reproduce Problem:

Code Snippet (if applicable) to Reproduce Problem:
client/MouseEntered(src_object,src_location,src_id,params)
src << "Enter: src_object=[src_object], src_location=[src_location], src_id=[src_id], params=[params]"
client/MouseExited(src_object,src_location,src_id,params)
src << "Exit: src_object=[src_object], src_location=[src_location], src_id=[src_id], params=[params]"
client/MouseDrag(src_object,over_object,src_location,over_location,src_id,over_id,params)
src << "Drag: src_object=[src_object], over_object=[over_object], src_location=[src_location], over_location=[over_location], src_id=[src_id], over_id=[over_id], params=[params]"
client/MouseDown(src_object,src_location,src_id,params)
src << "Down: src_object=[src_object], src_location=[src_location], src_id=[src_id], params=[params]"
client/MouseUp(src_object,src_location,src_id,params)
src << "Up: src_object=[src_object], src_location=[src_location], src_id=[src_id], params=[params]"

client/MouseMove(src_object,src_location,src_id,params)
src << "Move: src_object=[src_object], src_location=[src_location], src_id=[src_id], params=[params]"

client/MouseDrop(src_object,over_object,src_location,over_location,src_id,over_id,params)
src << "Drop: src_object=[src_object], over_object=[over_object], src_location=[src_location], over_location=[over_location], src_id=[src_id], over_id=[over_id], params=[params]"
client/Click(src_object,src_location,src_id,params)
src << "Click: src_object=[src_object], src_location=[src_location][isturf(src_location) ? " ([src_location:x],[src_location:y],[src_location:z])" : null], src_id=[src_id], params=[params]"
..()
client/DblClick(src_object,src_location,src_id,params)
src << "DblClick: src_object=[src_object], src_location=[src_location][isturf(src_location) ? " ([src_location:x],[src_location:y],[src_location:z])" : null], src_id=[src_id], params=[params]"
..()


Expected Results:
MouseDrop() should when it's on the object.
Actual Results:
Randomly works/doesn't.
Does the problem occur:
Everytime.

When does the problem NOT occur?

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)

Workarounds:

Lummox JR resolved issue with message:
Mouse drags would sometimes produce a MouseDrop() call even when dropping over the same object as when the drag began, which was incorrect. This happened subsequent to other drags where the MouseDrop() was correctly treated as a Click() instead.