diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2023-02-24 10:13:03 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2023-02-28 12:29:12 +0100 |
commit | 35041077dfcc8afd69b7404d7dae27f3e3745d4a (patch) | |
tree | c237a813f90a9f9e00324d93502b6906606705cb /src | |
parent | ce6452ca5accb3a710376c155d6832746745cf20 (diff) |
QtQml: Make QQmlTypeNotAvailable public
Since we are exposing it in the type registration macros, we need to
make it visible to the compiler.
Pick-to: 6.5
Fixes: QTBUG-111477
Change-Id: I3dbefd617f00de6e97585d105c612bbc33d0224d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/qml/qml/qqml.cpp | 9 | ||||
-rw-r--r-- | src/qml/qml/qqml.h | 10 | ||||
-rw-r--r-- | src/qml/qml/qqmltypenotavailable.cpp | 15 | ||||
-rw-r--r-- | src/qml/qml/qqmltypenotavailable_p.h | 34 |
5 files changed, 16 insertions, 53 deletions
diff --git a/src/qml/CMakeLists.txt b/src/qml/CMakeLists.txt index 2033f49dbc..68d4c6841b 100644 --- a/src/qml/CMakeLists.txt +++ b/src/qml/CMakeLists.txt @@ -340,7 +340,6 @@ qt_internal_add_qml_module(Qml qml/qqmltypemodule.cpp qml/qqmltypemodule_p.h qml/qqmltypemoduleversion.cpp qml/qqmltypemoduleversion_p.h qml/qqmltypenamecache.cpp qml/qqmltypenamecache_p.h - qml/qqmltypenotavailable.cpp qml/qqmltypenotavailable_p.h qml/qqmltypewrapper.cpp qml/qqmltypewrapper_p.h qml/qqmlvaluetype.cpp qml/qqmlvaluetype_p.h qml/qqmlvaluetypeproxybinding.cpp qml/qqmlvaluetypeproxybinding_p.h diff --git a/src/qml/qml/qqml.cpp b/src/qml/qml/qqml.cpp index 13654d0cb0..37eb52755e 100644 --- a/src/qml/qml/qqml.cpp +++ b/src/qml/qml/qqml.cpp @@ -11,7 +11,6 @@ #include <private/qqmlmetatypedata_p.h> #include <private/qqmltype_p_p.h> #include <private/qqmltypemodule_p.h> -#include <private/qqmltypenotavailable_p.h> #include <private/qqmlcomponent_p.h> #include <private/qqmltypewrapper_p.h> #include <private/qqmlvaluetypewrapper_p.h> @@ -755,6 +754,13 @@ QList<QTypeRevision> QQmlPrivate::revisionClassInfos(const QMetaObject *metaObje return revisions; } +int qmlRegisterTypeNotAvailable( + const char *uri, int versionMajor, int versionMinor, + const char *qmlName, const QString &message) +{ + return qmlRegisterUncreatableType<QQmlTypeNotAvailable>( + uri, versionMajor, versionMinor, qmlName, message); +} namespace QQmlPrivate { template<> @@ -798,7 +804,6 @@ void qmlRegisterTypeAndRevisions<QQmlTypeNotAvailable, void>( qmlregister(TypeAndRevisionsRegistration, &type); } - QQmlEngine *AOTCompiledContext::qmlEngine() const { return qmlContext ? qmlContext->engine() : nullptr; diff --git a/src/qml/qml/qqml.h b/src/qml/qml/qqml.h index 1695a78bbf..a50a86de4d 100644 --- a/src/qml/qml/qqml.h +++ b/src/qml/qml/qqml.h @@ -133,8 +133,16 @@ void qmlRegisterAnonymousTypesAndRevisions(const char *uri, int versionMajor) nullptr, true); } +class QQmlTypeNotAvailable : public QObject +{ + Q_OBJECT + QML_NAMED_ELEMENT(TypeNotAvailable) + QML_ADDED_IN_VERSION(2, 15) + QML_UNCREATABLE("Type not available.") +}; + int Q_QML_EXPORT qmlRegisterTypeNotAvailable(const char *uri, int versionMajor, int versionMinor, - const char *qmlName, const QString& message); + const char *qmlName, const QString &message); template<typename T> int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason) diff --git a/src/qml/qml/qqmltypenotavailable.cpp b/src/qml/qml/qqmltypenotavailable.cpp deleted file mode 100644 index b3d33eb706..0000000000 --- a/src/qml/qml/qqmltypenotavailable.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (C) 2016 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 - -#include "qqmltypenotavailable_p.h" - -QT_BEGIN_NAMESPACE - -int qmlRegisterTypeNotAvailable(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& message) -{ - return qmlRegisterUncreatableType<QQmlTypeNotAvailable>(uri,versionMajor,versionMinor,qmlName,message); -} - -QT_END_NAMESPACE - -#include "moc_qqmltypenotavailable_p.cpp" diff --git a/src/qml/qml/qqmltypenotavailable_p.h b/src/qml/qml/qqmltypenotavailable_p.h deleted file mode 100644 index e198f3259a..0000000000 --- a/src/qml/qml/qqmltypenotavailable_p.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (C) 2020 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 - -#ifndef QQMLTYPENOTAVAILABLE_H -#define QQMLTYPENOTAVAILABLE_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <qqml.h> -#include <private/qglobal_p.h> - -QT_BEGIN_NAMESPACE - -class QQmlTypeNotAvailable : public QObject { - Q_OBJECT - QML_NAMED_ELEMENT(TypeNotAvailable) - QML_ADDED_IN_VERSION(2, 15) - QML_UNCREATABLE("Type not available.") -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QQmlTypeNotAvailable) - -#endif // QQMLTYPENOTAVAILABLE_H |