summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Leege <bleege@gmail.com>2016-01-28 14:00:23 -0600
committerBrad Leege <bleege@gmail.com>2016-01-28 14:00:23 -0600
commitd3a027075f57f44b7d0f8e2eb124e8e058fcc5d0 (patch)
tree5b9c82d01a8a2502c4a75c395c389f37267d6923
parenta81dfdd753fdf746084c0a56d73beadc7bb42bab (diff)
parent41472054fcaa1d38747c4c077b92d5b5a4f34615 (diff)
downloadqtlocation-mapboxgl-d3a027075f57f44b7d0f8e2eb124e8e058fcc5d0.tar.gz
Merge branch 'master' into release-android-v3.2.0
-rw-r--r--include/mbgl/util/run_loop.hpp2
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/GeocoderActivity.java11
-rwxr-xr-xplatform/ios/scripts/document.sh2
-rw-r--r--src/mbgl/map/tile_worker.cpp4
-rw-r--r--src/mbgl/map/tile_worker.hpp2
-rw-r--r--src/mbgl/util/worker.cpp6
6 files changed, 20 insertions, 7 deletions
diff --git a/include/mbgl/util/run_loop.hpp b/include/mbgl/util/run_loop.hpp
index e3d9248f84..6075d76c8c 100644
--- a/include/mbgl/util/run_loop.hpp
+++ b/include/mbgl/util/run_loop.hpp
@@ -146,7 +146,7 @@ private:
private:
template <std::size_t... I>
void invoke(std::index_sequence<I...>) {
- func(std::get<I>(std::forward<P>(params))...);
+ func(std::move(std::get<I>(std::forward<P>(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 200ca8ac0e..9eca92a111 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 5f3eb31849..345cfdf7ea 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 a7f733eed9..edbd392057 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<std::unique_ptr<StyleLayer>> layers_,
- const GeometryTile& geometryTile,
+ std::unique_ptr<const GeometryTile> 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::vector<std::unique_ptr<StyleLaye
const StyleLayer* layer = i->get();
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 a5e892e2b6..bcd8e59bf9 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<std::unique_ptr<StyleLayer>>,
- const GeometryTile&,
+ std::unique_ptr<const GeometryTile> geometryTile,
PlacementConfig);
TileParseResult parsePendingLayers(PlacementConfig);
diff --git a/src/mbgl/util/worker.cpp b/src/mbgl/util/worker.cpp
index d1e54fa375..fe8ee81779 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<RasterBucket> bucket,
- const std::shared_ptr<const std::string> data,
+ std::shared_ptr<const std::string> data,
std::function<void(RasterTileParseResult)> 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<void(TileParseResult)> 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());
}