From 9c8721922b13a6789c9fed971f8550bda3099f7a Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Sun, 7 Feb 2021 16:04:07 +0100 Subject: [PATCH] Fix: [OSX] An emulated right mouse down event has to be followed by right mouse up. --- src/video/cocoa/cocoa_wnd.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/video/cocoa/cocoa_wnd.mm b/src/video/cocoa/cocoa_wnd.mm index 8c947fe046..5a3de7e553 100644 --- a/src/video/cocoa/cocoa_wnd.mm +++ b/src/video/cocoa/cocoa_wnd.mm @@ -451,6 +451,7 @@ void CocoaDialog(const char *title, const char *message, const char *buttonLabel @implementation OTTD_CocoaView { float _current_magnification; NSUInteger _current_mods; + bool _emulated_down; } /** @@ -564,6 +565,7 @@ void CocoaDialog(const char *title, const char *message, const char *buttonLabel - (void)mouseDown:(NSEvent *)event { if ([ self emulateRightButton:event ]) { + self->_emulated_down = true; [ self rightMouseDown:event ]; } else { _left_button_down = true; @@ -572,7 +574,7 @@ void CocoaDialog(const char *title, const char *message, const char *buttonLabel } - (void)mouseUp:(NSEvent *)event { - if ([ self emulateRightButton:event ]) { + if (self->_emulated_down) { [ self rightMouseUp:event ]; } else { _left_button_down = false;