From 75566563a93f07334aa0c58b632e1fd81057f518 Mon Sep 17 00:00:00 2001 From: Grant Gayed Date: Thu, 10 Jun 2004 16:56:58 +0000 Subject: 66386 --- .../Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java') diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java index e25d0e5edd..90b604c073 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java @@ -381,7 +381,7 @@ public boolean open () { } // fall through case OS.GDK_BUTTON_RELEASE: - OS.gdk_window_get_pointer (window, newX,newY, null); + OS.gdk_window_get_pointer (window, newX, newY, null); if (oldX [0] != newX [0] || oldY [0] != newY [0]) { Rectangle [] oldRectangles = rectangles; Rectangle [] rectsToErase = new Rectangle [rectangles.length]; @@ -390,8 +390,14 @@ public boolean open () { rectsToErase [i] = new Rectangle (current.x, current.y, current.width, current.height); } Event event = new Event (); - event.x = newX [0]; - event.y = newY [0]; + if (parent == null) { + event.x = newX [0]; + event.y = newY [0]; + } else { + Point screenCoord = display.map (parent, null, newX [0], newY [0]); + event.x = screenCoord.x; + event.y = screenCoord.y; + } if ((style & SWT.RESIZE) != 0) { resizeRectangles (newX [0] - oldX [0], newY [0] - oldY [0]); sendEvent (SWT.Resize, event); -- cgit