aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2024-04-15 09:58:44 +0200
committerUlf Hermann <ulf.hermann@qt.io>2024-04-17 12:27:35 +0200
commitba22fb2116ecf2076d207d5e4f0c5897bd4a1ab5 (patch)
tree5807e9e2bf173a2353c8ab807908ae941ba90da5
parent9e0fe0d9ec5edc47422eca94aa95ad804ca69a7a (diff)
Declare some missing value types
* An opaque pointer for the execution engine * QQmlChangeSet * long and ulong: For those we cannot know the size in advance. Therefore we cannot handle them as aliases of other numbers. * QTextBlock * FileProperty * QQmlXmlListModuleQueryResult Task-number: QTBUG-101143 Change-Id: If66d1fa3ab734351006e5a9f071e171c97dd738e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r--src/labs/folderlistmodel/fileproperty_p.h8
-rw-r--r--src/particles/qquickimageparticle_p.h2
-rw-r--r--src/qml/qml/qqmlprivate.h2
-rw-r--r--src/qml/qml/qqmlvaluetype_p.h8
-rw-r--r--src/qml/qqmlbuiltins_p.h16
-rw-r--r--src/qmlmodels/qqmlchangeset_p.h3
-rw-r--r--src/qmlmodels/qqmllistmodelworkeragent_p.h4
-rw-r--r--src/qmlxmllistmodel/qqmlxmllistmodel_p.h2
-rw-r--r--src/quick/items/qquickitem.cpp2
-rw-r--r--src/quick/items/qquickitem.h4
-rw-r--r--src/quick/items/qquickitem_p.h2
-rw-r--r--src/quick/items/qquicktextedit_p.h8
12 files changed, 52 insertions, 9 deletions
diff --git a/src/labs/folderlistmodel/fileproperty_p.h b/src/labs/folderlistmodel/fileproperty_p.h
index 18b5f0918e..801d421ada 100644
--- a/src/labs/folderlistmodel/fileproperty_p.h
+++ b/src/labs/folderlistmodel/fileproperty_p.h
@@ -15,14 +15,18 @@
// We mean it.
//
-#include <QFileInfo>
-#include <QDateTime>
+#include <QtQmlIntegration/qqmlintegration.h>
+#include <QtCore/qfileinfo.h>
+#include <QtCore/qdatetime.h>
+
#include <private/qglobal_p.h>
QT_BEGIN_NAMESPACE
class FileProperty
{
+ Q_GADGET
+ QML_ANONYMOUS
public:
FileProperty(const QFileInfo &info) :
mFileName(info.fileName()),
diff --git a/src/particles/qquickimageparticle_p.h b/src/particles/qquickimageparticle_p.h
index b3006400b1..f0bfb8a1d6 100644
--- a/src/particles/qquickimageparticle_p.h
+++ b/src/particles/qquickimageparticle_p.h
@@ -358,7 +358,6 @@ private Q_SLOTS:
void spriteAdvance(int spriteIndex);
void spritesUpdate(qreal time = 0 );
void mainThreadFetchImageData();
- void finishBuildParticleNodes(QSGNode **n);
void invalidateSceneGraph();
private:
@@ -372,6 +371,7 @@ private:
QScopedPointer<ImageData> m_opacityTable;
bool loadingSomething();
+ void finishBuildParticleNodes(QSGNode **n);
QColor m_color;
qreal m_color_variation;
diff --git a/src/qml/qml/qqmlprivate.h b/src/qml/qml/qqmlprivate.h
index 93837741e1..f5e1feb4f2 100644
--- a/src/qml/qml/qqmlprivate.h
+++ b/src/qml/qml/qqmlprivate.h
@@ -84,6 +84,7 @@ class QQmlTypeNotAvailable;
class QQmlV4Function;
using QQmlV4FunctionPtr = QQmlV4Function *;
+using QQmlV4ExecutionEnginePtr = QV4::ExecutionEngine *;
template<class T>
QQmlCustomParser *qmlCreateCustomParser()
@@ -1156,5 +1157,6 @@ namespace QQmlPrivate
QT_END_NAMESPACE
Q_DECLARE_OPAQUE_POINTER(QQmlV4FunctionPtr)
+Q_DECLARE_OPAQUE_POINTER(QQmlV4ExecutionEnginePtr)
#endif // QQMLPRIVATE_H
diff --git a/src/qml/qml/qqmlvaluetype_p.h b/src/qml/qml/qqmlvaluetype_p.h
index 5329c3a746..8815c914ce 100644
--- a/src/qml/qml/qqmlvaluetype_p.h
+++ b/src/qml/qml/qqmlvaluetype_p.h
@@ -349,6 +349,14 @@ public:
};
#endif
+struct QQmlV4ExecutionEnginePtrForeign
+{
+ Q_GADGET
+ QML_ANONYMOUS
+ QML_FOREIGN(QQmlV4ExecutionEnginePtr)
+ QML_EXTENDED(QQmlV4ExecutionEnginePtrForeign)
+};
+
QT_END_NAMESPACE
#endif // QQMLVALUETYPE_P_H
diff --git a/src/qml/qqmlbuiltins_p.h b/src/qml/qqmlbuiltins_p.h
index 9b37090d81..b4dff0d81f 100644
--- a/src/qml/qqmlbuiltins_p.h
+++ b/src/qml/qqmlbuiltins_p.h
@@ -198,6 +198,22 @@ struct QQmlUshortForeign
QML_FOREIGN(ushort)
};
+struct QQmlLongForeign
+{
+ Q_GADGET
+ QML_ANONYMOUS
+ QML_EXTENDED_JAVASCRIPT(Number)
+ QML_FOREIGN(long)
+};
+
+struct QQmlUlongForeign
+{
+ Q_GADGET
+ QML_ANONYMOUS
+ QML_EXTENDED_JAVASCRIPT(Number)
+ QML_FOREIGN(ulong)
+};
+
struct QQmlUintForeign
{
Q_GADGET
diff --git a/src/qmlmodels/qqmlchangeset_p.h b/src/qmlmodels/qqmlchangeset_p.h
index 1e719b3100..b31177bf45 100644
--- a/src/qmlmodels/qqmlchangeset_p.h
+++ b/src/qmlmodels/qqmlchangeset_p.h
@@ -15,6 +15,7 @@
// We mean it.
//
+#include <QtQmlIntegration/qqmlintegration.h>
#include <QtCore/qdebug.h>
#include <QtCore/qvector.h>
#include <QtQmlModels/private/qtqmlmodelsglobal_p.h>
@@ -23,6 +24,8 @@ QT_BEGIN_NAMESPACE
class Q_QMLMODELS_EXPORT QQmlChangeSet
{
+ Q_GADGET
+ QML_ANONYMOUS
public:
struct MoveKey
{
diff --git a/src/qmlmodels/qqmllistmodelworkeragent_p.h b/src/qmlmodels/qqmllistmodelworkeragent_p.h
index 03cbe3ee55..647cc1b997 100644
--- a/src/qmlmodels/qqmllistmodelworkeragent_p.h
+++ b/src/qmlmodels/qqmllistmodelworkeragent_p.h
@@ -35,7 +35,7 @@ class QQmlListModelWorkerAgent : public QObject
{
Q_OBJECT
Q_PROPERTY(int count READ count FINAL)
- Q_PROPERTY(QV4::ExecutionEngine *engine READ engine WRITE setEngine NOTIFY engineChanged FINAL)
+ Q_PROPERTY(QQmlV4ExecutionEnginePtr engine READ engine WRITE setEngine NOTIFY engineChanged FINAL)
QML_ANONYMOUS
QML_ADDED_IN_VERSION(2, 0)
@@ -64,7 +64,7 @@ public:
void modelDestroyed();
Q_SIGNALS:
- void engineChanged(QV4::ExecutionEngine *engine);
+ void engineChanged(QQmlV4ExecutionEnginePtr engine);
protected:
bool event(QEvent *) override;
diff --git a/src/qmlxmllistmodel/qqmlxmllistmodel_p.h b/src/qmlxmllistmodel/qqmlxmllistmodel_p.h
index 325e8545fb..81622d880e 100644
--- a/src/qmlxmllistmodel/qqmlxmllistmodel_p.h
+++ b/src/qmlxmllistmodel/qqmlxmllistmodel_p.h
@@ -50,7 +50,9 @@ struct QQmlXmlListModelQueryJob
};
struct QQmlXmlListModelQueryResult
{
+ Q_GADGET
QML_ANONYMOUS
+public:
int queryId;
QList<QFlatMap<int, QString>> data;
QList<QPair<void *, QString>> errors;
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index 01f15d2490..4c26708168 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -10018,7 +10018,7 @@ void QV4::Heap::QQuickItemWrapper::markObjects(QV4::Heap::Base *that, QV4::MarkS
QObjectWrapper::markObjects(that, markStack);
}
-quint64 QQuickItemPrivate::_q_createJSWrapper(QV4::ExecutionEngine *engine)
+quint64 QQuickItemPrivate::_q_createJSWrapper(QQmlV4ExecutionEnginePtr engine)
{
return (engine->memoryManager->allocate<QQuickItemWrapper>(q_func()))->asReturnedValue();
}
diff --git a/src/quick/items/qquickitem.h b/src/quick/items/qquickitem.h
index fdf09d30b0..6b54b1af24 100644
--- a/src/quick/items/qquickitem.h
+++ b/src/quick/items/qquickitem.h
@@ -121,7 +121,7 @@ class Q_QUICK_EXPORT QQuickItem : public QObject, public QQmlParserStatus
Q_CLASSINFO("DefaultProperty", "data")
Q_CLASSINFO("ParentProperty", "parent")
- Q_CLASSINFO("qt_QmlJSWrapperFactoryMethod", "_q_createJSWrapper(QV4::ExecutionEngine*)")
+ Q_CLASSINFO("qt_QmlJSWrapperFactoryMethod", "_q_createJSWrapper(QQmlV4ExecutionEnginePtr)")
QML_NAMED_ELEMENT(Item)
QML_ADDED_IN_VERSION(2, 0)
@@ -470,7 +470,7 @@ protected:
private:
Q_PRIVATE_SLOT(d_func(), void _q_resourceObjectDeleted(QObject *))
- Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QV4::ExecutionEngine *))
+ Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr))
friend class QQuickWindowPrivate;
friend class QQuickDeliveryAgentPrivate;
diff --git a/src/quick/items/qquickitem_p.h b/src/quick/items/qquickitem_p.h
index 78291787fe..c2e014b72d 100644
--- a/src/quick/items/qquickitem_p.h
+++ b/src/quick/items/qquickitem_p.h
@@ -295,7 +295,7 @@ public:
static void transform_clear(QQmlListProperty<QQuickTransform> *list);
void _q_resourceObjectDeleted(QObject *);
- quint64 _q_createJSWrapper(QV4::ExecutionEngine *engine);
+ quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr engine);
enum ChangeType {
Geometry = 0x01,
diff --git a/src/quick/items/qquicktextedit_p.h b/src/quick/items/qquicktextedit_p.h
index 3dc6eae24b..ef09457327 100644
--- a/src/quick/items/qquicktextedit_p.h
+++ b/src/quick/items/qquicktextedit_p.h
@@ -28,6 +28,14 @@ class QQuickTextEditPrivate;
class QQuickTextSelection;
class QTextBlock;
+class QQuickTextBlockForeign
+{
+ Q_GADGET
+ QML_ANONYMOUS
+ QML_FOREIGN(QTextBlock)
+ QML_EXTENDED(QQuickTextBlockForeign)
+};
+
class Q_QUICK_EXPORT QQuickTextEdit : public QQuickImplicitSizeItem, public QQuickTextInterface
{
Q_OBJECT