| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Avoid duplicating it on all the ports.
|
|
|
|
| |
Fixes an issue where updates to stale tiles would remove labels altogether until the map was rotated.
|
|
|
|
| |
We're now reparsing tiles when they expire. We're also swapping out buckets atomically to avoid flickering data; i.e. we're displaying the old data as long as we don't have a new parsed bucket for that layer yet. The parsed buckets now live in the *TileData objects rather than in the TileWorker; only partially parsed == pending buckets will remain in the TileWorker. Once they're parsed, they're moved to the *TileData object.
|
| |
|
|
|
|
| |
It's not implemented in GCC 4.9.2's stdlib (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57250). Instead, we're now always using a mutex to protect access; we previously created a mutex only on cancelation, but since we're always canceling now, it makes sense to allocate it right away.
|
|
|
|
| |
When we get a request with an explicit expiration time, we're now starting a timer, and will trigger a refresh once the data expires. This gives requesters a chance to update their data.
|
|
|
|
| |
We're now returning stale responses from cache. Those responses will have the `stale` flag set to true. Currently, all requesters in the core code discard stale responses, and cancel the request immediately after they got a non-stale response.
|
| |
|
|
|
|
| |
By not automatically destroying Request objects after the result has been delivered, we are making sure that we can potentially fire the callback multiple times without adverse effects. This means that you have to hold on to the result of fs->request(), can explicitly cancel it if you don't want to be notified of data changes anymore. Not doing so will monitor the request indefinitely and will prevent the app from exiting.
|
|
|
|
| |
Spotted by valgrind.
|
|
|
|
|
|
|
|
|
|
| |
MapData was needed for two things: getting the default transition and
fade durations, and detecting still rendering vs. continuous.
The first is avoided by making transition durations optional, and
supplying the default fallback value at evaluation time. The second did
not fix the still rendering issue, and will be followed up with a
different approach in a later commit.
|
|
|
|
| |
This makes subsequent changes to the the parameter list less intrusive.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All GL values are now reset upon Painter setup.
|
|
|
|
|
|
|
| |
Adding new mbgl::GLContextMode enum to mbgl::Map ctor, which gets stored
in MapData. In shared GL context environments, we cannot assume that the
GL state that has been left since the last draw is the same, so we reset
the GL configurations to their default values.
|
|
|
|
|
| |
This introduces the possibility to source the type and style properties
of a shape annotation from a designated layer in the style.
|
| |
|
| |
|
|
|
|
|
|
| |
Some property transitions were being set to their fallback values when
no classes are being used. This issue is particularly perceived when the
default transition duration is not zero (animated transitions).
|
|
|
|
| |
Animation time can be obtained directly from MapData.
|
| |
|
|
|
|
| |
This information can be obtained directly from MapData.
|
|
|
|
|
| |
Some platforms requires specific information that was previously not
available in public API, but stored internally in TransformState object.
|
| |
|
|
|
|
|
|
|
| |
Attempting to use a Mapbox-hosted incompatible raster map/style with GL
would throw a simple 404, without any indication of the real issue.
Fix #1724, ref #1841
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Our engine should be robust enough to ignore redundant calls and avoid
triggering a whole style update if the style URL and/or JSON are the
same.
|
|
|
|
|
|
|
| |
Fixes #2599
Make getTopOffsetPixelsForAnnotationSymbol private
Also implements MapChangeWillStartLoadingMap, MapChangeDidFinishLoadingMap
Paritally implements #630
|
|
|
|
|
|
| |
Our engine should be robust enough to ignore redundant calls and avoid
triggering a whole style update if the style URL and/or JSON are the
same.
|
| |
|
|
|
|
|
|
| |
UV_ASYNC_PARAMS and UV_TIMER_PARAMS for libuv <= 0.10 compatibility
use st_mtim.tv_sec in libuv > 0.10.x
|
|
|
|
|
|
| |
Particularly hyphens and soft hyphens.
Fixes #2595.
|
|
|
|
| |
Since label rendering isn't clipped, having a parent tile, and only a handful of child tiles loaded may result in some labels being rendered twice (from the parent tile, and the up to three child tiles that necessitate the parent tile remaining in the list). This patch makes sure that in one location, it only ever renders one set of labels, by favoring the parent tile until all required child tiles have been loaded.
|
|
|
|
| |
Fixes #2522
|
|
|
|
|
|
| |
When an anchor is at the beginning of a line, its segment’s coordinates match its own coordinates, resulting in an angle of 0°. When the segment’s coordinates match the anchor’s coordinates, consider the next segment instead.
Fixes #2474.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This condition led to layers with high minzoom like oneway street
arrows (z15) get parsed and placed regardless of minzoom (e.g. z11+),
wasting a lot of worker CPU time.
It became unnecessary after we added reparsing tiles when overscaling,
and even before that it should have probably been <= rather than <.
|
|
|
|
| |
Fixes #2522
|
| |
|
|
|
|
| |
This allows changing individual buckets without having leftover data
|
| |
|
| |
|
| |
|