summaryrefslogtreecommitdiff
path: root/platform/osx
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2018-12-14 23:31:52 +0100
committerGitHub <noreply@github.com>2018-12-14 23:31:52 +0100
commit57c3f6a94ba547cfb4c3bcfd7a3e2e784239fd4e (patch)
tree2d86291ab8b732297206b28cad8cfdea3e38f0a0 /platform/osx
parent46f73c366df4377a69c26ee295db26956a90531b (diff)
parentbd9c592c528034a58f4ede0bd2ba06760dd360b5 (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.mm6
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);
}