summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-08-09 15:43:02 +0300
committerIvo van Dongen <info@ivovandongen.nl>2017-09-13 14:37:10 +0300
commitf7c45adbf1a3ff41128cbd4fe32b1847dae45033 (patch)
tree670d8f654dffc96d377ebdc0f54e716dd825648f
parentd7f258097561289fa96d26275b2bed64455fcc70 (diff)
downloadqtlocation-mapboxgl-f7c45adbf1a3ff41128cbd4fe32b1847dae45033.tar.gz
[android] set current scheduler on gl thread
-rw-r--r--platform/android/src/android_renderer_frontend.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/platform/android/src/android_renderer_frontend.cpp b/platform/android/src/android_renderer_frontend.cpp
index 872fc4d57a..73cb0a817e 100644
--- a/platform/android/src/android_renderer_frontend.cpp
+++ b/platform/android/src/android_renderer_frontend.cpp
@@ -107,10 +107,16 @@ void AndroidRendererFrontend::render() {
assert (renderer);
if (!updateParameters) return;
+ // Activate the backend
BackendScope backendGuard { *backend };
+ // Block the orchestration thread during render
util::BlockingThreadGuard<Renderer> rendererGuard { *renderer };
+ // Ensure that the "current" scheduler on the render thread is
+ // actually the scheduler from the orchestration thread
+ Scheduler::SetCurrent(renderer.get());
+
if (framebufferSizeChanged) {
backend->updateViewPort();
framebufferSizeChanged = false;