6699328: NullPointerException in EventQueue.dispatchEvent when applet is closed, only reprise/scenario applet
Reviewed-by: bchristi
This commit is contained in:
parent
b4ae1216b3
commit
1dce4ceddd
@ -133,42 +133,46 @@ public class SwingUtilities3 {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterDispatch(AWTEvent event, Object handle) {
|
||||
public void afterDispatch(AWTEvent event, Object handle) throws InterruptedException {
|
||||
afterDispatchEventArgument[0] = event;
|
||||
afterDispatchHandleArgument[0] = handle;
|
||||
try {
|
||||
afterDispatchCallable.call();
|
||||
} catch (InterruptedException e) {
|
||||
throw e;
|
||||
} catch (RuntimeException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
if (e instanceof RuntimeException) {
|
||||
throw (RuntimeException) e;
|
||||
}
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object beforeDispatch(AWTEvent event) {
|
||||
public Object beforeDispatch(AWTEvent event) throws InterruptedException {
|
||||
beforeDispatchEventArgument[0] = event;
|
||||
try {
|
||||
return beforeDispatchCallable.call();
|
||||
} catch (InterruptedException e) {
|
||||
throw e;
|
||||
} catch (RuntimeException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
if (e instanceof RuntimeException) {
|
||||
throw (RuntimeException) e;
|
||||
}
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AWTEvent getNextEvent(EventQueue eventQueue) {
|
||||
public AWTEvent getNextEvent(EventQueue eventQueue) throws InterruptedException {
|
||||
getNextEventEventQueueArgument[0] = eventQueue;
|
||||
try {
|
||||
return getNextEventCallable.call();
|
||||
} catch (InterruptedException e) {
|
||||
throw e;
|
||||
} catch (RuntimeException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
if (e instanceof RuntimeException) {
|
||||
throw (RuntimeException) e;
|
||||
}
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ public class EventQueueDelegate {
|
||||
* @param event to be dispatched by {@code dispatch} method
|
||||
* @return handle to be passed to {@code afterDispatch} method
|
||||
*/
|
||||
public Object beforeDispatch(AWTEvent event);
|
||||
public Object beforeDispatch(AWTEvent event) throws InterruptedException;
|
||||
|
||||
/**
|
||||
* Notifies delegate after EventQueue.dispatch method.
|
||||
@ -66,6 +66,6 @@ public class EventQueueDelegate {
|
||||
* @param event {@code event} dispatched by the {@code dispatch} method
|
||||
* @param handle object which came from {@code beforeDispatch} method
|
||||
*/
|
||||
public void afterDispatch(AWTEvent event, Object handle);
|
||||
public void afterDispatch(AWTEvent event, Object handle) throws InterruptedException;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user