diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-03-29 16:07:10 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-03-30 13:53:31 -0700 |
commit | 7b5a1ca1670a0346cdbf2af689fabde4e70ed561 (patch) | |
tree | e54adf89ea46490833223de9fd05a9a15996a57c /src/mbgl | |
parent | 7c036fb61882604c91b0873c2e8a9f34e9daed5e (diff) | |
download | qtlocation-mapboxgl-7b5a1ca1670a0346cdbf2af689fabde4e70ed561.tar.gz |
[core] Localize and simplify state for MapChangeDidFinishLoadingMap event
Only Map needs to track this state, and it can simply be set when beginning to load a style and reset when finished.
Diffstat (limited to 'src/mbgl')
-rw-r--r-- | src/mbgl/map/map.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/map/map_context.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/map/map_data.hpp | 1 |
3 files changed, 4 insertions, 8 deletions
diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index 374e3fe615..65f19c149f 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -78,8 +78,8 @@ void Map::renderSync() { } else if (renderState != RenderState::fully) { renderState = RenderState::fully; view.notifyMapChange(MapChangeDidFinishRenderingMapFullyRendered); - if (data->loading) { - data->loading = false; + if (loading) { + loading = false; view.notifyMapChange(MapChangeDidFinishLoadingMap); } } @@ -101,11 +101,13 @@ void Map::update(Update flags) { #pragma mark - Style void Map::setStyleURL(const std::string &url) { + loading = true; view.notifyMapChange(MapChangeWillStartLoadingMap); context->invoke(&MapContext::setStyleURL, url); } void Map::setStyleJSON(const std::string& json, const std::string& base) { + loading = true; view.notifyMapChange(MapChangeWillStartLoadingMap); context->invoke(&MapContext::setStyleJSON, json, base); } diff --git a/src/mbgl/map/map_context.cpp b/src/mbgl/map/map_context.cpp index 6a17791172..f8d805b68f 100644 --- a/src/mbgl/map/map_context.cpp +++ b/src/mbgl/map/map_context.cpp @@ -109,7 +109,6 @@ void MapContext::setStyleURL(const std::string& url) { Log::Error(Event::Setup, "style %s could not be found or is an incompatible legacy map or style", styleURL.c_str()); } else { Log::Error(Event::Setup, "loading style failed: %s", res.error->message.c_str()); - data.loading = false; } } else if (res.notModified || res.noContent) { return; @@ -142,10 +141,6 @@ void MapContext::loadStyleJSON(const std::string& json, const std::string& base) // force style cascade, causing all pending transitions to complete. style->cascade(); - // set loading here so we don't get a false loaded event as soon as map is - // created but before a style is loaded - data.loading = true; - updateFlags |= Update::DefaultTransition | Update::Classes | Update::Zoom | Update::Annotations; asyncUpdate.send(); } diff --git a/src/mbgl/map/map_data.hpp b/src/mbgl/map/map_data.hpp index 67c66896e3..8b3ac4255a 100644 --- a/src/mbgl/map/map_data.hpp +++ b/src/mbgl/map/map_data.hpp @@ -149,7 +149,6 @@ public: bool paused = false; std::mutex mutexPause; std::condition_variable condPause; - bool loading = false; }; } // namespace mbgl |