commit:     91ab37ab1327bdc3a320e852257b5de6ff00ecd5
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 13 13:20:39 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Jun 13 13:36:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91ab37ab

dev-qt/qtdeclarative: backport fix for qmlcachegen crashes

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

 .../qtdeclarative-6.9.1-qmlcachegen-crash.patch    | 32 ++++++++++++++++++++++
 ...9.1-r1.ebuild => qtdeclarative-6.9.1-r2.ebuild} |  1 +
 2 files changed, 33 insertions(+)

diff --git 
a/dev-qt/qtdeclarative/files/qtdeclarative-6.9.1-qmlcachegen-crash.patch 
b/dev-qt/qtdeclarative/files/qtdeclarative-6.9.1-qmlcachegen-crash.patch
new file mode 100644
index 000000000000..f3a0b70e00b0
--- /dev/null
+++ b/dev-qt/qtdeclarative/files/qtdeclarative-6.9.1-qmlcachegen-crash.patch
@@ -0,0 +1,32 @@
+https://bugreports.qt.io/browse/QTBUG-136998
+https://bugreports.qt.io/browse/QTBUG-137196
+https://bugreports.qt.io/browse/QTBUG-137411
+https://github.com/qt/qtdeclarative/commit/672e6777e8e6a8fd86c7877075e7a8aa0ea0a31a
+--- a/src/qmlcompiler/qqmljsimportvisitor.cpp
++++ b/src/qmlcompiler/qqmljsimportvisitor.cpp
+@@ -1042,14 +1042,15 @@
+ 
+             if (!prevRequiredScope.isNull()) {
+-                auto sourceScope = prevRequiredScope->baseType();
+-                suggestion = QQmlJSFixSuggestion{
+-                    "%1:%2:%3: Property marked as required in %4."_L1
+-                            .arg(sourceScope->filePath())
+-                            .arg(sourceScope->sourceLocation().startLine)
+-                            .arg(sourceScope->sourceLocation().startColumn)
+-                            .arg(requiredScopeName),
+-                    sourceScope->sourceLocation()
+-                };
+-                suggestion->setFilename(sourceScope->filePath());
++                if (auto sourceScope = prevRequiredScope->baseType()) {
++                    suggestion = QQmlJSFixSuggestion{
++                        "%1:%2:%3: Property marked as required in %4."_L1
++                                .arg(sourceScope->filePath())
++                                .arg(sourceScope->sourceLocation().startLine)
++                                
.arg(sourceScope->sourceLocation().startColumn)
++                                .arg(requiredScopeName),
++                        sourceScope->sourceLocation()
++                    };
++                    suggestion->setFilename(sourceScope->filePath());
++                }
+             } else {
+                 message += " (marked as required by 
%1)"_L1.arg(requiredScopeName);

diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.9.1-r1.ebuild 
b/dev-qt/qtdeclarative/qtdeclarative-6.9.1-r2.ebuild
similarity index 97%
rename from dev-qt/qtdeclarative/qtdeclarative-6.9.1-r1.ebuild
rename to dev-qt/qtdeclarative/qtdeclarative-6.9.1-r2.ebuild
index 2b9c1ea26d3e..92bff90f2624 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-6.9.1-r1.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-6.9.1-r2.ebuild
@@ -34,6 +34,7 @@ BDEPEND="
 
 PATCHES=(
        "${FILESDIR}"/${PN}-6.9.1-QTBUG-135158.patch
+       "${FILESDIR}"/${PN}-6.9.1-qmlcachegen-crash.patch
 )
 
 src_configure() {

Reply via email to