Update client click handling for 514 (#77316)

Hey! its 515 time, so i thought we should close up the last compability
change from 514 that slipped thru the cracks.

under 514 the LEFT/RIGHT/MIDDLE mouse button keys to the mouse param
list are set if they are pressed at all, while the `button` param says
which mouse button being clicked triggered that action.

More mouse code likely needs to be changed to account for this, but this
is the most critical path that cared about the distinction between which
buttons are being held and which button triggered the current mouse
action.

Fixes #76836 maybe?
This commit is contained in:
Kyle Spier-Swenson
2023-08-03 10:31:05 +12:00
committed by GitHub
parent db5b78fda7
commit 0fde2a7651
+4 -2
View File
@@ -823,11 +823,13 @@ GLOBAL_LIST_INIT(blacklisted_builds, list(
var/ab = FALSE
var/list/modifiers = params2list(params)
var/button_clicked = LAZYACCESS(modifiers, "button")
var/dragged = LAZYACCESS(modifiers, DRAG)
if(dragged && !LAZYACCESS(modifiers, dragged)) //I don't know what's going on here, but I don't trust it
if(dragged && button_clicked != dragged)
return
if (object && IS_WEAKREF_OF(object, middle_drag_atom_ref) && LAZYACCESS(modifiers, LEFT_CLICK))
if (object && IS_WEAKREF_OF(object, middle_drag_atom_ref) && button_clicked == LEFT_CLICK)
ab = max(0, 5 SECONDS-(world.time-middragtime)*0.1)
var/mcl = CONFIG_GET(number/minute_click_limit)