mirror of
http://code.qt.io/yocto/meta-qt6.git
synced 2026-01-04 16:10:12 +00:00
qmlcompilerplus: Add pending upstream patch
The latest dev branch submodule update causes
build break in qmlcompilerplus module. Add pending
reviewed upstream patch to fix issue:
"error: invalid initialization of reference of type ‘QQmlJSScope::ConstPtr&’
{aka ‘QDeferredSharedPointer<const QQmlJSScope>&’} from expression of type ‘QQmlJSRegisterContent’"
Change-Id: Id750838347ccd17a2cc6e336375ea6df1e7d14fb
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
This commit is contained in:
parent
a1b6233b65
commit
a9011cf6cd
|
|
@ -0,0 +1,44 @@
|
|||
From b75e47c42ac4103181149033ab6978165f2d40ee Mon Sep 17 00:00:00 2001
|
||||
From: Ulf Hermann <ulf.hermann@qt.io>
|
||||
Date: Mon, 21 Feb 2022 17:36:51 +0100
|
||||
Subject: [PATCH] Adapt to arguments being stored as QQmlJSRegisterContent
|
||||
|
||||
Change-Id: Ia0ef456b8ede4c19cf9864117b46cf6909c6c457
|
||||
---
|
||||
src/qmlcompilerplus/bytecodetranslator.cpp | 2 +-
|
||||
src/qmlcompilerplus/cppcodegen.cpp | 9 ++++-----
|
||||
2 files changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/qmlcompilerplus/bytecodetranslator.cpp b/src/qmlcompilerplus/bytecodetranslator.cpp
|
||||
index c95365a..0307f2d 100644
|
||||
--- a/src/qmlcompilerplus/bytecodetranslator.cpp
|
||||
+++ b/src/qmlcompilerplus/bytecodetranslator.cpp
|
||||
@@ -88,7 +88,7 @@ QQmlJSAotFunction ByteCodeTranslator::run(
|
||||
{
|
||||
addInclude(function->returnType);
|
||||
for (const auto &argType : function->argumentTypes)
|
||||
- addInclude(argType);
|
||||
+ addInclude(argType.storedType());
|
||||
if (function->returnType)
|
||||
addInclude(function->returnType);
|
||||
|
||||
diff --git a/src/qmlcompilerplus/cppcodegen.cpp b/src/qmlcompilerplus/cppcodegen.cpp
|
||||
index a984a23..48263d2 100644
|
||||
--- a/src/qmlcompilerplus/cppcodegen.cpp
|
||||
+++ b/src/qmlcompilerplus/cppcodegen.cpp
|
||||
@@ -95,11 +95,10 @@ QQmlJSAotFunction CppCodeGenerator::doCompile(
|
||||
else
|
||||
return signatureError(u"Cannot store return type %s"_qs.arg(ret->internalName()));
|
||||
}
|
||||
- for (QQmlJSScope::ConstPtr &arg : function->argumentTypes) {
|
||||
- if (const auto storedType = m_typeResolver.storedType(arg))
|
||||
- arg = storedType;
|
||||
- else
|
||||
- return signatureError(u"Cannot store argument type %s"_qs.arg(arg->internalName()));
|
||||
+ for (const QQmlJSRegisterContent &arg : function->argumentTypes) {
|
||||
+ if (!arg.isValid())
|
||||
+ return signatureError(u"Cannot store argument type %s"_qs
|
||||
+ .arg(arg.descriptiveName()));
|
||||
}
|
||||
} else {
|
||||
// Generalize all arguments, registers, and the return type.
|
||||
|
|
@ -8,6 +8,10 @@ inherit qt6-cmake
|
|||
include recipes-qt/qt6/qt6-git.inc
|
||||
include recipes-qt/qt6/qt6.inc
|
||||
|
||||
SRC_URI += "\
|
||||
file://0001-Adapt-to-arguments-being-stored-as-QQmlJSRegisterCon.patch \
|
||||
"
|
||||
|
||||
python() {
|
||||
if d.getVar('QT_EDITION') != 'commercial':
|
||||
raise bb.parse.SkipRecipe('Available only with Commercial Qt')
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user