diff options
Diffstat (limited to 'src/share/classes/java/awt/Container.java')
-rw-r--r-- | src/share/classes/java/awt/Container.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/share/classes/java/awt/Container.java b/src/share/classes/java/awt/Container.java index 94273ade4..5a8e3a22d 100644 --- a/src/share/classes/java/awt/Container.java +++ b/src/share/classes/java/awt/Container.java @@ -4492,7 +4492,10 @@ class LightweightDispatcher implements java.io.Serializable, AWTEventListener { retargetMouseEvent(mouseOver, id, e); break; } - e.consume(); + //Consuming of wheel events is implemented in "retargetMouseEvent". + if (id != MouseEvent.MOUSE_WHEEL) { + e.consume(); + } } return e.isConsumed(); } @@ -4800,6 +4803,12 @@ class LightweightDispatcher implements java.io.Serializable, AWTEventListener { target.dispatchEvent(retargeted); } } + if (id == MouseEvent.MOUSE_WHEEL && retargeted.isConsumed()) { + //An exception for wheel bubbling to the native system. + //In "processMouseEvent" total event consuming for wheel events is skipped. + //Protection from bubbling of Java-accepted wheel events. + e.consume(); + } } } |