Fix minor API problems
Add explicit where appropriate, and use more elegant constructs in inline functions. Introduce removed_api.cpp for QJSEngine::create(int, const void *). Pick-to: 6.5 Change-Id: Ie54b0494fe3c5567f8a5ca361c3a583de3d97dd5 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
parent
19b35008e2
commit
281497bfbc
|
@ -128,6 +128,7 @@ qt_internal_add_qml_module(Qml
|
||||||
common/qv4staticvalue_p.h
|
common/qv4staticvalue_p.h
|
||||||
common/qv4stringtoarrayindex_p.h
|
common/qv4stringtoarrayindex_p.h
|
||||||
common/qqmltranslation.cpp common/qqmltranslation_p.h
|
common/qqmltranslation.cpp common/qqmltranslation_p.h
|
||||||
|
compat/removed_api.cpp
|
||||||
compiler/qqmlirbuilder.cpp compiler/qqmlirbuilder_p.h
|
compiler/qqmlirbuilder.cpp compiler/qqmlirbuilder_p.h
|
||||||
compiler/qv4bytecodegenerator.cpp compiler/qv4bytecodegenerator_p.h
|
compiler/qv4bytecodegenerator.cpp compiler/qv4bytecodegenerator_p.h
|
||||||
compiler/qv4bytecodehandler.cpp compiler/qv4bytecodehandler_p.h
|
compiler/qv4bytecodehandler.cpp compiler/qv4bytecodehandler_p.h
|
||||||
|
@ -421,6 +422,8 @@ qt_internal_add_qml_module(Qml
|
||||||
GENERATE_PRIVATE_CPP_EXPORTS
|
GENERATE_PRIVATE_CPP_EXPORTS
|
||||||
)
|
)
|
||||||
|
|
||||||
|
qt_update_ignore_pch_source(Qml "compat/removed_api.cpp")
|
||||||
|
|
||||||
qt_internal_add_qml_module(QmlMeta
|
qt_internal_add_qml_module(QmlMeta
|
||||||
URI "QtQml"
|
URI "QtQml"
|
||||||
VERSION "${PROJECT_VERSION}"
|
VERSION "${PROJECT_VERSION}"
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
|
#define QT_QML_BUILD_REMOVED_API
|
||||||
|
|
||||||
|
#include "qtqmlglobal.h"
|
||||||
|
|
||||||
|
QT_USE_NAMESPACE
|
||||||
|
|
||||||
|
#if QT_QML_REMOVED_SINCE(6, 5)
|
||||||
|
|
||||||
|
#include <QtQml/qjsengine.h>
|
||||||
|
|
||||||
|
QJSValue QJSEngine::create(int typeId, const void *ptr)
|
||||||
|
{
|
||||||
|
QMetaType type(typeId);
|
||||||
|
return create(type, ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -818,14 +818,6 @@ QJSValue QJSEngine::create(QMetaType type, const void *ptr)
|
||||||
return QJSValuePrivate::fromReturnedValue(v->asReturnedValue());
|
return QJSValuePrivate::fromReturnedValue(v->asReturnedValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(7,0,0)
|
|
||||||
QJSValue QJSEngine::create(int typeId, const void *ptr)
|
|
||||||
{
|
|
||||||
QMetaType type(typeId);
|
|
||||||
return create(type, ptr);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool QJSEngine::convertPrimitive(const QJSPrimitiveValue &value, QMetaType type, void *ptr)
|
bool QJSEngine::convertPrimitive(const QJSPrimitiveValue &value, QMetaType type, void *ptr)
|
||||||
{
|
{
|
||||||
switch (value.type()) {
|
switch (value.type()) {
|
||||||
|
|
|
@ -76,9 +76,9 @@ public:
|
||||||
std::is_same<T, double>,
|
std::is_same<T, double>,
|
||||||
std::is_same<T, QString>>) {
|
std::is_same<T, QString>>) {
|
||||||
return QJSPrimitiveValue(value);
|
return QJSPrimitiveValue(value);
|
||||||
|
} else {
|
||||||
|
return createPrimitive(QMetaType::fromType<T>(), &value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return createPrimitive(QMetaType::fromType<T>(), &value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
@ -298,7 +298,7 @@ private:
|
||||||
QJSPrimitiveValue createPrimitive(QMetaType type, const void *ptr);
|
QJSPrimitiveValue createPrimitive(QMetaType type, const void *ptr);
|
||||||
QJSManagedValue createManaged(QMetaType type, const void *ptr);
|
QJSManagedValue createManaged(QMetaType type, const void *ptr);
|
||||||
QJSValue create(QMetaType type, const void *ptr);
|
QJSValue create(QMetaType type, const void *ptr);
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(7,0,0)
|
#if QT_QML_REMOVED_SINCE(6, 5)
|
||||||
QJSValue create(int id, const void *ptr); // only there for BC reasons
|
QJSValue create(int id, const void *ptr); // only there for BC reasons
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -341,8 +341,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QJSEngine::Extensions)
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T qjsvalue_cast(const QJSValue &value)
|
T qjsvalue_cast(const QJSValue &value)
|
||||||
{
|
{
|
||||||
T t;
|
if (T t; QJSEngine::convertV2(value, QMetaType::fromType<T>(), &t))
|
||||||
if (QJSEngine::convertV2(value, QMetaType::fromType<T>(), &t))
|
|
||||||
return t;
|
return t;
|
||||||
else if (value.isVariant())
|
else if (value.isVariant())
|
||||||
return qvariant_cast<T>(value.toVariant());
|
return qvariant_cast<T>(value.toVariant());
|
||||||
|
@ -353,11 +352,8 @@ T qjsvalue_cast(const QJSValue &value)
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T qjsvalue_cast(const QJSManagedValue &value)
|
T qjsvalue_cast(const QJSManagedValue &value)
|
||||||
{
|
{
|
||||||
{
|
if (T t; QJSEngine::convertManaged(value, QMetaType::fromType<T>(), &t))
|
||||||
T t;
|
return t;
|
||||||
if (QJSEngine::convertManaged(value, QMetaType::fromType<T>(), &t))
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
return qvariant_cast<T>(value.toVariant());
|
return qvariant_cast<T>(value.toVariant());
|
||||||
}
|
}
|
||||||
|
@ -365,11 +361,8 @@ T qjsvalue_cast(const QJSManagedValue &value)
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T qjsvalue_cast(const QJSPrimitiveValue &value)
|
T qjsvalue_cast(const QJSPrimitiveValue &value)
|
||||||
{
|
{
|
||||||
{
|
if (T t; QJSEngine::convertPrimitive(value, QMetaType::fromType<T>(), &t))
|
||||||
T t;
|
return t;
|
||||||
if (QJSEngine::convertPrimitive(value, QMetaType::fromType<T>(), &t))
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
return qvariant_cast<T>(value.toVariant());
|
return qvariant_cast<T>(value.toVariant());
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,8 @@ class Q_QML_EXPORT QQmlApplicationEngine : public QQmlEngine
|
||||||
public:
|
public:
|
||||||
QQmlApplicationEngine(QObject *parent = nullptr);
|
QQmlApplicationEngine(QObject *parent = nullptr);
|
||||||
QQmlApplicationEngine(const QUrl &url, QObject *parent = nullptr);
|
QQmlApplicationEngine(const QUrl &url, QObject *parent = nullptr);
|
||||||
QQmlApplicationEngine(QAnyStringView uri, QAnyStringView typeName, QObject *parent = nullptr);
|
explicit QQmlApplicationEngine(QAnyStringView uri, QAnyStringView typeName,
|
||||||
|
QObject *parent = nullptr);
|
||||||
QQmlApplicationEngine(const QString &filePath, QObject *parent = nullptr);
|
QQmlApplicationEngine(const QString &filePath, QObject *parent = nullptr);
|
||||||
~QQmlApplicationEngine() override;
|
~QQmlApplicationEngine() override;
|
||||||
|
|
||||||
|
|
|
@ -53,8 +53,8 @@ public:
|
||||||
QQmlComponent(QQmlEngine *, const QUrl &url, QObject *parent = nullptr);
|
QQmlComponent(QQmlEngine *, const QUrl &url, QObject *parent = nullptr);
|
||||||
QQmlComponent(QQmlEngine *, const QUrl &url, CompilationMode mode, QObject *parent = nullptr);
|
QQmlComponent(QQmlEngine *, const QUrl &url, CompilationMode mode, QObject *parent = nullptr);
|
||||||
|
|
||||||
QQmlComponent(QQmlEngine *engine, QAnyStringView uri, QAnyStringView typeName, QObject *parent = nullptr);
|
explicit QQmlComponent(QQmlEngine *engine, QAnyStringView uri, QAnyStringView typeName, QObject *parent = nullptr);
|
||||||
QQmlComponent(QQmlEngine *engine, QAnyStringView uri, QAnyStringView typeName, CompilationMode mode, QObject *parent = nullptr);
|
explicit QQmlComponent(QQmlEngine *engine, QAnyStringView uri, QAnyStringView typeName, CompilationMode mode, QObject *parent = nullptr);
|
||||||
|
|
||||||
~QQmlComponent() override;
|
~QQmlComponent() override;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue