diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-01-11 16:02:14 +0100 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2021-03-25 11:08:33 +0100 |
commit | 4bcacd0dc8f73de7b9e5e5f5fa2129fd88bdff3b (patch) | |
tree | c257958bf7892f83fa6a80331c53c8292293b2f2 /src/location/declarativemaps/qdeclarativepolylinemapitem.cpp | |
parent | 4d6e3ba98a09ffb390da90154a2f61085b565d8e (diff) | |
download | qtlocation-4bcacd0dc8f73de7b9e5e5f5fa2129fd88bdff3b.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.
Task-number: QTBUG-91623
Fixes: QTBUG-88017
Change-Id: I53c5da915981bd05f39134ba57f585d0a0786aa8
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/location/declarativemaps/qdeclarativepolylinemapitem.cpp')
-rw-r--r-- | src/location/declarativemaps/qdeclarativepolylinemapitem.cpp | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp index 183ef0de..9d5472ab 100644 --- a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp +++ b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp @@ -765,6 +765,7 @@ bool QGeoMapPolylineGeometry::contains(const QPointF &point) const return false; } +#if QT_CONFIG(opengl) void QGeoMapPolylineGeometryOpenGL::updateSourcePoints(const QGeoMap &map, const QGeoPolygon &poly) { if (!sourceDirty_) @@ -917,6 +918,7 @@ void QGeoMapPolylineGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebM sourceBounds_.setWidth(brect.width() + strokeWidth); sourceBounds_.setHeight(brect.height() + strokeWidth); } +#endif // QT_CONFIG(opengl) /* * QDeclarativePolygonMapItem Private Implementations @@ -924,12 +926,13 @@ void QGeoMapPolylineGeometryOpenGL::updateQuickGeometry(const QGeoProjectionWebM QDeclarativePolylineMapItemPrivate::~QDeclarativePolylineMapItemPrivate() {} - QDeclarativePolylineMapItemPrivateCPU::~QDeclarativePolylineMapItemPrivateCPU() {} +#if QT_CONFIG(opengl) QDeclarativePolylineMapItemPrivateOpenGLLineStrip::~QDeclarativePolylineMapItemPrivateOpenGLLineStrip() {} QDeclarativePolylineMapItemPrivateOpenGLExtruded::~QDeclarativePolylineMapItemPrivateOpenGLExtruded() {} +#endif /* * QDeclarativePolygonMapItem Implementation @@ -937,10 +940,12 @@ QDeclarativePolylineMapItemPrivateOpenGLExtruded::~QDeclarativePolylineMapItemPr struct PolylineBackendSelector { +#if QT_CONFIG(opengl) PolylineBackendSelector() { backend = (qgetenv("QTLOCATION_OPENGL_ITEMS").toInt()) ? QDeclarativePolylineMapItem::OpenGLExtruded : QDeclarativePolylineMapItem::Software; } +#endif QDeclarativePolylineMapItem::Backend backend = QDeclarativePolylineMapItem::Software; }; @@ -1232,11 +1237,22 @@ void QDeclarativePolylineMapItem::setBackend(QDeclarativePolylineMapItem::Backen if (b == m_backend) return; m_backend = b; - QScopedPointer<QDeclarativePolylineMapItemPrivate> d((m_backend == Software) - ? static_cast<QDeclarativePolylineMapItemPrivate *>(new QDeclarativePolylineMapItemPrivateCPU(*this)) - : ((m_backend == OpenGLExtruded) - ? static_cast<QDeclarativePolylineMapItemPrivate * >(new QDeclarativePolylineMapItemPrivateOpenGLExtruded(*this)) - : static_cast<QDeclarativePolylineMapItemPrivate * >(new QDeclarativePolylineMapItemPrivateOpenGLLineStrip(*this)))); + QScopedPointer<QDeclarativePolylineMapItemPrivate> d( + (m_backend == Software) + ? static_cast<QDeclarativePolylineMapItemPrivate *>( + new QDeclarativePolylineMapItemPrivateCPU(*this)) +#if QT_CONFIG(opengl) + : ((m_backend == OpenGLExtruded) + ? static_cast<QDeclarativePolylineMapItemPrivate *>( + new QDeclarativePolylineMapItemPrivateOpenGLExtruded(*this)) + : static_cast<QDeclarativePolylineMapItemPrivate *>( + new QDeclarativePolylineMapItemPrivateOpenGLLineStrip( + *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(); @@ -1473,6 +1489,7 @@ void MapPolylineNode::update(const QColor &fillColor, } } +#if QT_CONFIG(opengl) MapPolylineNodeOpenGLLineStrip::MapPolylineNodeOpenGLLineStrip() : geometry_(QSGGeometry::defaultAttributes_Point2D(), 0) { @@ -2069,5 +2086,6 @@ unsigned int QGeoMapItemLODGeometry::zoomForLOD(unsigned int zoom) return res; return res + 1; // give more resolution when closing in } +#endif // QT_CONFIG(opengl) QT_END_NAMESPACE |