You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2018/11/15 07:09:13 UTC
[incubator-weex] branch master updated: [core] fix env or jni
object nullptr (#1761)
This is an automated email from the ASF dual-hosted git repository.
kyork pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
The following commit(s) were added to refs/heads/master by this push:
new e4f6763 [core] fix env or jni object nullptr (#1761)
e4f6763 is described below
commit e4f6763dc1e7f85489fd1a46546c8407231ce95a
Author: yxping <yx...@users.noreply.github.com>
AuthorDate: Thu Nov 15 15:09:09 2018 +0800
[core] fix env or jni object nullptr (#1761)
---
weex_core/Source/base/message_loop/message_pump_android.cc | 9 +++++++++
weex_core/Source/core/layout/measure_func_adapter_impl_android.h | 3 +++
2 files changed, 12 insertions(+)
diff --git a/weex_core/Source/base/message_loop/message_pump_android.cc b/weex_core/Source/base/message_loop/message_pump_android.cc
index 765fa19..a4ad408 100644
--- a/weex_core/Source/base/message_loop/message_pump_android.cc
+++ b/weex_core/Source/base/message_loop/message_pump_android.cc
@@ -49,16 +49,25 @@ void MessagePumpAndroid::Run(Delegate* delegate) {
void MessagePumpAndroid::Stop() {
JNIEnv* env = ::base::android::AttachCurrentThread();
+ if(!env || !jni_object()) {
+ return;
+ }
Java_SystemMessageHandler_stop(env, jni_object());
}
void MessagePumpAndroid::ScheduleWork() {
JNIEnv* env = ::base::android::AttachCurrentThread();
+ if(!env || !jni_object()) {
+ return;
+ }
Java_SystemMessageHandler_scheduleWork(env, jni_object());
}
void MessagePumpAndroid::ScheduleDelayedWork(TimeUnit delayed_time) {
JNIEnv* env = ::base::android::AttachCurrentThread();
+ if(!env || !jni_object()) {
+ return;
+ }
Java_SystemMessageHandler_scheduleDelayedWork(env, jni_object(),
delayed_time.ToMilliseconds());
}
diff --git a/weex_core/Source/core/layout/measure_func_adapter_impl_android.h b/weex_core/Source/core/layout/measure_func_adapter_impl_android.h
index 6703b56..444ec4c 100644
--- a/weex_core/Source/core/layout/measure_func_adapter_impl_android.h
+++ b/weex_core/Source/core/layout/measure_func_adapter_impl_android.h
@@ -46,6 +46,7 @@ namespace WeexCore {
}
JNIEnv* env = base::android::AttachCurrentThread();
+ if (!env) return size;
cumsmeasure_Imple_Android(env, measureFunc,
width, height,
@@ -65,6 +66,7 @@ namespace WeexCore {
}
JNIEnv *env = base::android::AttachCurrentThread();
+ if (!env) return;
LayoutBeforeImplAndroid(env, measureFunc);
env->DeleteLocalRef(measureFunc);
}
@@ -75,6 +77,7 @@ namespace WeexCore {
return;
}
JNIEnv *env = base::android::AttachCurrentThread();
+ if (!env) return;
LayoutAfterImplAndroid(env, measureFunc, width, height);
env->DeleteLocalRef(measureFunc);
}