summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kdab.com>2015-12-04 15:36:40 +0200
committerBogDan Vatra <bogdan@kdab.com>2016-01-26 12:41:14 +0000
commitfd639b7adc3a536812f1d41f1da6b4f42b372b20 (patch)
tree7523c222ff1711bca6911157dc29da50489c13af /src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
parent397061a6a92db9f962360d5db96f69b315f93074 (diff)
Handle native views visibility properly.
Hide the native view in constructor and in destructor. Task-number: QTBUG-40159 Change-Id: I200b28af9ac2928c38299b71395a97e39f1bbe6d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformforeignwindow.cpp')
-rw-r--r--src/plugins/platforms/android/qandroidplatformforeignwindow.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp b/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
index 315a0faac0..03927dbe5a 100644
--- a/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
+++ b/src/plugins/platforms/android/qandroidplatformforeignwindow.cpp
@@ -45,10 +45,14 @@ QAndroidPlatformForeignWindow::QAndroidPlatformForeignWindow(QWindow *window)
{
const WId wId = window->property("_q_foreignWinId").value<WId>();
m_view = reinterpret_cast<jobject>(wId);
+ if (m_view.isValid())
+ QtAndroid::setViewVisibility(m_view.object(), false);
}
QAndroidPlatformForeignWindow::~QAndroidPlatformForeignWindow()
{
+ if (m_view.isValid())
+ QtAndroid::setViewVisibility(m_view.object(), false);
if (m_surfaceId != -1)
QtAndroid::destroySurface(m_surfaceId);
}
@@ -84,8 +88,9 @@ void QAndroidPlatformForeignWindow::setVisible(bool visible)
if (!m_view.isValid())
return;
- QAndroidPlatformWindow::setVisible(visible);
+ QtAndroid::setViewVisibility(m_view.object(), visible);
+ QAndroidPlatformWindow::setVisible(visible);
if (!visible && m_surfaceId != -1) {
QtAndroid::destroySurface(m_surfaceId);
m_surfaceId = -1;