summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
diff options
context:
space:
mode:
authorGrant Gayed <ggayed>2004-06-10 16:56:58 +0000
committerGrant Gayed <ggayed>2004-06-10 16:56:58 +0000
commit75566563a93f07334aa0c58b632e1fd81057f518 (patch)
treec300b3ab9935f85b4a065ceb808825ca9384126b /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
parent1179f16912e74ae60b1efbf009a154d76fd2bb7e (diff)
downloadeclipse.platform.swt-75566563a93f07334aa0c58b632e1fd81057f518.tar.gz
eclipse.platform.swt-75566563a93f07334aa0c58b632e1fd81057f518.tar.xz
eclipse.platform.swt-75566563a93f07334aa0c58b632e1fd81057f518.zip
66386
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java12
1 files changed, 9 insertions, 3 deletions
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);