From e2a3c02d1a9f280badd9c1c2a9063aa2afdac7ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20K=C3=A4fer?= Date: Wed, 27 Jan 2016 20:44:44 +0100 Subject: [PATCH 1/3] [core] destruct WorkTask data before calling the callback --- include/mbgl/util/run_loop.hpp | 2 +- src/mbgl/map/tile_worker.cpp | 4 ++-- src/mbgl/map/tile_worker.hpp | 2 +- src/mbgl/util/worker.cpp | 6 ++++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/mbgl/util/run_loop.hpp b/include/mbgl/util/run_loop.hpp index e3d9248f8..6075d76c8 100644 --- a/include/mbgl/util/run_loop.hpp +++ b/include/mbgl/util/run_loop.hpp @@ -146,7 +146,7 @@ private: private: template void invoke(std::index_sequence) { - func(std::get(std::forward

(params))...); + func(std::move(std::get(std::forward

(params)))...); } std::recursive_mutex mutex; diff --git a/src/mbgl/map/tile_worker.cpp b/src/mbgl/map/tile_worker.cpp index a7f733eed..edbd39205 100644 --- a/src/mbgl/map/tile_worker.cpp +++ b/src/mbgl/map/tile_worker.cpp @@ -37,7 +37,7 @@ TileWorker::~TileWorker() { } TileParseResult TileWorker::parseAllLayers(std::vector> layers_, - const GeometryTile& geometryTile, + std::unique_ptr geometryTile, PlacementConfig config) { // We're doing a fresh parse of the tile, because the underlying data has changed. pending.clear(); @@ -55,7 +55,7 @@ TileParseResult TileWorker::parseAllLayers(std::vectorget(); if (parsed.find(layer->bucketName()) == parsed.end()) { parsed.emplace(layer->bucketName()); - parseLayer(layer, geometryTile); + parseLayer(layer, *geometryTile); } } diff --git a/src/mbgl/map/tile_worker.hpp b/src/mbgl/map/tile_worker.hpp index a5e892e2b..bcd8e59bf 100644 --- a/src/mbgl/map/tile_worker.hpp +++ b/src/mbgl/map/tile_worker.hpp @@ -50,7 +50,7 @@ public: ~TileWorker(); TileParseResult parseAllLayers(std::vector>, - const GeometryTile&, + std::unique_ptr geometryTile, PlacementConfig); TileParseResult parsePendingLayers(PlacementConfig); diff --git a/src/mbgl/util/worker.cpp b/src/mbgl/util/worker.cpp index d1e54fa37..fe8ee8177 100644 --- a/src/mbgl/util/worker.cpp +++ b/src/mbgl/util/worker.cpp @@ -16,10 +16,12 @@ public: Impl() = default; void parseRasterTile(std::unique_ptr bucket, - const std::shared_ptr data, + std::shared_ptr data, std::function callback) { try { bucket->setImage(decodeImage(*data)); + // Destruct the shared pointer before calling the callback. + data.reset(); callback(RasterTileParseResult(std::move(bucket))); } catch (...) { callback(std::current_exception()); @@ -32,7 +34,7 @@ public: PlacementConfig config, std::function callback) { try { - callback(worker->parseAllLayers(std::move(layers), *tile, config)); + callback(worker->parseAllLayers(std::move(layers), std::move(tile), config)); } catch (...) { callback(std::current_exception()); } From eeeec862a29cbbc1548811fca1d6ee709f64e6f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Thu, 28 Jan 2016 08:49:51 -0800 Subject: [PATCH 2/3] [ios] Remove dependency on variable in package.sh Fixes #3725. --- platform/ios/scripts/document.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/ios/scripts/document.sh b/platform/ios/scripts/document.sh index 5f3eb3184..345cfdf7e 100755 --- a/platform/ios/scripts/document.sh +++ b/platform/ios/scripts/document.sh @@ -5,7 +5,7 @@ set -o pipefail set -u if [ -z `which jazzy` ]; then - step "Installing jazzy…" + echo "Installing jazzy…" gem install jazzy if [ -z `which jazzy` ]; then echo "Unable to install jazzy. See https://github.com/mapbox/mapbox-gl-native/blob/master/platform/ios/INSTALL.md" From 41472054fcaa1d38747c4c077b92d5b5a4f34615 Mon Sep 17 00:00:00 2001 From: Brad Leege Date: Thu, 28 Jan 2016 11:27:30 -0600 Subject: [PATCH 3/3] [android] #3728 - Adding Back Pressed support for App Bar Home Button --- .../mapbox/mapboxsdk/testapp/GeocoderActivity.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/GeocoderActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/GeocoderActivity.java index 200ca8ac0..9eca92a11 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/GeocoderActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/GeocoderActivity.java @@ -5,6 +5,7 @@ import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; +import android.view.MenuItem; import android.widget.TextView; import com.mapbox.geocoder.GeocoderCriteria; @@ -155,4 +156,14 @@ public class GeocoderActivity extends AppCompatActivity { textView.setText("Error: " + message); } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + default: + return super.onOptionsItemSelected(item); + } + } }