From cf32e1697e2232867252418143654b547d828eb3 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 31 Jul 2024 11:23:48 +0200 Subject: [PATCH] tests: extend tst_QBackingStore::flush() There is a bug in GNOME 46.0 on Ubuntu 24.04 Wayland when showing a maximized or fullscreen window. Task-number: QTBUG-127920 Change-Id: I49c0f53b16f501072cbbe92ddd79ff21fb9adb27 Reviewed-by: Axel Spoerl (cherry picked from commit 66591b658f4270252f8bf342dac7e2a9bcad34a0) Reviewed-by: Qt Cherry-pick Bot --- tests/auto/gui/kernel/qbackingstore/BLACKLIST | 9 +++++++++ .../gui/kernel/qbackingstore/tst_qbackingstore.cpp | 14 +++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/auto/gui/kernel/qbackingstore/BLACKLIST diff --git a/tests/auto/gui/kernel/qbackingstore/BLACKLIST b/tests/auto/gui/kernel/qbackingstore/BLACKLIST new file mode 100644 index 00000000000..7b2c311d1fa --- /dev/null +++ b/tests/auto/gui/kernel/qbackingstore/BLACKLIST @@ -0,0 +1,9 @@ +# QTBUG-127920 +[flush:single-buffer:maximized] +wayland ubuntu-24.04 +[flush:single-buffer:fullscreen] +wayland ubuntu-24.04 +[flush:double-buffer:maximized] +wayland ubuntu-24.04 +[flush:double-buffer:fullscreen] +wayland ubuntu-24.04 diff --git a/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp b/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp index a830d14be88..215a57fc3fd 100644 --- a/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp +++ b/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp @@ -31,6 +31,7 @@ private slots: void scrollRectInImage(); void scroll(); + void flush_data(); void flush(); void staticContents(); @@ -267,11 +268,22 @@ private: QBackingStore backingStore; }; +void tst_QBackingStore::flush_data() +{ + QTest::addColumn("windowState"); + + QTest::newRow("normal") << Qt::WindowNoState; + QTest::newRow("maximized") << Qt::WindowMaximized; + QTest::newRow("fullscreen") << Qt::WindowFullScreen; +} + void tst_QBackingStore::flush() { + QFETCH(Qt::WindowState, windowState); Window window; window.setGeometry(20, 20, 200, 200); - window.showMaximized(); + window.setWindowState(windowState); + window.setVisible(true); QTRY_VERIFY(window.isExposed()); }