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/qv4stringtoarrayindex_p.h
|
||||
common/qqmltranslation.cpp common/qqmltranslation_p.h
|
||||
compat/removed_api.cpp
|
||||
compiler/qqmlirbuilder.cpp compiler/qqmlirbuilder_p.h
|
||||
compiler/qv4bytecodegenerator.cpp compiler/qv4bytecodegenerator_p.h
|
||||
compiler/qv4bytecodehandler.cpp compiler/qv4bytecodehandler_p.h
|
||||
|
@ -421,6 +422,8 @@ qt_internal_add_qml_module(Qml
|
|||
GENERATE_PRIVATE_CPP_EXPORTS
|
||||
)
|
||||
|
||||
qt_update_ignore_pch_source(Qml "compat/removed_api.cpp")
|
||||
|
||||
qt_internal_add_qml_module(QmlMeta
|
||||
URI "QtQml"
|
||||
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());
|
||||
}
|
||||
|
||||
#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)
|
||||
{
|
||||
switch (value.type()) {
|
||||
|
|
|
@ -76,9 +76,9 @@ public:
|
|||
std::is_same<T, double>,
|
||||
std::is_same<T, QString>>) {
|
||||
return QJSPrimitiveValue(value);
|
||||
} else {
|
||||
return createPrimitive(QMetaType::fromType<T>(), &value);
|
||||
}
|
||||
|
||||
return createPrimitive(QMetaType::fromType<T>(), &value);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
@ -298,7 +298,7 @@ private:
|
|||
QJSPrimitiveValue createPrimitive(QMetaType type, const void *ptr);
|
||||
QJSManagedValue createManaged(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
|
||||
#endif
|
||||
|
||||
|
@ -341,8 +341,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QJSEngine::Extensions)
|
|||
template<typename T>
|
||||
T qjsvalue_cast(const QJSValue &value)
|
||||
{
|
||||
T t;
|
||||
if (QJSEngine::convertV2(value, QMetaType::fromType<T>(), &t))
|
||||
if (T t; QJSEngine::convertV2(value, QMetaType::fromType<T>(), &t))
|
||||
return t;
|
||||
else if (value.isVariant())
|
||||
return qvariant_cast<T>(value.toVariant());
|
||||
|
@ -353,11 +352,8 @@ T qjsvalue_cast(const QJSValue &value)
|
|||
template<typename T>
|
||||
T qjsvalue_cast(const QJSManagedValue &value)
|
||||
{
|
||||
{
|
||||
T t;
|
||||
if (QJSEngine::convertManaged(value, QMetaType::fromType<T>(), &t))
|
||||
return t;
|
||||
}
|
||||
if (T t; QJSEngine::convertManaged(value, QMetaType::fromType<T>(), &t))
|
||||
return t;
|
||||
|
||||
return qvariant_cast<T>(value.toVariant());
|
||||
}
|
||||
|
@ -365,11 +361,8 @@ T qjsvalue_cast(const QJSManagedValue &value)
|
|||
template<typename T>
|
||||
T qjsvalue_cast(const QJSPrimitiveValue &value)
|
||||
{
|
||||
{
|
||||
T t;
|
||||
if (QJSEngine::convertPrimitive(value, QMetaType::fromType<T>(), &t))
|
||||
return t;
|
||||
}
|
||||
if (T t; QJSEngine::convertPrimitive(value, QMetaType::fromType<T>(), &t))
|
||||
return t;
|
||||
|
||||
return qvariant_cast<T>(value.toVariant());
|
||||
}
|
||||
|
|
|
@ -19,7 +19,8 @@ class Q_QML_EXPORT QQmlApplicationEngine : public QQmlEngine
|
|||
public:
|
||||
QQmlApplicationEngine(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() override;
|
||||
|
||||
|
|
|
@ -53,8 +53,8 @@ public:
|
|||
QQmlComponent(QQmlEngine *, const QUrl &url, QObject *parent = nullptr);
|
||||
QQmlComponent(QQmlEngine *, const QUrl &url, CompilationMode mode, QObject *parent = nullptr);
|
||||
|
||||
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, QObject *parent = nullptr);
|
||||
explicit QQmlComponent(QQmlEngine *engine, QAnyStringView uri, QAnyStringView typeName, CompilationMode mode, QObject *parent = nullptr);
|
||||
|
||||
~QQmlComponent() override;
|
||||
|
||||
|
|
Loading…
Reference in New Issue