summaryrefslogtreecommitdiffstats
path: root/core/jni/android_view_Surface.cpp
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-01-27 15:36:40 -0800
committerRomain Guy <romainguy@google.com>2011-01-27 15:36:40 -0800
commitfea12b87f2988f20ea87314c4a1b47e1a0f4d95e (patch)
tree13847a9d2a0b819b1e926cd3a5279718a0cc06a7 /core/jni/android_view_Surface.cpp
parent64a2c359aeda59e4bc43d48f31ade919e918ea26 (diff)
downloadframeworks_base-fea12b87f2988f20ea87314c4a1b47e1a0f4d95e.zip
frameworks_base-fea12b87f2988f20ea87314c4a1b47e1a0f4d95e.tar.gz
frameworks_base-fea12b87f2988f20ea87314c4a1b47e1a0f4d95e.tar.bz2
Catch exception when ViewRoot's surface is not valid.
Bug #3399426 Change-Id: Id4e0b8714c9520c4e84e81c2978752d46c912b6b
Diffstat (limited to 'core/jni/android_view_Surface.cpp')
-rw-r--r--core/jni/android_view_Surface.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp
index e4af33f..aa9c107 100644
--- a/core/jni/android_view_Surface.cpp
+++ b/core/jni/android_view_Surface.cpp
@@ -296,8 +296,10 @@ static inline SkBitmap::Config convertPixelFormat(PixelFormat format)
static jobject Surface_lockCanvas(JNIEnv* env, jobject clazz, jobject dirtyRect)
{
const sp<Surface>& surface(getSurface(env, clazz));
- if (!Surface::isValid(surface))
+ if (!Surface::isValid(surface)) {
+ doThrow(env, "java/lang/IllegalArgumentException", NULL);
return 0;
+ }
// get dirty region
Region dirtyRegion;