summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2016-12-06 17:24:32 +0100
committerJesse Bounds <jesse@rebounds.net>2016-12-13 10:03:05 -0800
commit18730d598d29cf876064ce6964ef88ef0351f78f (patch)
tree5ca7d6f7b7e42c3845e251f063885f88bf3ae982 /platform
parent1ab791c3dc15ee5d7bb8045e15a6ea4782b2e337 (diff)
downloadqtlocation-mapboxgl-18730d598d29cf876064ce6964ef88ef0351f78f.tar.gz
[core] use raii to guard backend deactivation
Diffstat (limited to 'platform')
-rwxr-xr-xplatform/android/src/native_map_view.cpp8
-rwxr-xr-xplatform/android/src/native_map_view.hpp6
2 files changed, 6 insertions, 8 deletions
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index 8f594f2c0e..84daf82e8b 100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -190,7 +190,7 @@ void NativeMapView::invalidate() {
}
void NativeMapView::render() {
- activate();
+ BackendScope guard(*this);
updateViewBinding();
map->render(*this);
@@ -235,8 +235,6 @@ void NativeMapView::render() {
} else {
mbgl::Log::Info(mbgl::Event::Android, "Not swapping as we are not ready");
}
-
- deactivate();
}
mbgl::Map &NativeMapView::getMap() { return *map; }
@@ -421,7 +419,7 @@ void NativeMapView::createSurface(ANativeWindow *window_) {
if (!firstTime) {
firstTime = true;
- activate();
+ BackendScope guard(*this);
if (!eglMakeCurrent(display, surface, surface, context)) {
mbgl::Log::Error(mbgl::Event::OpenGL, "eglMakeCurrent() returned error %d",
@@ -442,8 +440,6 @@ void NativeMapView::createSurface(ANativeWindow *window_) {
mbgl::gl::InitializeExtensions([] (const char * name) {
return reinterpret_cast<mbgl::gl::glProc>(eglGetProcAddress(name));
});
-
- deactivate();
}
}
diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp
index 43fb0c1ccd..00cb6e591e 100755
--- a/platform/android/src/native_map_view.hpp
+++ b/platform/android/src/native_map_view.hpp
@@ -23,8 +23,6 @@ public:
void updateViewBinding();
void bind() override;
- void activate() override;
- void deactivate() override;
void invalidate() override;
void notifyMapChange(mbgl::MapChange) override;
@@ -53,6 +51,10 @@ public:
void scheduleTakeSnapshot();
+protected:
+ void activate() override;
+ void deactivate() override;
+
private:
EGLConfig chooseConfig(const EGLConfig configs[], EGLint numConfigs);