From 3d5ec1bd766258f0bf226540a5139bd4f54adc2f Mon Sep 17 00:00:00 2001 From: "r.kuznetsov" Date: Tue, 24 Jul 2018 17:16:53 +0300 Subject: [PATCH] Review fixes --- .../mapswithme/opengl/androidoglcontextfactory.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/android/jni/com/mapswithme/opengl/androidoglcontextfactory.cpp b/android/jni/com/mapswithme/opengl/androidoglcontextfactory.cpp index 165c9d0fd4..ca31e26313 100644 --- a/android/jni/com/mapswithme/opengl/androidoglcontextfactory.cpp +++ b/android/jni/com/mapswithme/opengl/androidoglcontextfactory.cpp @@ -183,6 +183,14 @@ void AndroidOGLContextFactory::SetSurface(JNIEnv * env, jobject jsurface) void AndroidOGLContextFactory::ResetSurface() { + { + std::unique_lock lock(m_initializationMutex); + if (m_initializationCounter > 0 && m_initializationCounter < kGLThreadsCount) + m_initializationCondition.wait(lock, [this] { return m_isInitialized; }); + m_initializationCounter = 0; + m_isInitialized = false; + } + if (m_drawContext != nullptr) m_drawContext->resetSurface(); @@ -197,10 +205,6 @@ void AndroidOGLContextFactory::ResetSurface() m_windowSurfaceValid = false; } - - std::lock_guard lock(m_initializationMutex); - m_initializationCounter = 0; - m_isInitialized = false; } bool AndroidOGLContextFactory::IsValid() const