From f176c6697ec73edc76bd753f0851beae1b67165b Mon Sep 17 00:00:00 2001 From: Silenio Quarti Date: Tue, 26 Mar 2013 14:39:15 -0400 Subject: Bug 403102 - [GTK3] pointer image is often wrong when moving from editor to view --- .../Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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; } -- cgit