diff --git a/kittens/dnd/drop.go b/kittens/dnd/drop.go index 31ba9acc2..fc1d2d08b 100644 --- a/kittens/dnd/drop.go +++ b/kittens/dnd/drop.go @@ -634,8 +634,8 @@ func (dnd *dnd) on_drop_move(cell_x, cell_y int, has_more bool, offered_mimes st } } // Restrict to operations allowed by the drag source. - if sao := dnd.drop_status.source_allowed_ops; sao != 0 && dnd.drop_status.action != 0 { - if sao&dnd.drop_status.action == 0 { + if allowed := dnd.drop_status.source_allowed_ops; allowed != 0 && dnd.drop_status.action != 0 { + if allowed&dnd.drop_status.action == 0 { dnd.drop_status.action = 0 dnd.drop_status.accepted_mimes = nil } diff --git a/kitty_tests/dnd_kitten.py b/kitty_tests/dnd_kitten.py index 55fa8ffc0..1b7b9e04d 100644 --- a/kitty_tests/dnd_kitten.py +++ b/kitty_tests/dnd_kitten.py @@ -210,14 +210,14 @@ def test_dnd_kitten_drop_allowed_ops(self): self.wait_for_state('drop_action', GLFW_DRAG_OPERATION_COPY) dnd_test_fake_drop_event(wid, False) dnd_test_fake_drop_event(wid, False, mimes, move[0] + 1, move[1] + 1, 1) - self.wait_for_state('drop_action', 0) # GLFW_DRAG_OPERATION_NONE + self.wait_for_state('drop_action', 0) # GLFW_DRAG_OPERATION_NONE: source allows copy only, move box must reject dnd_test_fake_drop_event(wid, False) # allowed_ops=2 means move-only in kitten format dnd_test_fake_drop_event(wid, False, mimes, move[0] + 1, move[1] + 1, 2) self.wait_for_state('drop_action', GLFW_DRAG_OPERATION_MOVE) dnd_test_fake_drop_event(wid, False) dnd_test_fake_drop_event(wid, False, mimes, copy[0] + 1, copy[1] + 1, 2) - self.wait_for_state('drop_action', 0) # GLFW_DRAG_OPERATION_NONE + self.wait_for_state('drop_action', 0) # GLFW_DRAG_OPERATION_NONE: source allows move only, copy box must reject dnd_test_fake_drop_event(wid, False) # allowed_ops=3 means both copy and move allowed (default) for b, expected in ((copy, GLFW_DRAG_OPERATION_COPY), (move, GLFW_DRAG_OPERATION_MOVE)):