|
| 1 | +Even Rouault <even.rouault@spatialys.com> 2016-03-24 |
| 2 | + |
| 3 | + [Spatialite] Fix crash on iterator closing if connection failed. |
| 4 | + |
| 5 | + If an iterator fails to open the spatialite database (mHandle == nullptr |
| 6 | + in QgsSpatiaLiteFeatureIterator::QgsSpatiaLiteFeatureIterator() ), |
| 7 | + a crash will occur at the destruction of the QgsSpatiaLiteFeatureSource, |
| 8 | + due to the iterator not being removed from the list of active iterators. |
| 9 | + |
| 10 | + Currently QgsSpatiaLiteFeatureIterator::close() does not call |
| 11 | + iteratorClosed() if mHandle is invalid, which later causes |
| 12 | + QgsAbstractFeatureSource::~QgsAbstractFeatureSource() to try calling |
| 13 | + the close() method of a now defunct iterator. |
| 14 | + |
| 15 | + If not applying the patch, the added test case crashes with: |
| 16 | + |
| 17 | + 177: src/providers/spatialite/qgsspatialiteconnection.cpp: 736: (openDb) [1ms] New sqlite connection for /tmp/test.sqlite.corrupt |
| 18 | + 177: src/providers/spatialite/qgsspatialiteconnection.cpp: 750: (openDb) [1ms] Failure while connecting to: /tmp/test.sqlite.corrupt |
| 19 | + 177: |
| 20 | + 177: invalid metadata tables |
| 21 | + 177: src/core/qgsfeaturerequest.cpp: 259: (~QgsAbstractFeatureSource) [0ms] closing active iterator |
| 22 | + 177: CMake Error at PyQgsSpatialiteProvider.cmake:22 (MESSAGE): |
| 23 | + 177: Test failed: Segmentation fault |
| 24 | + (cherry picked from commit 2b15eaa14d9e5067ed32f41572d5e9658fa8b278) |
| 25 | + |
| 26 | +Even Rouault <even.rouault@spatialys.com> 2016-03-24 |
| 27 | + |
| 28 | + Use consistant default value of 60000ms for /qgis/networkAndProxy/networkTimeout |
| 29 | + |
| 30 | + Currently there's an inconsistancy between the Options dialog that displays a |
| 31 | + default value of 60000ms for network request timeouts, whereas places in the |
| 32 | + code use 20000ms. I propose to align on 60000s, since there are occurrences |
| 33 | + of network requests, for example big WFS GetFeature requests, that can take |
| 34 | + more than 20s to start. |
| 35 | + |
| 36 | + (testqgswcspublicservers.cpp update added) |
| 37 | + |
| 38 | + (cherry picked from commit 2f7d4a78) |
| 39 | + |
| 40 | +Even Rouault <even.rouault@spatialys.com> 2016-03-23 |
| 41 | + |
| 42 | + [Spatialite] Use correct free function for sqlite3_bind_blob of geometries |
| 43 | + |
| 44 | + Currently sqlite3_bind_blob() uses free() as the free function of WKB |
| 45 | + blobs returned by convertFromGeosWKB(). But those are allocated with |
| 46 | + new[] and should consequently be freed with delete[]. |
| 47 | + |
| 48 | + Spotted by Valgrind: |
| 49 | + ==4014== Mismatched free() / delete / delete [] |
| 50 | + ==4014== at 0x4C287BE: free (vg_replace_malloc.c:446) |
| 51 | + ==4014== by 0xE42E481: sqlite3VdbeMemReleaseExternal (sqlite3.c:57237) |
| 52 | + ==4014== by 0xE42E4E3: sqlite3VdbeMemRelease (sqlite3.c:57252) |
| 53 | + ==4014== by 0xE42EC3E: releaseMemArray (sqlite3.c:59208) |
| 54 | + ==4014== by 0xE42ED1E: sqlite3VdbeDeleteObject (sqlite3.c:60561) |
| 55 | + ==4014== by 0xE46A6DB: sqlite3VdbeFinalize (sqlite3.c:60528) |
| 56 | + ==4014== by 0xE46A916: sqlite3_finalize (sqlite3.c:61431) |
| 57 | + ==4014== by 0x7FB23958: QgsSpatiaLiteProvider::addFeatures(QList<QgsFeature>&) (qgsspatialiteprovider.cpp:3752) |
| 58 | + ==4014== Address 0x8e2a8b30 is 0 bytes inside a block of size 94 alloc'd |
| 59 | + ==4014== at 0x4C29520: operator new[](unsigned long) (vg_replace_malloc.c:363) |
| 60 | + ==4014== by 0x7FB1B964: QgsSpatiaLiteProvider::convertFromGeosWKB(unsigned char const*, int, unsigned char**, int*, int) (qgsspatialiteprovider.cpp:1341) |
| 61 | + ==4014== by 0x7FB234B5: QgsSpatiaLiteProvider::addFeatures(QList<QgsFeature>&) (qgsspatialiteprovider.cpp:3676) |
| 62 | + |
| 63 | + (cherry picked from commit 2e04162e377969e41675d1c2f7f36da7f171c945) |
| 64 | + |
| 65 | +Juergen E. Fischer <jef@norbit.de> 2016-03-19 |
| 66 | + |
| 67 | + crssync: skip more crses that cannot be copied |
| 68 | + |
| 69 | + (cherry picked from commit 71429be7a289e1b8050005dabcb3e0e33ac1cdbd) |
| 70 | + |
| 71 | +Juergen E. Fischer <jef@norbit.de> 2016-03-15 |
| 72 | + |
| 73 | + Add internal qwtpolar 1.1.1 for Qwt 6.1 |
| 74 | + |
| 75 | + (cherry picked from commit c3881d48b18e6dd8119abdd76cf76963b5f35481) |
| 76 | + |
| 77 | +Juergen E. Fischer <jef@norbit.de> 2016-03-08 |
| 78 | + |
| 79 | + globe: adapt to osgearth 2.7 |
| 80 | + |
| 81 | + (cherry picked from commit 342a754c399b785053dc766402486acd72e39be9) |
| 82 | + |
| 83 | +rldhont <rldhont@gmail.com> 2016-03-09 |
| 84 | + |
| 85 | + [BUGFIX][QGIS Server] To avoid infinite loop in layer creation |
| 86 | + |
| 87 | + Insert layer in registry and cache before addValueRelationLayersForLayer |
| 88 | + |
| 89 | +Juergen E. Fischer <jef@norbit.de> 2016-02-26 |
| 90 | + |
| 91 | + Release of 2.8.7 |
| 92 | + |
1 | 93 | Juergen E. Fischer <jef@norbit.de> 2016-02-26 |
2 | 94 |
|
3 | 95 | german translation update |
|
0 commit comments