diff options
Diffstat (limited to 'src/quick/designer')
-rw-r--r-- | src/quick/designer/designer.pri | 6 | ||||
-rw-r--r-- | src/quick/designer/qqmldesignermetaobject.cpp | 64 | ||||
-rw-r--r-- | src/quick/designer/qqmldesignermetaobject_p.h | 3 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignercustomobjectdata.cpp | 11 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignercustomparserobject.cpp | 59 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignercustomparserobject_p.h | 79 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignersupport.cpp | 12 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignersupportitems.cpp | 14 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignersupportmetainfo.cpp | 6 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignersupportmetainfo_p.h | 1 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignerwindowmanager.cpp | 11 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignerwindowmanager_p.h | 7 |
12 files changed, 203 insertions, 70 deletions
diff --git a/src/quick/designer/designer.pri b/src/quick/designer/designer.pri index eb2141134d..f87ea4da04 100644 --- a/src/quick/designer/designer.pri +++ b/src/quick/designer/designer.pri @@ -7,7 +7,8 @@ HEADERS += \ designer/qquickdesignersupportproperties_p.h \ designer/qquickdesignersupportmetainfo_p.h \ designer/qqmldesignermetaobject_p.h \ - designer/qquickdesignersupport_p.h + designer/qquickdesignersupport_p.h \ + designer/qquickdesignercustomparserobject_p.h SOURCES += \ designer/qquickdesignercustomobjectdata.cpp \ @@ -18,4 +19,5 @@ SOURCES += \ designer/qquickdesignersupportpropertychanges.cpp \ designer/qquickdesignersupportstates.cpp \ designer/qquickdesignerwindowmanager.cpp \ - designer/qqmldesignermetaobject.cpp + designer/qqmldesignermetaobject.cpp \ + designer/qquickdesignercustomparserobject.cpp diff --git a/src/quick/designer/qqmldesignermetaobject.cpp b/src/quick/designer/qqmldesignermetaobject.cpp index 0bfa72e9d4..5e897218c5 100644 --- a/src/quick/designer/qqmldesignermetaobject.cpp +++ b/src/quick/designer/qqmldesignermetaobject.cpp @@ -79,34 +79,6 @@ struct MetaPropertyData { QVector<QPair<QVariant, bool> > m_data; }; -static bool constructedMetaData(const QQmlVMEMetaData* data) -{ - return data->propertyCount == 0 - && data->aliasCount == 0 - && data->signalCount == 0 - && data->methodCount == 0; -} - -static QQmlVMEMetaData* fakeMetaData() -{ - QQmlVMEMetaData* data = new QQmlVMEMetaData; - data->propertyCount = 0; - data->aliasCount = 0; - data->signalCount = 0; - data->methodCount = 0; - - return data; -} - -static const QQmlVMEMetaData* vMEMetaDataForObject(QObject *object) -{ - QQmlVMEMetaObject *metaObject = QQmlVMEMetaObject::get(object); - if (metaObject) - return metaObject->metaData; - - return fakeMetaData(); -} - static QQmlPropertyCache *cacheForObject(QObject *object, QQmlEngine *engine) { QQmlVMEMetaObject *metaObject = QQmlVMEMetaObject::get(object); @@ -125,7 +97,15 @@ QQmlDesignerMetaObject* QQmlDesignerMetaObject::getNodeInstanceMetaObject(QObjec return static_cast<QQmlDesignerMetaObject *>(parent); // we just create one and the ownership goes automatically to the object in nodeinstance see init method - return new QQmlDesignerMetaObject(object, engine); + + QQmlData *ddata = QQmlData::get(object, false); + + const bool hadVMEMetaObject = ddata ? ddata->hasVMEMetaObject : false; + QQmlDesignerMetaObject *mo = new QQmlDesignerMetaObject(object, engine); + //If our parent is not a VMEMetaObject we just set the flag to false again + if (ddata) + ddata->hasVMEMetaObject = hadVMEMetaObject; + return mo; } void QQmlDesignerMetaObject::init(QObject *object, QQmlEngine *engine) @@ -140,39 +120,27 @@ void QQmlDesignerMetaObject::init(QObject *object, QQmlEngine *engine) QObjectPrivate *op = QObjectPrivate::get(object); op->metaObject = this; - m_cache = QQmlEnginePrivate::get(engine)->cache(this); - - if (m_cache != cache) { - m_cache->addref(); - cache->release(); - cache = m_cache; - } - - //If our parent is not a VMEMetaObject we just se the flag to false again - if (constructedMetaData(metaData)) - QQmlData::get(object)->hasVMEMetaObject = false; + cache = QQmlEnginePrivate::get(engine)->cache(this); nodeInstanceMetaObjectList.insert(this, true); hasAssignedMetaObjectData = true; } QQmlDesignerMetaObject::QQmlDesignerMetaObject(QObject *object, QQmlEngine *engine) - : QQmlVMEMetaObject(object, cacheForObject(object, engine), vMEMetaDataForObject(object)), + : QQmlVMEMetaObject(object, cacheForObject(object, engine), /*qml compilation unit*/nullptr, /*qmlObjectId*/-1), m_context(engine->contextForObject(object)), - m_data(new MetaPropertyData), - m_cache(0) + m_data(new MetaPropertyData) { init(object, engine); QQmlData *ddata = QQmlData::get(object, false); - //Assign cache to object if (ddata && ddata->propertyCache) { cache->setParent(ddata->propertyCache); cache->invalidate(engine, this); ddata->propertyCache->release(); - ddata->propertyCache = m_cache; - m_cache->addref(); + ddata->propertyCache = cache; + ddata->propertyCache->addref(); } } @@ -193,9 +161,9 @@ void QQmlDesignerMetaObject::createNewDynamicProperty(const QString &name) Q_UNUSED(id); //Updating cache - QQmlPropertyCache *oldParent = m_cache->parent(); + QQmlPropertyCache *oldParent = cache->parent(); QQmlEnginePrivate::get(m_context->engine())->cache(this)->invalidate(m_context->engine(), this); - m_cache->setParent(oldParent); + cache->setParent(oldParent); QQmlProperty property(myObject(), name, m_context); Q_ASSERT(property.isValid()); diff --git a/src/quick/designer/qqmldesignermetaobject_p.h b/src/quick/designer/qqmldesignermetaobject_p.h index c45f83dc1e..01512f6af0 100644 --- a/src/quick/designer/qqmldesignermetaobject_p.h +++ b/src/quick/designer/qqmldesignermetaobject_p.h @@ -70,7 +70,6 @@ public: static void registerNotifyPropertyChangeCallBack(void (*callback)(QObject*, const QQuickDesignerSupport::PropertyName &propertyName)); protected: - QQmlDesignerMetaObject(QObject *object, QQmlEngine *engine); static QQmlDesignerMetaObject* getNodeInstanceMetaObject(QObject *object, QQmlEngine *engine); void createNewDynamicProperty(const QString &name); @@ -95,13 +94,13 @@ protected: void copyTypeMetaObject(); private: + QQmlDesignerMetaObject(QObject *object, QQmlEngine *engine); void init(QObject *, QQmlEngine *engine); QPointer<QQmlContext> m_context; QQmlOpenMetaObjectType *m_type; QScopedPointer<MetaPropertyData> m_data; //QAbstractDynamicMetaObject *m_parent; - QQmlPropertyCache *m_cache; friend class QQuickDesignerSupportProperties; }; diff --git a/src/quick/designer/qquickdesignercustomobjectdata.cpp b/src/quick/designer/qquickdesignercustomobjectdata.cpp index 93e7b6133f..e37254d165 100644 --- a/src/quick/designer/qquickdesignercustomobjectdata.cpp +++ b/src/quick/designer/qquickdesignercustomobjectdata.cpp @@ -145,10 +145,10 @@ void QQuickDesignerCustomObjectData::keepBindingFromGettingDeleted(QObject *obje void QQuickDesignerCustomObjectData::populateResetHashes() { - QQuickDesignerSupport::PropertyNameList propertyNameList = + const QQuickDesignerSupport::PropertyNameList propertyNameList = QQuickDesignerSupportProperties::propertyNameListForWritableProperties(object()); - Q_FOREACH (const QQuickDesignerSupport::PropertyName &propertyName, propertyNameList) { + for (const QQuickDesignerSupport::PropertyName &propertyName : propertyNameList) { QQmlProperty property(object(), QString::fromUtf8(propertyName), QQmlEngine::contextForObject(object())); QQmlAbstractBinding::Ptr binding = QQmlAbstractBinding::Ptr(QQmlPropertyPrivate::binding(property)); @@ -194,7 +194,7 @@ void QQuickDesignerCustomObjectData::doResetProperty(QQmlContext *context, const #endif if (qmlBinding) qmlBinding->setTarget(property); - QQmlPropertyPrivate::setBinding(binding, QQmlPropertyPrivate::None, QQmlPropertyPrivate::DontRemoveBinding); + QQmlPropertyPrivate::setBinding(binding, QQmlPropertyPrivate::None, QQmlPropertyData::DontRemoveBinding); if (qmlBinding) qmlBinding->update(); @@ -257,11 +257,12 @@ void QQuickDesignerCustomObjectData::setPropertyBinding(QQmlContext *context, return; if (property.isProperty()) { - QQmlBinding *binding = new QQmlBinding(expression, object(), context); + QQmlBinding *binding = QQmlBinding::create(&QQmlPropertyPrivate::get(property)->core, + expression, object(), context); binding->setTarget(property); binding->setNotifyOnValueChanged(true); - QQmlPropertyPrivate::setBinding(binding, QQmlPropertyPrivate::None, QQmlPropertyPrivate::DontRemoveBinding); + QQmlPropertyPrivate::setBinding(binding, QQmlPropertyPrivate::None, QQmlPropertyData::DontRemoveBinding); //Refcounting is taking take care of deletion binding->update(); if (binding->hasError()) { diff --git a/src/quick/designer/qquickdesignercustomparserobject.cpp b/src/quick/designer/qquickdesignercustomparserobject.cpp new file mode 100644 index 0000000000..b785abe361 --- /dev/null +++ b/src/quick/designer/qquickdesignercustomparserobject.cpp @@ -0,0 +1,59 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtQuick module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qquickdesignercustomparserobject_p.h" + +QT_BEGIN_NAMESPACE + +QQuickDesignerCustomParserObject::QQuickDesignerCustomParserObject() +{ + +} + +void QQuickDesignerCustomParser::verifyBindings(const QV4::CompiledData::Unit *, const QList<const QV4::CompiledData::Binding *> &) +{ + /* Nothing to do we accept anything */ +} + +void QQuickDesignerCustomParser::applyBindings(QObject *, QV4::CompiledData::CompilationUnit *, const QList<const QV4::CompiledData::Binding *> &) +{ + /* Nothing to do we accept anything */ +} + +QT_END_NAMESPACE diff --git a/src/quick/designer/qquickdesignercustomparserobject_p.h b/src/quick/designer/qquickdesignercustomparserobject_p.h new file mode 100644 index 0000000000..e4d0765277 --- /dev/null +++ b/src/quick/designer/qquickdesignercustomparserobject_p.h @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtQuick module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QUICKDESIGNERCUSTOMPARSEROBJECT_H +#define QUICKDESIGNERCUSTOMPARSEROBJECT_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 <QObject> +#include <private/qqmlcustomparser_p.h> + +QT_BEGIN_NAMESPACE + +class QQuickDesignerCustomParserObject : public QObject +{ + Q_OBJECT + +public: + QQuickDesignerCustomParserObject(); +}; + +class QQuickDesignerCustomParser : public QQmlCustomParser +{ +public: + QQuickDesignerCustomParser() + : QQmlCustomParser(AcceptsAttachedProperties | AcceptsSignalHandlers) {} + + void verifyBindings(const QV4::CompiledData::Unit *qmlUnit, const QList<const QV4::CompiledData::Binding *> &props) override; + void applyBindings(QObject *obj, QV4::CompiledData::CompilationUnit *compilationUnit, const QList<const QV4::CompiledData::Binding *> &bindings) override; +}; + +QT_END_NAMESPACE + +#endif // QUICKDESIGNERCUSTOMPARSEROBJECT_H diff --git a/src/quick/designer/qquickdesignersupport.cpp b/src/quick/designer/qquickdesignersupport.cpp index 78ed89a107..3ff5a3ce96 100644 --- a/src/quick/designer/qquickdesignersupport.cpp +++ b/src/quick/designer/qquickdesignersupport.cpp @@ -40,7 +40,9 @@ #include "qquickdesignersupport_p.h" #include <private/qquickitem_p.h> +#if QT_CONFIG(quick_shadereffect) #include <QtQuick/private/qquickshadereffectsource_p.h> +#endif #include <QtQuick/private/qquickrectangle_p.h> #include <QtQml/private/qabstractanimationjob_p.h> #include <private/qqmlengine_p.h> @@ -51,6 +53,7 @@ #include <private/qqmlvme_p.h> #include <private/qqmlcomponentattached_p.h> #include <private/qqmldata_p.h> +#include <private/qsgadaptationlayer_p.h> #include "qquickdesignerwindowmanager_p.h" @@ -92,6 +95,7 @@ void QQuickDesignerSupport::refFromEffectItem(QQuickItem *referencedItem, bool h texture->setRect(referencedItem->boundingRect()); texture->setSize(referencedItem->boundingRect().size().toSize()); texture->setRecursive(true); +#ifndef QT_NO_OPENGL #ifndef QT_OPENGL_ES if (QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGL) texture->setFormat(GL_RGBA8); @@ -100,6 +104,7 @@ void QQuickDesignerSupport::refFromEffectItem(QQuickItem *referencedItem, bool h #else texture->setFormat(GL_RGBA); #endif +#endif texture->setHasMipmaps(false); m_itemTextureHash.insert(referencedItem, texture); @@ -234,7 +239,8 @@ bool QQuickDesignerSupport::isAnchoredTo(QQuickItem *fromItem, QQuickItem *toIte bool QQuickDesignerSupport::areChildrenAnchoredTo(QQuickItem *fromItem, QQuickItem *toItem) { - Q_FOREACH (QQuickItem *childItem, fromItem->childItems()) { + const auto childItems = fromItem->childItems(); + for (QQuickItem *childItem : childItems) { if (childItem) { if (isAnchoredTo(childItem, toItem)) return true; @@ -390,10 +396,10 @@ void QQuickDesignerSupport::emitComponentCompleteSignalForAttachedProperty(QQuic QList<QObject*> QQuickDesignerSupport::statesForItem(QQuickItem *item) { QList<QObject*> objectList; - QList<QQuickState *> stateList = QQuickItemPrivate::get(item)->_states()->states(); + const QList<QQuickState *> stateList = QQuickItemPrivate::get(item)->_states()->states(); objectList.reserve(stateList.size()); - Q_FOREACH (QQuickState* state, stateList) + for (QQuickState* state : stateList) objectList.append(state); return objectList; diff --git a/src/quick/designer/qquickdesignersupportitems.cpp b/src/quick/designer/qquickdesignersupportitems.cpp index 544ca04754..2003b484ad 100644 --- a/src/quick/designer/qquickdesignersupportitems.cpp +++ b/src/quick/designer/qquickdesignersupportitems.cpp @@ -118,16 +118,16 @@ static void allSubObjects(QObject *object, QObjectList &objectList) } // search recursive in object children list - Q_FOREACH (QObject *childObject, object->children()) { + for (QObject *childObject : object->children()) { allSubObjects(childObject, objectList); } // search recursive in quick item childItems list QQuickItem *quickItem = qobject_cast<QQuickItem*>(object); if (quickItem) { - Q_FOREACH (QQuickItem *childItem, quickItem->childItems()) { + const auto childItems = quickItem->childItems(); + for (QQuickItem *childItem : childItems) allSubObjects(childItem, objectList); - } } } @@ -135,7 +135,7 @@ void QQuickDesignerSupportItems::tweakObjects(QObject *object) { QObjectList objectList; allSubObjects(object, objectList); - Q_FOREACH (QObject* childObject, objectList) { + for (QObject* childObject : qAsConst(objectList)) { stopAnimation(childObject); if (fixResourcePathsForObjectCallBack) fixResourcePathsForObjectCallBack(childObject); @@ -254,7 +254,8 @@ QObject *QQuickDesignerSupportItems::createComponent(const QUrl &componentUrl, Q if (component.isError()) { qWarning() << "Error in:" << Q_FUNC_INFO << componentUrl; - Q_FOREACH (const QQmlError &error, component.errors()) + const auto errors = component.errors(); + for (const QQmlError &error : errors) qWarning() << error; } return object; @@ -282,7 +283,8 @@ void QQuickDesignerSupportItems::disableNativeTextRendering(QQuickItem *item) void QQuickDesignerSupportItems::disableTextCursor(QQuickItem *item) { - Q_FOREACH (QQuickItem *childItem, item->childItems()) + const auto childItems = item->childItems(); + for (QQuickItem *childItem : childItems) disableTextCursor(childItem); QQuickTextInput *textInput = qobject_cast<QQuickTextInput*>(item); diff --git a/src/quick/designer/qquickdesignersupportmetainfo.cpp b/src/quick/designer/qquickdesignersupportmetainfo.cpp index 27c9814ef1..332ae26bd4 100644 --- a/src/quick/designer/qquickdesignersupportmetainfo.cpp +++ b/src/quick/designer/qquickdesignersupportmetainfo.cpp @@ -37,6 +37,7 @@ ** ****************************************************************************/ +#include "qquickdesignercustomparserobject_p.h" #include "qquickdesignersupportmetainfo_p.h" #include "qqmldesignermetaobject_p.h" @@ -70,5 +71,10 @@ void QQuickDesignerSupportMetaInfo::registerNotifyPropertyChangeCallBack(void (* QQmlDesignerMetaObject::registerNotifyPropertyChangeCallBack(callback); } +void QQuickDesignerSupportMetaInfo::registerMockupObject(const char *uri, int versionMajor, int versionMinor, const char *qmlName) +{ + qmlRegisterCustomType<QQuickDesignerCustomParserObject>(uri, versionMajor, versionMinor, qmlName, new QQuickDesignerCustomParser); +} + QT_END_NAMESPACE diff --git a/src/quick/designer/qquickdesignersupportmetainfo_p.h b/src/quick/designer/qquickdesignersupportmetainfo_p.h index 43cd8e8fb1..344d720d98 100644 --- a/src/quick/designer/qquickdesignersupportmetainfo_p.h +++ b/src/quick/designer/qquickdesignersupportmetainfo_p.h @@ -63,6 +63,7 @@ class Q_QUICK_EXPORT QQuickDesignerSupportMetaInfo public: static bool isSubclassOf(QObject *object, const QByteArray &superTypeName); static void registerNotifyPropertyChangeCallBack(void (*callback)(QObject *, const QQuickDesignerSupport::PropertyName &)); + static void registerMockupObject(const char *uri, int versionMajor, int versionMinor, const char *qmlName); }; QT_END_NAMESPACE diff --git a/src/quick/designer/qquickdesignerwindowmanager.cpp b/src/quick/designer/qquickdesignerwindowmanager.cpp index efa3bcb51a..2d37db08e7 100644 --- a/src/quick/designer/qquickdesignerwindowmanager.cpp +++ b/src/quick/designer/qquickdesignerwindowmanager.cpp @@ -39,8 +39,9 @@ #include "qquickdesignerwindowmanager_p.h" #include "private/qquickwindow_p.h" -#include <QtGui/QOpenGLContext> - +#ifndef QT_NO_OPENGL +# include <QtQuick/private/qsgdefaultrendercontext_p.h> +#endif #include <QtQuick/QQuickWindow> QT_BEGIN_NAMESPACE @@ -48,7 +49,7 @@ QT_BEGIN_NAMESPACE QQuickDesignerWindowManager::QQuickDesignerWindowManager() : m_sgContext(QSGContext::createDefaultContext()) { - m_renderContext.reset(new QSGRenderContext(m_sgContext.data())); + m_renderContext.reset(m_sgContext.data()->createRenderContext()); } void QQuickDesignerWindowManager::show(QQuickWindow *window) @@ -66,6 +67,7 @@ void QQuickDesignerWindowManager::windowDestroyed(QQuickWindow *) void QQuickDesignerWindowManager::makeOpenGLContext(QQuickWindow *window) { +#ifndef QT_NO_OPENGL if (!m_openGlContext) { m_openGlContext.reset(new QOpenGLContext()); m_openGlContext->setFormat(window->requestedFormat()); @@ -76,6 +78,9 @@ void QQuickDesignerWindowManager::makeOpenGLContext(QQuickWindow *window) } else { m_openGlContext->makeCurrent(window); } +#else + Q_UNUSED(window) +#endif } void QQuickDesignerWindowManager::exposureChanged(QQuickWindow *) diff --git a/src/quick/designer/qquickdesignerwindowmanager_p.h b/src/quick/designer/qquickdesignerwindowmanager_p.h index 8af54c117f..a50f8aa49f 100644 --- a/src/quick/designer/qquickdesignerwindowmanager_p.h +++ b/src/quick/designer/qquickdesignerwindowmanager_p.h @@ -57,6 +57,10 @@ #include <private/qtquickglobal_p.h> #include <QtQuick/private/qsgcontext_p.h> +#ifndef QT_NO_OPENGL +# include <QtGui/QOpenGLContext> +#endif + QT_BEGIN_NAMESPACE @@ -64,7 +68,6 @@ class QQuickWindow; class QSGContext; class QSGRenderContext; class QAnimationDriver; -class QOpenGLContext; class QQuickDesignerWindowManager : public QSGRenderLoop { @@ -94,7 +97,9 @@ public: static void createOpenGLContext(QQuickWindow *window); private: +#ifndef QT_NO_OPENGL QScopedPointer<QOpenGLContext> m_openGlContext; +#endif QScopedPointer<QSGContext> m_sgContext; QScopedPointer<QSGRenderContext> m_renderContext; }; |