summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp17
-rw-r--r--src/plugins/position/android/jar/src/org/qtproject/qt5/android/positioning/QtPositioning.java7
2 files changed, 15 insertions, 9 deletions
diff --git a/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp b/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp
index 8df00905..dd5c9a86 100644
--- a/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp
+++ b/src/plugins/geoservices/mapboxgl/qgeomapmapboxgl.cpp
@@ -97,23 +97,26 @@ QSGNode *QGeoMapMapboxGLPrivate::updateSceneGraph(QSGNode *node, QQuickWindow *w
}
QMapboxGL *map = 0;
- if (m_useFBO) {
- if (!node) {
+ if (!node) {
+ QOpenGLContext *currentCtx = QOpenGLContext::currentContext();
+ if (!currentCtx) {
+ qWarning("QOpenGLContext is NULL!");
+ return node;
+ }
+ if (m_useFBO) {
QSGMapboxGLTextureNode *mbglNode = new QSGMapboxGLTextureNode(m_settings, m_viewportSize, window->devicePixelRatio(), q);
QObject::connect(mbglNode->map(), &QMapboxGL::mapChanged, q, &QGeoMapMapboxGL::onMapChanged);
m_syncState = MapTypeSync | CameraDataSync | ViewportSync;
node = mbglNode;
- }
- map = static_cast<QSGMapboxGLTextureNode *>(node)->map();
- } else {
- if (!node) {
+ } else {
QSGMapboxGLRenderNode *mbglNode = new QSGMapboxGLRenderNode(m_settings, m_viewportSize, window->devicePixelRatio(), q);
QObject::connect(mbglNode->map(), &QMapboxGL::mapChanged, q, &QGeoMapMapboxGL::onMapChanged);
m_syncState = MapTypeSync | CameraDataSync | ViewportSync;
node = mbglNode;
}
- map = static_cast<QSGMapboxGLRenderNode *>(node)->map();
}
+ map = (m_useFBO) ? static_cast<QSGMapboxGLTextureNode *>(node)->map()
+ : static_cast<QSGMapboxGLRenderNode *>(node)->map();
if (m_syncState & MapTypeSync) {
m_developmentMode = m_activeMapType.name().startsWith("mapbox://")
diff --git a/src/plugins/position/android/jar/src/org/qtproject/qt5/android/positioning/QtPositioning.java b/src/plugins/position/android/jar/src/org/qtproject/qt5/android/positioning/QtPositioning.java
index edc39bd7..1ea0c071 100644
--- a/src/plugins/position/android/jar/src/org/qtproject/qt5/android/positioning/QtPositioning.java
+++ b/src/plugins/position/android/jar/src/org/qtproject/qt5/android/positioning/QtPositioning.java
@@ -229,8 +229,11 @@ public class QtPositioning implements LocationListener
static private void removeActiveListener(int androidClassKey)
{
QtPositioning listener = runningListeners.remove(androidClassKey);
- locationManager.removeUpdates(listener);
- listener.setActiveLooper(false);
+
+ if (listener != null) {
+ locationManager.removeUpdates(listener);
+ listener.setActiveLooper(false);
+ }
}