aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsapi
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsapi')
-rw-r--r--src/qml/jsapi/qjsmanagedvalue.h1
-rw-r--r--src/qml/jsapi/qjsmanagedvalue_p.h32
2 files changed, 33 insertions, 0 deletions
diff --git a/src/qml/jsapi/qjsmanagedvalue.h b/src/qml/jsapi/qjsmanagedvalue.h
index a6f67b0cc0..24117a2e89 100644
--- a/src/qml/jsapi/qjsmanagedvalue.h
+++ b/src/qml/jsapi/qjsmanagedvalue.h
@@ -120,6 +120,7 @@ public:
private:
friend class QJSValue;
friend class QJSEngine;
+ friend class QJSManagedValuePrivate;
QJSManagedValue(QV4::ExecutionEngine *engine);
QV4::Value *d = nullptr;
diff --git a/src/qml/jsapi/qjsmanagedvalue_p.h b/src/qml/jsapi/qjsmanagedvalue_p.h
new file mode 100644
index 0000000000..f949561dfc
--- /dev/null
+++ b/src/qml/jsapi/qjsmanagedvalue_p.h
@@ -0,0 +1,32 @@
+// Copyright (C) 2025 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 QJSMANAGEDVALUE_P_H
+#define QJSMANAGEDVALUE_P_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 "qjsmanagedvalue.h"
+
+QT_BEGIN_NAMESPACE
+
+// ### Qt 7: Use this for proper PIMPL
+class QJSManagedValuePrivate
+{
+public:
+ static QV4::Value *member(const QJSManagedValue *jsmv) { return jsmv->d; }
+ static QV4::Value **memberPtr(QJSManagedValue *jsmv) { return &jsmv->d; }
+};
+
+QT_END_NAMESPACE
+
+#endif // QJSMANAGEDVALUE_P_H