diff options
Diffstat (limited to 'src/core/services/qservicelocator.cpp')
-rw-r--r-- | src/core/services/qservicelocator.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/core/services/qservicelocator.cpp b/src/core/services/qservicelocator.cpp index bdcb4a521..73a40c2e4 100644 --- a/src/core/services/qservicelocator.cpp +++ b/src/core/services/qservicelocator.cpp @@ -46,6 +46,7 @@ #include <Qt3DCore/private/qdownloadhelperservice_p.h> #include <Qt3DCore/private/qeventfilterservice_p.h> #include <Qt3DCore/private/qtickclockservice_p.h> +#include <Qt3DCore/private/qsysteminformationservice_p.h> QT_BEGIN_NAMESPACE @@ -85,16 +86,19 @@ QString QAbstractServiceProvider::description() const } +class QAspectEngine; + class QServiceLocatorPrivate { public: - QServiceLocatorPrivate() - : m_nonNullDefaultServices(0) + QServiceLocatorPrivate(QAspectEngine *aspectEngine) + : m_systemInfo(aspectEngine) + , m_nonNullDefaultServices(0) {} QHash<int, QAbstractServiceProvider *> m_services; - NullSystemInformationService m_nullSystemInfo; + QSystemInformationService m_systemInfo; NullOpenGLInformationService m_nullOpenGLInfo; QTickClockService m_defaultFrameAdvanceService; QEventFilterService m_eventFilterService; @@ -128,8 +132,8 @@ public: /* Creates an instance of QServiceLocator. */ -QServiceLocator::QServiceLocator() - : d_ptr(new QServiceLocatorPrivate) +QServiceLocator::QServiceLocator(QAspectEngine *aspectEngine) + : d_ptr(new QServiceLocatorPrivate(aspectEngine)) { } @@ -196,7 +200,7 @@ int QServiceLocator::serviceCount() const QSystemInformationService *QServiceLocator::systemInformation() { Q_D(QServiceLocator); - return static_cast<QSystemInformationService *>(d->m_services.value(SystemInformation, &d->m_nullSystemInfo)); + return static_cast<QSystemInformationService *>(d->m_services.value(SystemInformation, &d->m_systemInfo)); } /* |