From 4532b696c644cb7f21e96cf76d3e6b21ccc0e309 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Date: Thu, 16 Jun 2022 00:10:26 -0700 Subject: [PATCH] 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 <jeremyhu@apple.com> --- 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 b0550b69aa..dd96e89f7e 100644 --- a/hw/xquartz/X11Application.m +++ b/hw/xquartz/X11Application.m @@ -267,6 +267,8 @@ QuartzModeBundleInit(void); 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; @@ -466,12 +468,14 @@ QuartzModeBundleInit(void); 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]; + }); } } -- GitLab