From 2da00bfc3a4361eb1bf2e008ddaceb215c63934d Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 21 Mar 2022 20:51:40 +0200 Subject: [PATCH] Android: Don't assert in add/removeWindow No need to assert, returning when the window is already added or not removed is enough. Pick-to: 6.2 6.3 Fixes: QTBUG-100173 Change-Id: Id491f17612ce42c4e26e9d41ad38f0a6372775bd Reviewed-by: Andreas Buhr Reviewed-by: Ivan Solovev Reviewed-by: Laszlo Agocs --- .../platforms/android/qandroidplatformscreen.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/platforms/android/qandroidplatformscreen.cpp b/src/plugins/platforms/android/qandroidplatformscreen.cpp index fdb027b9de..d9f4c6ab88 100644 --- a/src/plugins/platforms/android/qandroidplatformscreen.cpp +++ b/src/plugins/platforms/android/qandroidplatformscreen.cpp @@ -191,7 +191,9 @@ void QAndroidPlatformScreen::addWindow(QAndroidPlatformWindow *window) if (window->parent() && window->isRaster()) return; - Q_ASSERT(!m_windowStack.contains(window)); + if (m_windowStack.contains(window)) + return; + m_windowStack.prepend(window); if (window->isRaster()) { m_rasterSurfaces.ref(); @@ -208,10 +210,10 @@ void QAndroidPlatformScreen::removeWindow(QAndroidPlatformWindow *window) if (window->parent() && window->isRaster()) return; - - Q_ASSERT(m_windowStack.contains(window)); m_windowStack.removeOne(window); - Q_ASSERT(!m_windowStack.contains(window)); + + if (m_windowStack.contains(window)) + qWarning() << "Failed to remove window"; if (window->isRaster()) { m_rasterSurfaces.deref();