From f1a8f0d215853cd5e925137db9df455402c3c3f8 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Sequoia Date: Thu, 16 Jun 2022 00:10:26 -0700 Subject: XQuartz: Ensure scroll events are delivered to a single window (not both X11 and AppKit) Fixes: https://github.com/XQuartz/XQuartz/issues/130 Signed-off-by: Jeremy Huddleston Sequoia (cherry picked from commit 4532b696c644cb7f21e96cf76d3e6b21ccc0e309) --- hw/xquartz/X11Application.m | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m index 3768f7fc1..ec2a13d9e 100644 --- a/hw/xquartz/X11Application.m +++ b/hw/xquartz/X11Application.m @@ -315,6 +315,8 @@ message_kit_thread(SEL selector, NSObject *arg) case NSLeftMouseUp: case NSRightMouseUp: case NSOtherMouseUp: + case NSScrollWheel: + if ([e window] != nil) { /* Pointer event has an (AppKit) window. Probably something for the kit. */ for_x = NO; @@ -532,12 +534,14 @@ message_kit_thread(SEL selector, NSObject *arg) break; /* for gcc */ } - if (for_appkit) [super sendEvent:e]; + if (for_appkit) { + [super sendEvent:e]; + } if (for_x) { dispatch_async(eventTranslationQueue, ^{ - [self sendX11NSEvent:e]; - }); + [self sendX11NSEvent:e]; + }); } } -- cgit v1.2.3