diff options
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java b/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java index 212a36ab4..bc159ef5c 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java +++ b/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java @@ -525,14 +525,17 @@ public abstract class AnimatorBase implements GLAnimatorControl { /** * Should be called in case of an uncaught exception * from within the animator thread, throws given exception if no handler has been installed. + * @return {@code true} if handled, otherwise {@code false}. In case of {@code false}, + * caller needs to propagate the exception. */ - protected final synchronized void handleUncaughtException(final UncaughtAnimatorException ue) { + protected final synchronized boolean handleUncaughtException(final UncaughtAnimatorException ue) { if( null != uncaughtExceptionHandler ) { try { uncaughtExceptionHandler.uncaughtException(this, ue.getGLAutoDrawable(), ue.getCause()); } catch (final Throwable t) { /* ignore intentionally */ } + return true; } else { - throw ue; + return false; } } @@ -543,7 +546,7 @@ public abstract class AnimatorBase implements GLAnimatorControl { * The animator instance shall not be locked when calling this method! * </p> */ - protected final synchronized void flushGLRunnables() { + protected final void flushGLRunnables() { for (int i=0; i<drawables.size(); i++) { drawables.get(i).flushGLRunnables(); } |