summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/jniconvenience/qjnihelpers_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/platformsupport/jniconvenience/qjnihelpers_p.h')
-rw-r--r--src/platformsupport/jniconvenience/qjnihelpers_p.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/platformsupport/jniconvenience/qjnihelpers_p.h b/src/platformsupport/jniconvenience/qjnihelpers_p.h
index fb44d156bd..437a0d039a 100644
--- a/src/platformsupport/jniconvenience/qjnihelpers_p.h
+++ b/src/platformsupport/jniconvenience/qjnihelpers_p.h
@@ -157,33 +157,39 @@ private:
template <class T, class X>
bool operator==(const QJNILocalRef<T> &ptr1, const QJNILocalRef<X> &ptr2)
{
- return ptr1.m_obj == ptr2.m_obj;
+ QAttachedJNIEnv env;
+ return env->IsSameObject(ptr1.m_obj, ptr2.m_obj);
}
template <class T, class X>
bool operator!=(const QJNILocalRef<T> &ptr1, const QJNILocalRef<X> &ptr2)
{
- return ptr1.m_obj != ptr2.m_obj;
+ QAttachedJNIEnv env;
+ return !env->IsSameObject(ptr1.m_obj, ptr2.m_obj);
}
template <class T, class X>
bool operator==(const QJNILocalRef<T> &ptr1, X ptr2)
{
- return ptr1.m_obj == ptr2;
+ QAttachedJNIEnv env;
+ return env->IsSameObject(ptr1.m_obj, ptr2);
}
template <class T, class X>
bool operator==(T ptr1, const QJNILocalRef<X> &ptr2)
{
- return ptr1 == ptr2.m_obj;
+ QAttachedJNIEnv env;
+ return env->IsSameObject(ptr1, ptr2.m_obj);
}
template <class T, class X>
bool operator!=(const QJNILocalRef<T> &ptr1, X ptr2)
{
- return !(ptr1 == ptr2);
+ QAttachedJNIEnv env;
+ return !env->IsSameObject(ptr1.m_obj, ptr2);
}
template <class T, class X>
bool operator!=(const T *ptr1, const QJNILocalRef<X> &ptr2)
{
- return !(ptr2 == ptr1);
+ QAttachedJNIEnv env;
+ return !env->IsSameObject(ptr1, ptr2.m_obj);
}
QT_END_NAMESPACE