am 43a760ba: Merge "Don\'t crash on Surface.unlockAndPost() but log & try again Bug #6482593" into jb-dev

* commit '43a760ba84a5357bae792a33ad4a0e946f02679c':
  Don't crash on Surface.unlockAndPost() but log & try again Bug #6482593
This commit is contained in:
Romain Guy
2012-05-18 16:27:20 -07:00
committed by Android Git Automerger

View File

@@ -2257,7 +2257,7 @@ public final class ViewRootImpl implements ViewParent,
mLayoutRequested = true; // ask wm for a new surface next time.
return false;
} catch (IllegalArgumentException e) {
Log.e(TAG, "IllegalArgumentException locking surface", e);
Log.e(TAG, "Could not lock surface", e);
// Don't assume this is due to out of memory, it could be
// something else, and if it is something else then we could
// kill stuff (or ourself) for no reason.
@@ -2343,7 +2343,14 @@ public final class ViewRootImpl implements ViewParent,
unlockCanvasAndPostStartTime = System.nanoTime();
}
surface.unlockCanvasAndPost(canvas);
try {
surface.unlockCanvasAndPost(canvas);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Could not unlock surface", e);
mLayoutRequested = true; // ask wm for a new surface next time.
//noinspection ReturnInsideFinallyBlock
return false;
}
if (ViewDebug.DEBUG_LATENCY) {
long now = System.nanoTime();