diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2018-12-14 23:31:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-14 23:31:52 +0100 |
commit | 57c3f6a94ba547cfb4c3bcfd7a3e2e784239fd4e (patch) | |
tree | 2d86291ab8b732297206b28cad8cfdea3e38f0a0 /platform/osx | |
parent | 46f73c366df4377a69c26ee295db26956a90531b (diff) | |
parent | bd9c592c528034a58f4ede0bd2ba06760dd360b5 (diff) |
Merge pull request #20063 from moiman100/fix-button-mask
Unified button mask behavior across platforms
Diffstat (limited to 'platform/osx')
-rw-r--r-- | platform/osx/os_osx.mm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index f8dec3ec7a..dd82e982ed 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -1075,6 +1075,8 @@ static int remapKey(unsigned int key) { inline void sendScrollEvent(int button, double factor, int modifierFlags) { + unsigned int mask = 1 << (button - 1); + Ref<InputEventMouseButton> sc; sc.instance(); @@ -1085,9 +1087,13 @@ inline void sendScrollEvent(int button, double factor, int modifierFlags) { Vector2 mouse_pos = Vector2(mouse_x, mouse_y); sc->set_position(mouse_pos); sc->set_global_position(mouse_pos); + button_mask |= mask; sc->set_button_mask(button_mask); OS_OSX::singleton->push_input(sc); + sc->set_pressed(false); + button_mask &= ~mask; + sc->set_button_mask(button_mask); OS_OSX::singleton->push_input(sc); } |