diff options
author | Bogdan Gheorghe <gheorghe@ca.ibm.com> | 2012-08-01 18:05:12 -0400 |
---|---|---|
committer | Bogdan Gheorghe <gheorghe@ca.ibm.com> | 2012-08-01 18:05:12 -0400 |
commit | a521fb70cf0f8b26019c8a033cb117435dbcf6ed (patch) | |
tree | 7f5165ae649577b21fcfc64c1dfe7f56972d119d /bundles/org.eclipse.swt/Eclipse SWT/win32/org | |
parent | c8dd5b3da6b7a6916253d606e26594090c7a78b4 (diff) | |
download | eclipse.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
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/win32/org')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tracker.java | 4 |
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 |