diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-07-25 11:01:35 +0300 |
---|---|---|
committer | Ivo van Dongen <info@ivovandongen.nl> | 2017-07-25 11:26:16 +0300 |
commit | a372a4aa24d3f8b973fec89bbb3da6fd3f9234aa (patch) | |
tree | 2fb9bce97f738db76f84b92ceab02c2def4396ec | |
parent | 168c4657b1b88da968038be4767249faffa0a834 (diff) | |
download | qtlocation-mapboxgl-a372a4aa24d3f8b973fec89bbb3da6fd3f9234aa.tar.gz |
[default] manage backendscope in renderer frontend
-rw-r--r-- | platform/default/mbgl/gl/headless_backend.cpp | 2 | ||||
-rw-r--r-- | platform/default/mbgl/renderer/async_renderer_frontend.cpp | 7 | ||||
-rw-r--r-- | platform/default/mbgl/renderer/async_renderer_frontend.hpp | 3 |
3 files changed, 8 insertions, 4 deletions
diff --git a/platform/default/mbgl/gl/headless_backend.cpp b/platform/default/mbgl/gl/headless_backend.cpp index 9076be4cbb..82660331fa 100644 --- a/platform/default/mbgl/gl/headless_backend.cpp +++ b/platform/default/mbgl/gl/headless_backend.cpp @@ -12,7 +12,7 @@ namespace mbgl { HeadlessBackend::HeadlessBackend() = default; HeadlessBackend::~HeadlessBackend() { - BackendScope guard { *this, getScopeType() }; + BackendScope guard { *this }; context.reset(); } diff --git a/platform/default/mbgl/renderer/async_renderer_frontend.cpp b/platform/default/mbgl/renderer/async_renderer_frontend.cpp index 37b4e60cf6..230d0bb820 100644 --- a/platform/default/mbgl/renderer/async_renderer_frontend.cpp +++ b/platform/default/mbgl/renderer/async_renderer_frontend.cpp @@ -1,13 +1,16 @@ #include "async_renderer_frontend.hpp" + +#include <mbgl/renderer/backend_scope.hpp> #include <mbgl/renderer/renderer.hpp> namespace mbgl { -AsyncRendererFrontend::AsyncRendererFrontend(std::unique_ptr<Renderer> renderer_, View& view_) +AsyncRendererFrontend::AsyncRendererFrontend(std::unique_ptr<Renderer> renderer_, RendererBackend& backend, View& view_) : renderer(std::move(renderer_)) , view(view_) - , asyncInvalidate([this] { + , asyncInvalidate([&] { if (renderer && updateParameters) { + BackendScope guard { backend }; renderer->render(view, *updateParameters); } }) { diff --git a/platform/default/mbgl/renderer/async_renderer_frontend.hpp b/platform/default/mbgl/renderer/async_renderer_frontend.hpp index 00cf3a480c..e1b2f780cd 100644 --- a/platform/default/mbgl/renderer/async_renderer_frontend.hpp +++ b/platform/default/mbgl/renderer/async_renderer_frontend.hpp @@ -10,11 +10,12 @@ namespace mbgl { class Renderer; +class RendererBackend; // Default implementation for RendererFrontend class AsyncRendererFrontend : public mbgl::RendererFrontend { public: - AsyncRendererFrontend(std::unique_ptr<Renderer>, View&); + AsyncRendererFrontend(std::unique_ptr<Renderer>, RendererBackend&, View&); ~AsyncRendererFrontend() override; void reset() override; |