Merge "Import revised translations.  DO NOT MERGE" into ics-mr0
diff --git a/src/com/android/camera/EffectsRecorder.java b/src/com/android/camera/EffectsRecorder.java
index d3b277d..a561011 100644
--- a/src/com/android/camera/EffectsRecorder.java
+++ b/src/com/android/camera/EffectsRecorder.java
@@ -562,8 +562,19 @@
             synchronized(EffectsRecorder.this) {
                 mTextureSource = source;
 
-                if (mState == STATE_RELEASED) return;
-
+                if (mState == STATE_CONFIGURE) {
+                    // Stop preview happened while the runner was doing startup tasks
+                    // Since we haven't started anything up, don't do anything
+                    // Rest of cleanup will happen in onRunnerDone
+                    if (mLogVerbose) Log.v(TAG, "Ready callback: Already stopped, skipping.");
+                    return;
+                }
+                if (mState == STATE_RELEASED) {
+                    // EffectsRecorder has been released, so don't touch the camera device
+                    // or anything else
+                    if (mLogVerbose) Log.v(TAG, "Ready callback: Already released, skipping.");
+                    return;
+                }
                 if (source == null) {
                     if (mState == STATE_PREVIEW ||
                             mState == STATE_STARTING_PREVIEW ||