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/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); + } + } } 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" 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()); }