Loading core/jni/android/graphics/BitmapFactory.cpp +13 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ static jfieldID gOptions_ditherFieldID; static jfieldID gOptions_widthFieldID; static jfieldID gOptions_heightFieldID; static jfieldID gOptions_mimeFieldID; static jfieldID gOptions_mCancelID; static jclass gFileDescriptor_class; static jfieldID gFileDescriptor_descriptor; Loading Loading @@ -322,6 +323,15 @@ static jobject doDecode(JNIEnv* env, SkStream* stream, jobject padding, AutoDecoderCancel adc(options, decoder); // To fix the race condition in case "requestCancelDecode" // happens earlier than AutoDecoderCancel object is added // to the gAutoDecoderCancelMutex linked list. if (NULL != options) { if (env->GetBooleanField(options, gOptions_mCancelID)) { return NULL; } } if (!decoder->decode(stream, bitmap, prefConfig, mode)) { return NULL; } Loading Loading @@ -588,6 +598,7 @@ int register_android_graphics_BitmapFactory(JNIEnv* env) { gOptions_widthFieldID = getFieldIDCheck(env, gOptions_class, "outWidth", "I"); gOptions_heightFieldID = getFieldIDCheck(env, gOptions_class, "outHeight", "I"); gOptions_mimeFieldID = getFieldIDCheck(env, gOptions_class, "outMimeType", "Ljava/lang/String;"); gOptions_mCancelID = getFieldIDCheck(env, gOptions_class, "mCancel", "Z"); gFileDescriptor_class = make_globalref(env, "java/io/FileDescriptor"); gFileDescriptor_descriptor = getFieldIDCheck(env, gFileDescriptor_class, "descriptor", "I"); Loading Loading
core/jni/android/graphics/BitmapFactory.cpp +13 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ static jfieldID gOptions_ditherFieldID; static jfieldID gOptions_widthFieldID; static jfieldID gOptions_heightFieldID; static jfieldID gOptions_mimeFieldID; static jfieldID gOptions_mCancelID; static jclass gFileDescriptor_class; static jfieldID gFileDescriptor_descriptor; Loading Loading @@ -322,6 +323,15 @@ static jobject doDecode(JNIEnv* env, SkStream* stream, jobject padding, AutoDecoderCancel adc(options, decoder); // To fix the race condition in case "requestCancelDecode" // happens earlier than AutoDecoderCancel object is added // to the gAutoDecoderCancelMutex linked list. if (NULL != options) { if (env->GetBooleanField(options, gOptions_mCancelID)) { return NULL; } } if (!decoder->decode(stream, bitmap, prefConfig, mode)) { return NULL; } Loading Loading @@ -588,6 +598,7 @@ int register_android_graphics_BitmapFactory(JNIEnv* env) { gOptions_widthFieldID = getFieldIDCheck(env, gOptions_class, "outWidth", "I"); gOptions_heightFieldID = getFieldIDCheck(env, gOptions_class, "outHeight", "I"); gOptions_mimeFieldID = getFieldIDCheck(env, gOptions_class, "outMimeType", "Ljava/lang/String;"); gOptions_mCancelID = getFieldIDCheck(env, gOptions_class, "mCancel", "Z"); gFileDescriptor_class = make_globalref(env, "java/io/FileDescriptor"); gFileDescriptor_descriptor = getFieldIDCheck(env, gFileDescriptor_class, "descriptor", "I"); Loading