diff options
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/map_renderer.cpp | 7 | ||||
-rw-r--r-- | platform/android/src/map_renderer.hpp | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/platform/android/src/map_renderer.cpp b/platform/android/src/map_renderer.cpp index cff021afd2..cd8953e4cf 100644 --- a/platform/android/src/map_renderer.cpp +++ b/platform/android/src/map_renderer.cpp @@ -184,7 +184,12 @@ void MapRenderer::onSurfaceCreated(JNIEnv&) { } } -void MapRenderer::onSurfaceChanged(JNIEnv&, jint width, jint height) { +void MapRenderer::onSurfaceChanged(JNIEnv& env, jint width, jint height) { + if (!renderer) { + // In case the surface has been destroyed (due to app back-grounding) + onSurfaceCreated(env); + } + backend->resizeFramebuffer(width, height); framebufferSizeChanged = true; requestRender(); diff --git a/platform/android/src/map_renderer.hpp b/platform/android/src/map_renderer.hpp index 8c2f28a4df..fdc3600d02 100644 --- a/platform/android/src/map_renderer.hpp +++ b/platform/android/src/map_renderer.hpp @@ -94,7 +94,9 @@ private: void onSurfaceChanged(JNIEnv&, jint width, jint height); - // Called on Main thread +private: + // Called on either Main or GL thread // + void onSurfaceDestroyed(JNIEnv&); private: |