summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java
index 0f7abb3aa1..b660abb9a9 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java
@@ -569,11 +569,14 @@ public boolean open () {
oldY = cursorPos.y;
}
+ Display display = this.display;
try {
/* Tracker behaves like a Dialog with its own OS event loop. */
MSG msg = new MSG ();
while (tracking && !cancelled) {
if (parent != null && parent.isDisposed ()) break;
+ display.runSkin ();
+ display.runDeferredLayouts ();
OS.GetMessage (msg, 0, 0, 0);
OS.TranslateMessage (msg);
switch (msg.message) {
@@ -609,6 +612,7 @@ public boolean open () {
update ();
drawRectangles (rectangles, stippled);
}
+ display.runAsyncMessages (false);
} finally {
/*
* Cleanup: If a transparent window was created in order to capture events then