commit:     ef0a5cb8474d0142265ad31cd41afa75b1c9e879
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 24 06:02:44 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Oct 24 06:20:23 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef0a5cb8

dev-qt/qtbase: backport fix for QTBUG-141099 (0,0 windows)

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../qtbase/files/qtbase-6.10.0-QTBUG-141099.patch  | 31 ++++++++++++++++++++++
 ...tbase-6.10.0.ebuild => qtbase-6.10.0-r1.ebuild} |  1 +
 2 files changed, 32 insertions(+)

diff --git a/dev-qt/qtbase/files/qtbase-6.10.0-QTBUG-141099.patch 
b/dev-qt/qtbase/files/qtbase-6.10.0-QTBUG-141099.patch
new file mode 100644
index 000000000000..d4edaeb04e6a
--- /dev/null
+++ b/dev-qt/qtbase/files/qtbase-6.10.0-QTBUG-141099.patch
@@ -0,0 +1,31 @@
+https://bugreports.qt.io/browse/QTBUG-141099
+https://codereview.qt-project.org/c/qt/qtbase/+/685911
+--- a/src/gui/kernel/qguiapplication.cpp
++++ b/src/gui/kernel/qguiapplication.cpp
+@@ -3418,4 +3418,13 @@
+     QWindowPrivate *p = qt_window_private(window);
+ 
++    if (e->isExposed) {
++        // If the window has been automatically positioned or resized by the
++        // window manager, we now assume those have taken effect, even for
++        // asynchronous window managers. From this point on we want the window
++        // to keep its geometry, even when recreated.
++        p->positionAutomatic = false;
++        p->resizeAutomatic = false;
++    }
++
+     if (!p->receivedExpose) {
+         if (p->resizeEventPending) {
+--- a/src/gui/kernel/qwindow.cpp
++++ b/src/gui/kernel/qwindow.cpp
+@@ -587,10 +587,4 @@
+     platformWindow->initialize();
+ 
+-    // Now that the window is created and initialized the platform has had
+-    // a chance to position and size it automatically. From this point on
+-    // we want the window to keep its geometry, even when recreated.
+-    positionAutomatic = false;
+-    resizeAutomatic = false;
+-
+     QObjectList childObjects = q->children();
+     for (int i = 0; i < childObjects.size(); i ++) {

diff --git a/dev-qt/qtbase/qtbase-6.10.0.ebuild 
b/dev-qt/qtbase/qtbase-6.10.0-r1.ebuild
similarity index 99%
rename from dev-qt/qtbase/qtbase-6.10.0.ebuild
rename to dev-qt/qtbase/qtbase-6.10.0-r1.ebuild
index c3b02502a18f..a4feac4bd30f 100644
--- a/dev-qt/qtbase/qtbase-6.10.0.ebuild
+++ b/dev-qt/qtbase/qtbase-6.10.0-r1.ebuild
@@ -187,6 +187,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
        "${FILESDIR}"/${PN}-6.8.2-cross.patch
        "${FILESDIR}"/${PN}-6.9.0-no-direct-extern-access.patch
+       "${FILESDIR}"/${PN}-6.10.0-QTBUG-141099.patch
 )
 
 src_prepare() {

Reply via email to