summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/src/qandroidinputcontext.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/qandroidinputcontext.cpp
parentc917579a15d60a7b70c5fc5f00f6451da7c4e608 (diff)
parent95045168470f8865263145b86597b6641b4cc035 (diff)
Merge branch 'stable' into dev
Diffstat (limited to 'src/plugins/platforms/android/src/qandroidinputcontext.cpp')
-rw-r--r--src/plugins/platforms/android/src/qandroidinputcontext.cpp28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/plugins/platforms/android/src/qandroidinputcontext.cpp b/src/plugins/platforms/android/src/qandroidinputcontext.cpp
index 2180560b04..1981ac0b75 100644
--- a/src/plugins/platforms/android/src/qandroidinputcontext.cpp
+++ b/src/plugins/platforms/android/src/qandroidinputcontext.cpp
@@ -237,13 +237,11 @@ static JNINativeMethod methods[] = {
QAndroidInputContext::QAndroidInputContext():QPlatformInputContext()
{
- JNIEnv *env = 0;
- if (QtAndroid::javaVM()->AttachCurrentThread(&env, NULL) < 0) {
- qCritical() << "AttachCurrentThread failed";
+ QtAndroid::AttachedJNIEnv env;
+ if (!env.jniEnv)
return;
- }
- jclass clazz = QtAndroid::findClass(QtNativeInputConnectionClassName, env);
+ jclass clazz = QtAndroid::findClass(QtNativeInputConnectionClassName, env.jniEnv);
if (clazz == NULL) {
qCritical() << "Native registration unable to find class '"
<< QtNativeInputConnectionClassName
@@ -251,14 +249,14 @@ QAndroidInputContext::QAndroidInputContext():QPlatformInputContext()
return;
}
- if (env->RegisterNatives(clazz, methods, sizeof(methods) / sizeof(methods[0])) < 0) {
+ if (env.jniEnv->RegisterNatives(clazz, methods, sizeof(methods) / sizeof(methods[0])) < 0) {
qCritical() << "RegisterNatives failed for '"
<< QtNativeInputConnectionClassName
<< "'";
return;
}
- clazz = QtAndroid::findClass(QtExtractedTextClassName, env);
+ clazz = QtAndroid::findClass(QtExtractedTextClassName, env.jniEnv);
if (clazz == NULL) {
qCritical() << "Native registration unable to find class '"
<< QtExtractedTextClassName
@@ -266,44 +264,44 @@ QAndroidInputContext::QAndroidInputContext():QPlatformInputContext()
return;
}
- m_extractedTextClass = static_cast<jclass>(env->NewGlobalRef(clazz));
- m_classConstructorMethodID = env->GetMethodID(m_extractedTextClass, "<init>", "()V");
+ m_extractedTextClass = static_cast<jclass>(env.jniEnv->NewGlobalRef(clazz));
+ m_classConstructorMethodID = env.jniEnv->GetMethodID(m_extractedTextClass, "<init>", "()V");
if (m_classConstructorMethodID == NULL) {
qCritical() << "GetMethodID failed";
return;
}
- m_partialEndOffsetFieldID = env->GetFieldID(m_extractedTextClass, "partialEndOffset", "I");
+ m_partialEndOffsetFieldID = env.jniEnv->GetFieldID(m_extractedTextClass, "partialEndOffset", "I");
if (m_partialEndOffsetFieldID == NULL) {
qCritical() << "Can't find field partialEndOffset";
return;
}
- m_partialStartOffsetFieldID = env->GetFieldID(m_extractedTextClass, "partialStartOffset", "I");
+ m_partialStartOffsetFieldID = env.jniEnv->GetFieldID(m_extractedTextClass, "partialStartOffset", "I");
if (m_partialStartOffsetFieldID == NULL) {
qCritical() << "Can't find field partialStartOffset";
return;
}
- m_selectionEndFieldID = env->GetFieldID(m_extractedTextClass, "selectionEnd", "I");
+ m_selectionEndFieldID = env.jniEnv->GetFieldID(m_extractedTextClass, "selectionEnd", "I");
if (m_selectionEndFieldID == NULL) {
qCritical() << "Can't find field selectionEnd";
return;
}
- m_selectionStartFieldID = env->GetFieldID(m_extractedTextClass, "selectionStart", "I");
+ m_selectionStartFieldID = env.jniEnv->GetFieldID(m_extractedTextClass, "selectionStart", "I");
if (m_selectionStartFieldID == NULL) {
qCritical() << "Can't find field selectionStart";
return;
}
- m_startOffsetFieldID = env->GetFieldID(m_extractedTextClass, "startOffset", "I");
+ m_startOffsetFieldID = env.jniEnv->GetFieldID(m_extractedTextClass, "startOffset", "I");
if (m_startOffsetFieldID == NULL) {
qCritical() << "Can't find field startOffset";
return;
}
- m_textFieldID = env->GetFieldID(m_extractedTextClass, "text", "Ljava/lang/String;");
+ m_textFieldID = env.jniEnv->GetFieldID(m_extractedTextClass, "text", "Ljava/lang/String;");
if (m_textFieldID == NULL) {
qCritical() << "Can't find field text";
return;