summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/src/qandroidplatformservices.cpp
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@digia.com>2013-05-07 12:01:46 +0200
committerSergio Ahumada <sergio.ahumada@digia.com>2013-05-07 12:02:41 +0200
commitdb44b891fb8710121fec7dc4fa3bd91493dc2a1c (patch)
treef6729181387ac4a4e4fa2dad445febebba25812b /src/plugins/platforms/android/src/qandroidplatformservices.cpp
parentc917579a15d60a7b70c5fc5f00f6451da7c4e608 (diff)
parent95045168470f8865263145b86597b6641b4cc035 (diff)
Merge branch 'stable' into dev
Diffstat (limited to 'src/plugins/platforms/android/src/qandroidplatformservices.cpp')
-rw-r--r--src/plugins/platforms/android/src/qandroidplatformservices.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/plugins/platforms/android/src/qandroidplatformservices.cpp b/src/plugins/platforms/android/src/qandroidplatformservices.cpp
index 841a9d4d51..0df882f1f0 100644
--- a/src/plugins/platforms/android/src/qandroidplatformservices.cpp
+++ b/src/plugins/platforms/android/src/qandroidplatformservices.cpp
@@ -46,29 +46,25 @@
QAndroidPlatformServices::QAndroidPlatformServices()
{
- JNIEnv *env;
- if (QtAndroid::javaVM()->AttachCurrentThread(&env, NULL) < 0) {
- qCritical() << "AttachCurrentThread failed";
+ QtAndroid::AttachedJNIEnv env;
+ if (!env.jniEnv)
return;
- }
- m_openURIMethodID = env->GetStaticMethodID(QtAndroid::applicationClass(),
+ m_openURIMethodID = env.jniEnv->GetStaticMethodID(QtAndroid::applicationClass(),
"openURL",
"(Ljava/lang/String;)V");
}
bool QAndroidPlatformServices::openUrl(const QUrl &url)
{
- JNIEnv *env;
- if (QtAndroid::javaVM()->AttachCurrentThread(&env, NULL) < 0) {
- qCritical() << "AttachCurrentThread failed";
+ QtAndroid::AttachedJNIEnv env;
+ if (!env.jniEnv)
return false;
- }
- jstring string = env->NewString(reinterpret_cast<const jchar *>(url.toString().constData()),
+ jstring string = env.jniEnv->NewString(reinterpret_cast<const jchar *>(url.toString().constData()),
url.toString().length());
- env->CallStaticVoidMethod(QtAndroid::applicationClass(), m_openURIMethodID, string);
- env->DeleteLocalRef(string);
+ env.jniEnv->CallStaticVoidMethod(QtAndroid::applicationClass(), m_openURIMethodID, string);
+ env.jniEnv->DeleteLocalRef(string);
return true;
}