summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2011-11-17 18:11:23 +0800
committerAngus Kong <shkong@google.com>2011-11-18 12:53:36 +0800
commit0cefcea01849364be6955a1b3f7e7d1639010abc (patch)
tree46f3bbd0a29876c995a6a4acf25591405658d54f /src
parent10a42f4b16bf43c686f10bfac5d879b46421fbb0 (diff)
downloadLegacyCamera-0cefcea01849364be6955a1b3f7e7d1639010abc.zip
LegacyCamera-0cefcea01849364be6955a1b3f7e7d1639010abc.tar.gz
LegacyCamera-0cefcea01849364be6955a1b3f7e7d1639010abc.tar.bz2
Fix OpenGL processing when activity is not active.
bug:5624690 Change-Id: I87af684e165a275adb4b765a86a2df2b62137ca0
Diffstat (limited to 'src')
-rwxr-xr-xsrc/com/android/camera/panorama/PanoramaActivity.java6
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);
}