diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-01-11 16:02:14 +0100 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2021-01-13 23:03:47 +0100 |
commit | f1d2a49c747e69938f9f878f64620d7d6fc61b41 (patch) | |
tree | a3e7b6f49039009fc1816f5d0b54218523c23850 /src/location/declarativemaps/qdeclarativecirclemapitem.cpp | |
parent | 861e372b6ad81570d4f496e42fb25a6699b72f2f (diff) | |
download | qtlocation-f1d2a49c747e69938f9f878f64620d7d6fc61b41.tar.gz |
Fix compilation for no opengl builds
Disables experimental labs qml plugin, which
since a4469cad40 depends heavily on opengl backend.
Fix warnings with msvc when compiling without experimental
plugin.
Fixes: QTBUG-88017
Change-Id: I53c5da915981bd05f39134ba57f585d0a0786aa8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/location/declarativemaps/qdeclarativecirclemapitem.cpp')
-rw-r--r-- | src/location/declarativemaps/qdeclarativecirclemapitem.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp index 841c29a8..955de2c0 100644 --- a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp +++ b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp @@ -446,6 +446,7 @@ void QDeclarativeCircleMapItem::updatePolish() */ void QDeclarativeCircleMapItem::possiblySwitchBackend(const QGeoCoordinate &oldCenter, qreal oldRadius, const QGeoCoordinate &newCenter, qreal newRadius) { +#if QT_CONFIG(opengl) if (m_backend != QDeclarativeCircleMapItem::OpenGL) return; @@ -459,6 +460,9 @@ void QDeclarativeCircleMapItem::possiblySwitchBackend(const QGeoCoordinate &oldC QScopedPointer<QDeclarativeCircleMapItemPrivate> d(static_cast<QDeclarativeCircleMapItemPrivate *>(new QDeclarativeCircleMapItemPrivateOpenGL(*this))); m_d.swap(d); } +#else + return; +#endif } /*! @@ -534,9 +538,17 @@ void QDeclarativeCircleMapItem::setBackend(QDeclarativeCircleMapItem::Backend b) if (b == m_backend) return; m_backend = b; - QScopedPointer<QDeclarativeCircleMapItemPrivate> d((m_backend == Software) - ? static_cast<QDeclarativeCircleMapItemPrivate *>(new QDeclarativeCircleMapItemPrivateCPU(*this)) - : static_cast<QDeclarativeCircleMapItemPrivate * >(new QDeclarativeCircleMapItemPrivateOpenGL(*this))); + QScopedPointer<QDeclarativeCircleMapItemPrivate> d( + (m_backend == Software) ? static_cast<QDeclarativeCircleMapItemPrivate *>( + new QDeclarativeCircleMapItemPrivateCPU(*this)) +#if QT_CONFIG(opengl) + : static_cast<QDeclarativeCircleMapItemPrivate *>( + new QDeclarativeCircleMapItemPrivateOpenGL(*this))); +#else + : nullptr); + qFatal("Requested non software rendering backend, but source code is compiled wihtout opengl " + "support"); +#endif m_d.swap(d); m_d->onGeoGeometryChanged(); emit backendChanged(); @@ -565,7 +577,9 @@ QDeclarativeCircleMapItemPrivate::~QDeclarativeCircleMapItemPrivate() {} QDeclarativeCircleMapItemPrivateCPU::~QDeclarativeCircleMapItemPrivateCPU() {} +#if QT_CONFIG(opengl) QDeclarativeCircleMapItemPrivateOpenGL::~QDeclarativeCircleMapItemPrivateOpenGL() {} +#endif bool QDeclarativeCircleMapItemPrivate::preserveCircleGeometry (QList<QDoubleVector2D> &path, const QGeoCoordinate ¢er, qreal distance, const QGeoProjectionWebMercator &p) |