aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java9
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();
}