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-18 10:07:04 +0300
commit4c6dfdd4611a352c0ffb5cc345d10aca6a15ad10 (patch)
tree89807938c9282115cba0e747b22c2e85bc12cbc5
parent9ea384730ac49daa54e505d4c2c1c7be6bbb006f (diff)
downloadqtlocation-mapboxgl-4c6dfdd4611a352c0ffb5cc345d10aca6a15ad10.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;