summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/android/qandroidplatformforeignwindow.cpp11
-rw-r--r--src/plugins/platforms/android/qandroidplatformforeignwindow.h1
-rw-r--r--src/plugins/platforms/android/qandroidplatformwindow.cpp7
-rw-r--r--src/plugins/platforms/android/qandroidplatformwindow.h2
4 files changed, 19 insertions, 2 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp b/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
index e84a481a2b1..af09c34d0ba 100644
--- a/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
+++ b/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
@@ -11,9 +11,16 @@
QT_BEGIN_NAMESPACE
QAndroidPlatformForeignWindow::QAndroidPlatformForeignWindow(QWindow *window, WId nativeHandle)
- : QAndroidPlatformWindow(window), m_view(nullptr), m_nativeViewInserted(false)
+ : QAndroidPlatformWindow(window)
+ , m_view(reinterpret_cast<jobject>(nativeHandle))
+ , m_nativeViewInserted(false)
{
- m_view = reinterpret_cast<jobject>(nativeHandle);
+}
+
+void QAndroidPlatformForeignWindow::initialize()
+{
+ QAndroidPlatformWindow::initialize();
+
if (isEmbeddingContainer()) {
m_nativeViewId = m_view.callMethod<jint>("getId");
return;
diff --git a/src/plugins/platforms/android/qandroidplatformforeignwindow.h b/src/plugins/platforms/android/qandroidplatformforeignwindow.h
index 503524ccedf..6238731a4a1 100644
--- a/src/plugins/platforms/android/qandroidplatformforeignwindow.h
+++ b/src/plugins/platforms/android/qandroidplatformforeignwindow.h
@@ -16,6 +16,7 @@ class QAndroidPlatformForeignWindow : public QAndroidPlatformWindow
{
public:
explicit QAndroidPlatformForeignWindow(QWindow *window, WId nativeHandle);
+ void initialize() override;
~QAndroidPlatformForeignWindow();
void setGeometry(const QRect &rect) override;
void setVisible(bool visible) override;
diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp
index 2482160573e..f5bb5117c30 100644
--- a/src/plugins/platforms/android/qandroidplatformwindow.cpp
+++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp
@@ -25,6 +25,13 @@ QAndroidPlatformWindow::QAndroidPlatformWindow(QWindow *window)
m_surfaceContainerType(SurfaceContainer::TextureView), m_nativeParentQtWindow(nullptr),
m_androidSurfaceObject(nullptr)
{
+ // Please add any initialization in the function below
+}
+
+void QAndroidPlatformWindow::initialize()
+{
+ QWindow *window = QPlatformWindow::window();
+
m_windowFlags = Qt::Widget;
m_windowState = Qt::WindowNoState;
// the surfaceType is overwritten in QAndroidPlatformOpenGLWindow ctor so let's save
diff --git a/src/plugins/platforms/android/qandroidplatformwindow.h b/src/plugins/platforms/android/qandroidplatformwindow.h
index 3f1e8ac992c..3c94dec3ea2 100644
--- a/src/plugins/platforms/android/qandroidplatformwindow.h
+++ b/src/plugins/platforms/android/qandroidplatformwindow.h
@@ -32,6 +32,8 @@ public:
};
explicit QAndroidPlatformWindow(QWindow *window);
+ void initialize() override;
+
~QAndroidPlatformWindow();
void lower() override;
void raise() override;