summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/kernel/qjnihelpers.cpp12
-rw-r--r--src/corelib/kernel/qjnihelpers_p.h14
2 files changed, 19 insertions, 7 deletions
diff --git a/src/corelib/kernel/qjnihelpers.cpp b/src/corelib/kernel/qjnihelpers.cpp
index 6a46f7dd11..091280400e 100644
--- a/src/corelib/kernel/qjnihelpers.cpp
+++ b/src/corelib/kernel/qjnihelpers.cpp
@@ -52,6 +52,18 @@
QT_BEGIN_NAMESPACE
+namespace QtAndroidPrivate {
+ // *Listener virtual function implementations.
+ // Defined out-of-line to pin the vtable/type_info.
+ ActivityResultListener::~ActivityResultListener() {}
+ NewIntentListener::~NewIntentListener() {}
+ ResumePauseListener::~ResumePauseListener() {}
+ void ResumePauseListener::handlePause() {}
+ void ResumePauseListener::handleResume() {}
+ GenericMotionEventListener::~GenericMotionEventListener() {}
+ KeyEventListener::~KeyEventListener() {}
+}
+
static JavaVM *g_javaVM = Q_NULLPTR;
static jobject g_jActivity = Q_NULLPTR;
static jobject g_jService = Q_NULLPTR;
diff --git a/src/corelib/kernel/qjnihelpers_p.h b/src/corelib/kernel/qjnihelpers_p.h
index 478f62a5c7..62f9358513 100644
--- a/src/corelib/kernel/qjnihelpers_p.h
+++ b/src/corelib/kernel/qjnihelpers_p.h
@@ -65,36 +65,36 @@ namespace QtAndroidPrivate
class Q_CORE_EXPORT ActivityResultListener
{
public:
- virtual ~ActivityResultListener() {}
+ virtual ~ActivityResultListener();
virtual bool handleActivityResult(jint requestCode, jint resultCode, jobject data) = 0;
};
class Q_CORE_EXPORT NewIntentListener
{
public:
- virtual ~NewIntentListener() {}
+ virtual ~NewIntentListener();
virtual bool handleNewIntent(JNIEnv *env, jobject intent) = 0;
};
class Q_CORE_EXPORT ResumePauseListener
{
public:
- virtual ~ResumePauseListener() {}
- virtual void handlePause() {};
- virtual void handleResume() {};
+ virtual ~ResumePauseListener();
+ virtual void handlePause();
+ virtual void handleResume();
};
class Q_CORE_EXPORT GenericMotionEventListener
{
public:
- virtual ~GenericMotionEventListener() {}
+ virtual ~GenericMotionEventListener();
virtual bool handleGenericMotionEvent(jobject event) = 0;
};
class Q_CORE_EXPORT KeyEventListener
{
public:
- virtual ~KeyEventListener() {}
+ virtual ~KeyEventListener();
virtual bool handleKeyEvent(jobject event) = 0;
};