From 50ded2aa5f9e3995d993f896e58d51fb892dc17d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 15 Feb 2008 12:18:35 +0000 Subject: [PATCH] [fix] Synchronize waitAndDispatch implementations --- .../org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java index 67cdaef27a0..d9323a86867 100644 --- a/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java +++ b/rse/tests/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/RSEWaitAndDispatchUtil.java @@ -108,12 +108,12 @@ public final class RSEWaitAndDispatchUtil { boolean isTimedOut= false; if (timeout >= 0 && condition != null) { long start = System.currentTimeMillis(); - Display display = Display.findDisplay(Thread.currentThread()); + final Display display = Display.findDisplay(Thread.currentThread()); if (display != null) { // ok, we are running within a display thread --> keep the // display event dispatching running. long current = System.currentTimeMillis(); - while (timeout == 0 || (current - start) < timeout) { + while (timeout == 0 || (current - start) < timeout && !display.isDisposed()) { if (condition.isTrue()) break; if (!display.readAndDispatch()) display.sleep(); current = System.currentTimeMillis();