From 5d1f83812ec52d595d2de2c4c7a280cdb56e705e Mon Sep 17 00:00:00 2001 From: Artem Bochkarev Date: Wed, 16 May 2018 18:23:45 +0700 Subject: [PATCH] fixed IDEA-192029: Touch bar blinks when scrolling the file --- .../src/com/intellij/ui/mac/touchbar/TouchBarsManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/ui/mac/touchbar/TouchBarsManager.java b/platform/platform-impl/src/com/intellij/ui/mac/touchbar/TouchBarsManager.java index 0d255762ddd0..bfdc8b506742 100644 --- a/platform/platform-impl/src/com/intellij/ui/mac/touchbar/TouchBarsManager.java +++ b/platform/platform-impl/src/com/intellij/ui/mac/touchbar/TouchBarsManager.java @@ -38,6 +38,7 @@ import javax.swing.*; import javax.swing.Timer; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; +import java.awt.event.MouseWheelEvent; import java.util.*; public class TouchBarsManager { @@ -175,6 +176,11 @@ public class TouchBarsManager { if (!isTouchBarAvailable()) return; + // NOTE: skip wheel-events, because scrolling by touchpad produces mouse-wheel events with pressed modifier, expamle: + // MouseWheelEvent[MOUSE_WHEEL,(890,571),absolute(0,0),button=0,modifiers=⇧,extModifiers=⇧,clickCount=0,scrollType=WHEEL_UNIT_SCROLL,scrollAmount=1,wheelRotation=0,preciseWheelRotation=0.1] on frame0 + if (e instanceof MouseWheelEvent) + return; + if (ourCurrentKeyMask != e.getModifiersEx()) { // LOG.debug("change current mask: 0x%X -> 0x%X\n", ourCurrentKeyMask, e.getModifiersEx()); ourCurrentKeyMask = e.getModifiersEx();