Export QQmlInstantiator and QQmlInstantiatorPrivate privately

This is needed to fix a bug in Qt Quick Controls 2. We need
to know if items within a Menu were created by Instantiator
so that we don't try to recreate them.

Task-number: QTBUG-71066
Change-Id: Iaedaea2be6bf4f70c2c7b6fb37871d5537328e96
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
This commit is contained in:
Mitch Curtis 2018-10-11 11:24:42 +02:00 committed by Liang Qi
parent dbca08fcd7
commit 878a17729b
2 changed files with 6 additions and 2 deletions

View File

@ -53,11 +53,12 @@
#include <QtQml/qqmlcomponent.h>
#include <QtQml/qqmlparserstatus.h>
#include <QtQml/private/qtqmlglobal_p.h>
QT_BEGIN_NAMESPACE
class QQmlInstantiatorPrivate;
class Q_AUTOTEST_EXPORT QQmlInstantiator : public QObject, public QQmlParserStatus
class Q_QML_PRIVATE_EXPORT QQmlInstantiator : public QObject, public QQmlParserStatus
{
Q_OBJECT
Q_INTERFACES(QQmlParserStatus)

View File

@ -59,7 +59,7 @@
QT_BEGIN_NAMESPACE
class QQmlInstantiatorPrivate : public QObjectPrivate
class Q_QML_PRIVATE_EXPORT QQmlInstantiatorPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QQmlInstantiator)
@ -76,6 +76,9 @@ public:
void _q_modelUpdated(const QQmlChangeSet &, bool);
QObject *modelObject(int index, bool async);
static QQmlInstantiatorPrivate *get(QQmlInstantiator *instantiator) { return instantiator->d_func(); }
static const QQmlInstantiatorPrivate *get(const QQmlInstantiator *instantiator) { return instantiator->d_func(); }
bool componentComplete:1;
bool effectiveReset:1;
bool active:1;