diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2024-04-15 09:58:44 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2024-04-17 12:27:35 +0200 |
commit | ba22fb2116ecf2076d207d5e4f0c5897bd4a1ab5 (patch) | |
tree | 5807e9e2bf173a2353c8ab807908ae941ba90da5 /src | |
parent | 9e0fe0d9ec5edc47422eca94aa95ad804ca69a7a (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/labs/folderlistmodel/fileproperty_p.h | 8 | ||||
-rw-r--r-- | src/particles/qquickimageparticle_p.h | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmlprivate.h | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmlvaluetype_p.h | 8 | ||||
-rw-r--r-- | src/qml/qqmlbuiltins_p.h | 16 | ||||
-rw-r--r-- | src/qmlmodels/qqmlchangeset_p.h | 3 | ||||
-rw-r--r-- | src/qmlmodels/qqmllistmodelworkeragent_p.h | 4 | ||||
-rw-r--r-- | src/qmlxmllistmodel/qqmlxmllistmodel_p.h | 2 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 2 | ||||
-rw-r--r-- | src/quick/items/qquickitem.h | 4 | ||||
-rw-r--r-- | src/quick/items/qquickitem_p.h | 2 | ||||
-rw-r--r-- | src/quick/items/qquicktextedit_p.h | 8 |
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 |