From 0c460a5590788e5ec9535ad9aa32070525b27137 Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Fri, 5 Aug 2016 16:21:30 +0300 Subject: [PATCH] [android] Refcount the view activations Fixes #5836 Fixes #5721 --- platform/android/src/native_map_view.cpp | 8 ++++++++ platform/android/src/native_map_view.hpp | 2 ++ 2 files changed, 10 insertions(+) diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp index 578e5d003..385accfa9 100755 --- a/platform/android/src/native_map_view.cpp +++ b/platform/android/src/native_map_view.cpp @@ -125,6 +125,10 @@ std::array NativeMapView::getFramebufferSize() const { } void NativeMapView::activate() { + if (active++) { + return; + } + mbgl::Log::Debug(mbgl::Event::Android, "NativeMapView::activate"); oldDisplay = eglGetCurrentDisplay(); @@ -151,6 +155,10 @@ void NativeMapView::activate() { } void NativeMapView::deactivate() { + if (--active) { + return; + } + mbgl::Log::Debug(mbgl::Event::Android, "NativeMapView::deactivate"); assert(vm != nullptr); diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index 9b5af76df..7974f282d 100755 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -97,6 +97,8 @@ private: std::unique_ptr fileSource; std::unique_ptr map; mbgl::EdgeInsets insets; + + unsigned active = 0; }; } }