summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Gheorghe <gheorghe@ca.ibm.com>2012-08-01 18:05:12 -0400
committerBogdan Gheorghe <gheorghe@ca.ibm.com>2012-08-01 18:05:12 -0400
commita521fb70cf0f8b26019c8a033cb117435dbcf6ed (patch)
tree7f5165ae649577b21fcfc64c1dfe7f56972d119d
parentc8dd5b3da6b7a6916253d606e26594090c7a78b4 (diff)
downloadeclipse.platform.swt-a521fb70cf0f8b26019c8a033cb117435dbcf6ed.tar.gz
eclipse.platform.swt-a521fb70cf0f8b26019c8a033cb117435dbcf6ed.tar.xz
eclipse.platform.swt-a521fb70cf0f8b26019c8a033cb117435dbcf6ed.zip
Bug 379590 - Run event loop while Tracker is up
-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