diff options
author | Angus Kong <shkong@google.com> | 2011-11-17 18:11:23 +0800 |
---|---|---|
committer | Angus Kong <shkong@google.com> | 2011-11-18 12:53:36 +0800 |
commit | 0cefcea01849364be6955a1b3f7e7d1639010abc (patch) | |
tree | 46f3bbd0a29876c995a6a4acf25591405658d54f | |
parent | 10a42f4b16bf43c686f10bfac5d879b46421fbb0 (diff) | |
download | LegacyCamera-0cefcea01849364be6955a1b3f7e7d1639010abc.zip LegacyCamera-0cefcea01849364be6955a1b3f7e7d1639010abc.tar.gz LegacyCamera-0cefcea01849364be6955a1b3f7e7d1639010abc.tar.bz2 |
Fix OpenGL processing when activity is not active.
bug:5624690
Change-Id: I87af684e165a275adb4b765a86a2df2b62137ca0
-rwxr-xr-x | src/com/android/camera/panorama/PanoramaActivity.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/android/camera/panorama/PanoramaActivity.java b/src/com/android/camera/panorama/PanoramaActivity.java index a99e7be..bda0381 100755 --- a/src/com/android/camera/panorama/PanoramaActivity.java +++ b/src/com/android/camera/panorama/PanoramaActivity.java @@ -492,10 +492,16 @@ public class PanoramaActivity extends ActivityBase implements /* This function may be called by some random thread, * so let's be safe and use synchronize. No OpenGL calls can be done here. */ + // Frames might still be available after the activity is paused. If we call onFrameAvailable + // after pausing, the GL thread will crash. + if (mPausing) return; + // Updating the texture should be done in the GL thread which mMosaicView is attached. mMosaicView.queueEvent(new Runnable() { @Override public void run() { + // Check if the activity is paused here can speed up the onPause() process. + if (mPausing) return; mSurfaceTexture.updateTexImage(); mSurfaceTexture.getTransformMatrix(mTransformMatrix); } |