| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Since client code can readily access the individual sources, Map doesn’t need to expose a dedicated API for iterating over them.
|
| |
|
|
|
|
|
|
| |
Implemented observer callbacks so the style knows when the source’s attribution changes and the map knows when the style’s attribution changes. Also implemented a getter for a tile source’s attribution.
Fixes #2723.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function can be called from different threads and was depending
on a global `std::string protocol` which can do heap allocations.
The first thread to use it would initialized it which is not exactly
safe, so this patch moves it to a `char *` that is just a pointer to
the data segment, so no races.
Valgrind detected it on #6431.
```
==9874== Conditional jump or move depends on uninitialised value(s)
==9874== at 0x4C307C2: __memcmp_sse4_1 (in /home/travis/build/mapbox/mapbox-gl-native/mason_packages/linux-x86_64/valgrind/latest/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==9874== by 0x79896E: mbgl::util::mapbox::isMapboxURL(std::string const&) (in /home/travis/build/mapbox/mapbox-gl-native/build/qt-linux-x86_64/Release/mbgl-test)
==9874== by 0x6DC756: mbgl::style::TileSourceImpl::parseTileJSON(std::string const&, std::string const&, mbgl::SourceType, unsigned short) (in /home/travis/build/mapbox/mapbox-gl-native/build/qt-linux-x86_64/Release/mbgl-test)
==9874== by 0x6DDA6A: std::_Function_handler<void (mbgl::Response), mbgl::style::TileSourceImpl::loadDescription(mbgl::FileSource&)::{lambda(mbgl::Response)#1}>::_M_invoke(std::_Any_data const&, mbgl::Response&&) (in /home/travis/build/mapbox/mapbox-gl-native/build/qt-linux-x86_64/Release/mbgl-test)
==9874== by 0x50BE80: std::_Function_handler<void (), mbgl::StubFileSource::StubFileSource()::{lambda()#1}>::_M_invoke(std::_Any_data const&) (in /home/travis/build/mapbox/mapbox-gl-native/build/qt-linux-x86_64/Release/mbgl-test)
==9874== by 0x70972A5: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1)
==9874== by 0x70A3621: QTimer::timerEvent(QTimerEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1)
==9874== by 0x7098053: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1)
==9874== by 0x60CCC8B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.2.1)
==9874== by 0x60D1E55: QApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.2.1)
==9874== by 0x706FC2C: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1)
==9874== by 0x70BC1AC: QTimerInfoList::activateTimers() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.1)
==9874==
```
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [core, ios, android] Use `auto` value for properties with calculated defaults
* Fix render tests
* [core] Don't use depth test unless text is pitch-aligned to map.
* Bump mapbox-gl-test-suite
* TransformState pitch is already in radians
* Reduce setDepthSublayer calls
* Bump test suite
|
|
|
|
| |
Unlike annotations, they will go away when we change the style.
|
|
|
|
|
|
| |
* [core, ios, android] Use `auto` value for properties with calculated defaults
* Fix render tests
|
|
|
|
|
|
| |
As recommended in https://www.opengl.org/wiki/GLAPI/glGetError
char* -> std::string
|
|
|
|
|
| |
and reorder according to hex value
https://www.opengl.org/wiki/OpenGL_Error#Testing_for_errors
|
|
|
|
| |
geojson_source_impl (#6347)
|
| |
|
| |
|
|
|
|
| |
So far, we didn't properly disable layers that are outside the zoom range. This means that we rendered layers that should not have been rendered, albeit we didn't make any attempt to load tiles for those layers. However, when zooming in/out, existing tiles might already have been loaded in the source which continued to be rendered. In most cases they weren't actually visible because either the matrices weren't updated, or the clip IDs weren't set so that they would be "rendered" off-screen and clipped completely. In any case, we did way too much work.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* [android] - do not update marker while creating, add activity to prevent regression
* [core] - add asserts to incorrect usage of update and remove annotations api
* [android] - fix marker tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/mbgl/annotation/annotation_manager.hpp
* src/mbgl/algorithm/update_renderables.hpp
* src/mbgl/geometry/glyph_atlas.hpp
* src/mbgl/renderer/painter.cpp and src/mbgl/renderer/render_item.hpp
* src/mbgl/renderer/symbol_bucket.hpp and src/mbgl/text/glyph_store.hpp
* src/mbgl/sprite/sprite_atlas.hpp
* include/mbgl/storage/network_status.hpp
* src/mbgl/text/collision_tile.cpp
* src/mbgl/style/update_batch.hpp
* platform/default/mbgl/storage/offline_download.hpp
* Add GlyphRangeSet typedef
* Fix whitespace & unused imports
|
| |
|
| |
|
|
|
|
| |
Carries over any query strings from mapbox://-prefixed styles urls,
source urls and tile urls to the api.mapbox.com requests.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
add runloop to test
|
| |
|
|
|
|
| |
appease GCC
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SymbolLayout lives on the worker thread and contains the persistent data needed for repeated placement. SymbolBucket contains the data generated during placement, and is transferred to the main thread for rendering.
This eliminates the risky sharing of GeometryTile::buckets between the main thread and worker thread during TileWorker::redoPlacement.
While here, rationalize the names of states a SymbolLayout may be in:
* Pending: Waiting for the necessary glyphs or icons to be available.
* Prepared: The potential positions of text and icons have been determined.
* Placed: The final positions have been determined, taking into account prior layers.
In TileWorker, all SymbolLayouts are stored in a single vector. Each SymbolLayout knows what state it is in, and TileWorker can easily determine how much progress it can make toward a final result.
|
| |
|
|
|
|
| |
causing a crash (#6322)
|
| |
|
|
|
|
|
| |
Now the style class transition options have its own getter/setter, which
persists for each style until a new style is set.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|