From 22edf6b2e4e75195b83ae1c4da61e3bf623802b0 Mon Sep 17 00:00:00 2001 From: Ruei-sung Lin Date: Mon, 30 Apr 2012 17:16:44 -0700 Subject: [PATCH] Fix b/5821633: Could not activate GLEnvironment Change-Id: I35a05eb24299b85a869b973599a091381369aac2 --- .../java/android/filterfw/core/GLEnvironment.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/media/mca/filterfw/java/android/filterfw/core/GLEnvironment.java b/media/mca/filterfw/java/android/filterfw/core/GLEnvironment.java index fcf5f5dcbd29d..19d564c9a4d0f 100644 --- a/media/mca/filterfw/java/android/filterfw/core/GLEnvironment.java +++ b/media/mca/filterfw/java/android/filterfw/core/GLEnvironment.java @@ -31,6 +31,8 @@ public class GLEnvironment { private int glEnvId; + private boolean mManageContext = true; + public GLEnvironment() { nativeAllocate(); } @@ -51,12 +53,14 @@ public class GLEnvironment { } public void initWithNewContext() { + mManageContext = true; if (!nativeInitWithNewContext()) { throw new RuntimeException("Could not initialize GLEnvironment with new context!"); } } public void initWithCurrentContext() { + mManageContext = false; if (!nativeInitWithCurrentContext()) { throw new RuntimeException("Could not initialize GLEnvironment with current context!"); } @@ -78,13 +82,13 @@ public class GLEnvironment { if (Looper.myLooper() != null && Looper.myLooper().equals(Looper.getMainLooper())) { Log.e("FilterFramework", "Activating GL context in UI thread!"); } - if (!nativeActivate()) { + if (mManageContext && !nativeActivate()) { throw new RuntimeException("Could not activate GLEnvironment!"); } } public void deactivate() { - if (!nativeDeactivate()) { + if (mManageContext && !nativeDeactivate()) { throw new RuntimeException("Could not deactivate GLEnvironment!"); } }