diff options
author | mm <40793342+moiman100@users.noreply.github.com> | 2018-07-08 16:12:13 +0300 |
---|---|---|
committer | unknown <40793342+moiman100@users.noreply.github.com> | 2018-07-11 01:15:03 +0300 |
commit | bd9c592c528034a58f4ede0bd2ba06760dd360b5 (patch) | |
tree | 4b8e95c7b69af6b1609bf5ee846f314312baa8ec /platform/osx | |
parent | a184126e8b2a74b47137b47001c1d11a092ccdaa (diff) |
Fixed button mask behavior
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 41a19ac992..3fce7ed4ad 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -1047,6 +1047,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(); @@ -1057,9 +1059,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); } |