diff options
author | Silenio Quarti <silenio_quarti@ca.ibm.com> | 2013-03-26 14:39:15 -0400 |
---|---|---|
committer | Silenio Quarti <silenio_quarti@ca.ibm.com> | 2013-03-26 14:39:15 -0400 |
commit | f176c6697ec73edc76bd753f0851beae1b67165b (patch) | |
tree | 8516b260889ca41ccaa4965921de60f726ddb52a | |
parent | 909651a993a4aca0e76ac73682f21d1110dd7f9b (diff) | |
download | eclipse.platform.swt-f176c6697ec73edc76bd753f0851beae1b67165b.tar.gz eclipse.platform.swt-f176c6697ec73edc76bd753f0851beae1b67165b.tar.xz eclipse.platform.swt-f176c6697ec73edc76bd753f0851beae1b67165b.zip |
Bug 403102 - [GTK3] pointer image is often wrong when moving from editor to view
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java index 0229d47fe8..ec36b15bae 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java @@ -3283,6 +3283,16 @@ long /*int*/ gtk_motion_notify_event (long /*int*/ widget, long /*int*/ event) { y = pointer_y [0]; state = mask [0]; } + if (OS.GTK3 && this != display.currentControl) { + if (display.currentControl != null && !display.currentControl.isDisposed ()) { + display.removeMouseHoverTimeout (display.currentControl.handle); + display.currentControl.sendMouseEvent (SWT.MouseExit, 0, gdkEvent.time, x, y, false, state); + } + if (!isDisposed ()) { + display.currentControl = this; + sendMouseEvent (SWT.MouseEnter, 0, gdkEvent.time, x, y, false, state); + } + } int result = sendMouseEvent (SWT.MouseMove, 0, gdkEvent.time, x, y, gdkEvent.is_hint != 0, state) ? 0 : 1; return result; } |