@@ -766,14 +766,16 @@ static Layer* android_view_GLES20Canvas_createLayer(JNIEnv* env, jobject clazz,
766766 return layer;
767767}
768768
769- static void android_view_GLES20Canvas_resizeLayer (JNIEnv* env, jobject clazz,
769+ static bool android_view_GLES20Canvas_resizeLayer (JNIEnv* env, jobject clazz,
770770 Layer* layer, jint width, jint height, jintArray layerInfo) {
771- LayerRenderer::resizeLayer (layer, width, height);
772-
773- jint* storage = env->GetIntArrayElements (layerInfo, NULL );
774- storage[0 ] = layer->getWidth ();
775- storage[1 ] = layer->getHeight ();
776- env->ReleaseIntArrayElements (layerInfo, storage, 0 );
771+ if (LayerRenderer::resizeLayer (layer, width, height)) {
772+ jint* storage = env->GetIntArrayElements (layerInfo, NULL );
773+ storage[0 ] = layer->getWidth ();
774+ storage[1 ] = layer->getHeight ();
775+ env->ReleaseIntArrayElements (layerInfo, storage, 0 );
776+ return true ;
777+ }
778+ return false ;
777779}
778780
779781static void android_view_GLES20Canvas_setLayerPaint (JNIEnv* env, jobject clazz,
@@ -992,7 +994,7 @@ static JNINativeMethod gMethods[] = {
992994
993995 { " nCreateLayerRenderer" , " (I)I" , (void *) android_view_GLES20Canvas_createLayerRenderer },
994996 { " nCreateLayer" , " (IIZ[I)I" , (void *) android_view_GLES20Canvas_createLayer },
995- { " nResizeLayer" , " (III[I)V " , (void *) android_view_GLES20Canvas_resizeLayer },
997+ { " nResizeLayer" , " (III[I)Z " , (void *) android_view_GLES20Canvas_resizeLayer },
996998 { " nSetLayerPaint" , " (II)V" , (void *) android_view_GLES20Canvas_setLayerPaint },
997999 { " nSetLayerColorFilter" , " (II)V" , (void *) android_view_GLES20Canvas_setLayerColorFilter },
9981000 { " nSetOpaqueLayer" , " (IZ)V" , (void *) android_view_GLES20Canvas_setOpaqueLayer },
0 commit comments