summaryrefslogtreecommitdiff
path: root/platform/qt/src
Commit message (Collapse)AuthorAgeFilesLines
* [qt] Fix crash on Qt filesourceThiago Marcos P. Santos2018-11-131-2/+6
| | | | | | | | | | | | | | | | | | | | When opening many maps and sharing the same filesource: - Say we open around 30 maps and they all have the same style. - They will all request the same sprite.json, but Qt filesource will restrict simultaneous request to 20. - Mapbox GL will send some sprite.json to the filesource and queue some internally along with other requests. - When the first sprite.json arrives and the Qt filesource calls the callback, Mapbox GL will synchronously push queued requests to the Qt filesource when a request is handled. - We are walking a QVector dispatching sprite.json requests, but more requests get added to this QVector while we are walking it using an iterator. - That corrupts the iterator and we get a crash. The fix is simple, just pop items from the QVector until it is empty instead of using iterators.
* [qt] Deprecate Qt4 and old versions of Qt5Thiago Marcos P. Santos2018-11-1310-87/+1
| | | | Not enough adoption to keep the platform alive.
* Consolidate `style::Layer` properties APIMikhail Pozdnyakov2018-10-251-43/+2
| | | | | | | | The `style::Layer` class now exposes all the properties contained at `style::LayerImpl`. This allowed to drop `style::Layer::accept()` method usage, avoid the repeated generated code and thus save some binary size. This patch is a part of the layers modularization effort.
* [core] unify UTF-8/16 conversion to <boost/locale/encoding_utf.hpp>Konstantin Käfer2018-10-231-1/+1
|
* [core] CameraOptions receives and outputs angle and pitch as degrees, not ↵Bruno de Oliveira Abinader2018-10-191-2/+2
| | | | radians
* [core] Bidi support for styled text.Chris Loer2018-10-151-22/+21
| | | | Remove use of QString from non-ICU Qt stub bidi implementation since we weren't making use of it.
* [Qt] UpdateParameters should always be available when renderingBruno de Oliveira Abinader2018-10-013-4/+11
|
* [linux,qt] Remove remainder of WebP supportKonstantin Käfer2018-09-131-9/+0
|
* Use QSqlError::databaseText for reporting errors from SQLite wrapper to ↵Asheem Mamoowala2018-08-281-4/+4
| | | | match SQLite3 error messages
* [core] make style/conversion.hpp implementation privateKonstantin Käfer2018-08-192-2/+2
|
* [core] harden OfflineDatabaseKonstantin Käfer2018-08-141-7/+5
|
* [core] Eliminate setProperty & co.John Firebaugh2018-08-132-8/+8
|
* [qt] Use FollowRedirectsAttribute in network requestsPaolo Angelelli2018-08-101-1/+4
|
* [Qt] Check if property value is a valid JSON stringBruno de Oliveira Abinader2018-08-062-32/+55
|
* [Qt] QMapboxGL::set{Paint,Layout}Property should return boolBruno de Oliveira Abinader2018-08-011-12/+18
|
* Use Filter::serialize() in QMapboxGL::getFilter()Asheem Mamoowala2018-07-231-8/+1
|
* [qt] Add QMapboxGL::getFilter()Asheem Mamoowala2018-06-271-6/+88
|
* Use a shared scheduler on threads without a default schedulerThiago Marcos P. Santos2018-06-154-38/+112
| | | | | | | | | | Render threads won't have a scheduler, so we create one that is shared by all the maps rendering at this thread. The bad side effect of this is that we need to wake up the render thread to process events. Mapbox GL should get rid of processing events on the render thread. This solution is a workaround.
* [core] remove unused flags from SQLite headerKonstantin Käfer2018-06-121-4/+0
|
* [core] support moving Database object during a TransactionKonstantin Käfer2018-06-121-8/+18
|
* [Qt] Add QMapboxGL::layerIds()Bruno de Oliveira Abinader2018-06-121-0/+17
|
* [qt] Fix asMapboxGLFeatureIdentifier iterator traversalBruno de Oliveira Abinader2018-06-111-5/+2
|
* [core] don't use floating point versions of pow/logKonstantin Käfer2018-06-041-2/+2
| | | | | | GLIBC 2.27 added new versioned symbols of powf and logf, while the double versions of pow and log remained stable. Prefer the double version to avoid introducing a dependency on a newer version of GLIBC than strictly necessary. See https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00000.html
* Avoid exceptions for flow control during database creationJohn Firebaugh2018-05-091-38/+47
| | | | Unfortuntely, it's difficult to avoid all exceptions, because sqlite3_open_v2 does not reliably return SQLITE_NOTADB if the file is not a database. However, this should avoid cases where developers misinterpret the SQLITE_CANTOPEN exception as a crash, which is the common case.
* [qt] Only share a FileSource if it points to the same pathThiago Marcos P. Santos2018-04-261-10/+27
| | | | | | | | Previously all QMapboxGL objects were sharing the same cache created by the first instantiated object. Now it will share the cache only if it points to the same path. Fixes #11766
* Merge branch 'release-boba' into masterupstream/fabian-merge-v4.0.0Fabian Guerra2018-04-232-30/+35
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # circle.yml # include/mbgl/style/expression/let.hpp # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/geometry/LatLngBounds.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapKeyListener.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Projection.java # platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java # platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java # platform/android/MapboxGLAndroidSDKTestApp/src/main/AndroidManifest.xml # platform/android/gradle/dependencies.gradle # platform/android/src/example_custom_layer.cpp # platform/android/src/geojson/point.cpp # platform/darwin/src/NSPredicate+MGLAdditions.mm # platform/darwin/test/MGLExpressionTests.mm # platform/ios/Mapbox-iOS-SDK-nightly-dynamic.podspec # platform/ios/Mapbox-iOS-SDK-symbols.podspec # platform/ios/Mapbox-iOS-SDK.podspec # platform/ios/app/MBXViewController.m # src/mbgl/renderer/layers/render_custom_layer.cpp # src/mbgl/style/conversion/filter.cpp # src/mbgl/style/expression/interpolate.cpp # src/mbgl/style/expression/value.cpp # test/style/filter.test.cpp
| * Use a host interface for CustomLayer instead of function pointers (#11553)Asheem Mamoowala2018-04-022-30/+35
| | | | | | | | | | | | Use a host interface for CustomLayer instead of function pointers Co-authored-by: Julian Rex <julian.rex@mapbox.com>
* | [Qt] Added QMapboxGL::MapLoadingFailure enumBruno de Oliveira Abinader2018-03-053-4/+44
| |
* | [Qt] Expose mapLoadingFailed signalBruno de Oliveira Abinader2018-03-053-1/+8
| |
* | [core, qt] move self-resetting Statement/Query object to shared headerKonstantin Käfer2018-03-021-95/+103
| |
* | [core] refactor SQLite error/status codesKonstantin Käfer2018-03-021-5/+5
| |
* | [qt] Rename Qt SDK to 'Mapbox Maps SDK for Qt'Bruno de Oliveira Abinader2018-02-272-9/+9
| |
* | [qt] Fix issue if resources not being found on the databaseThiago Marcos P. Santos2018-02-261-7/+2
| | | | | | | | | | | | | | Once again QVariant getting confused about its contents datatype. With this patch we use QString directly and copy the contents, which should be cheap with Qt implicity sharing.
* | [qt] Fix wrong signal being emittedThiago Marcos P. Santos2018-02-261-1/+1
|/ | | | Probably caused by a typo when refactoring the asynchronous rendering.
* [qt] Add an interface for Static renderingThiago Marcos P. Santos2018-02-094-5/+108
|
* [qt] Refresh the docsThiago Marcos P. Santos2018-02-091-0/+16
|
* [qt] Make sure that methods are being called on the right threadThiago Marcos P. Santos2018-02-094-61/+109
|
* [qt] Implement FBO handlingThiago Marcos P. Santos2018-02-095-28/+36
| | | | Needed for rendering 3D extrusions properly.
* [qt] Only use the MapRenderer as scheduler if there is no otherThiago Marcos P. Santos2018-02-092-9/+19
| | | | Optimization of when running on the Main Thread that has a RunLoop.
* [qt] Expose an interface to create a renderer on a separated threadThiago Marcos P. Santos2018-02-091-6/+32
| | | | If not called, it will render on the main thread as usual.
* [qt] Make MapboxGLMapRenderer a scheduler to receive messages when renderingThiago Marcos P. Santos2018-02-092-3/+32
|
* [qt] Update map rendering via RendererObserverThiago Marcos P. Santos2018-02-095-3/+81
|
* [qt] Render asynchronouslyThiago Marcos P. Santos2018-02-0911-285/+354
|
* [core] factor out RunLoop::wake()Konstantin Käfer2018-02-061-5/+2
|
* [qt] Fix import/export symbols declarationsThiago Marcos P. Santos2018-01-101-3/+3
| | | | Fixes #10875
* [windows][qt] Remove std:: namespace of some functionsThiago Marcos P. Santos2018-01-081-2/+2
| | | | Not available on Windows.
* [core] move HeadlessBackend extension initialization code into ImplKonstantin Käfer2017-11-293-17/+17
|
* [core] fold HeadlessDisplay into the headless RenderBackend implementationKonstantin Käfer2017-11-291-6/+6
|
* [core, ios, qt, android] Close race condition in RunLoop (issue #9620)Chris Loer2017-11-271-2/+4
| | | | | Because a message we queue from the foreground may cause the background to complete, exit, and tear down the AsyncTask, we have to block queue processing until we've finished our call to AsyncTask::send(). Broadening the scope of a mutex is scary, but I audited the code of our four implementations of AsyncTask and I don't see any way this could cause a deadlock.
* [qt] Use qWarning() for loggingThiago Marcos P. Santos2017-11-241-0/+12
| | | | This is the Qt default and it is thread-safe.