summaryrefslogtreecommitdiff
path: root/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-01-11 16:02:14 +0100
committerIvan Solovev <ivan.solovev@qt.io>2021-03-25 11:08:33 +0100
commit4bcacd0dc8f73de7b9e5e5f5fa2129fd88bdff3b (patch)
treec257958bf7892f83fa6a80331c53c8292293b2f2 /src/location/declarativemaps/qdeclarativepolylinemapitem.cpp
parent4d6e3ba98a09ffb390da90154a2f61085b565d8e (diff)
downloadqtlocation-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.cpp30
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