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