Date: Tue, 23 Nov 2021 17:11:18 GMT From: Rainer Hurling <rhurlin@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: eacf34a1cf4b - main - graphics/qgis: Fix on CURRENT after llvm13 intro Message-ID: <202111231711.1ANHBILI053182@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by rhurlin: URL: https://cgit.FreeBSD.org/ports/commit/?id=eacf34a1cf4b6b81e54d4fe74ad931ee93d1d8ef commit eacf34a1cf4b6b81e54d4fe74ad931ee93d1d8ef Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2021-11-23 17:08:01 +0000 Commit: Rainer Hurling <rhurlin@FreeBSD.org> CommitDate: 2021-11-23 17:08:01 +0000 graphics/qgis: Fix on CURRENT after llvm13 intro Right after replacing llvm12 with llvm13 in base (commits b61bce17f346d79cecfd8f195a64b10f77be43b1 to 397a8ba05313cc3815d219c9d1b2de1372fcb561) graphics/qgis was broken on 14.0-CURRENT with /usr/ports/graphics/qgis/work/QGIS-final-3_22_1/src/core/providers/ogr/qgsogrproviderutils.cpp:2595:34: error: no matching constructor for initialization of 'QgsOgrDatasetSharedPtr' (aka 'shared_ptr<QgsOgrDataset>') QgsOgrDatasetSharedPtr dsRet = QgsOgrDatasetSharedPtr( new QgsOgrDataset(), QgsOgrProviderUtils::releaseDataset ); Thanks to dim@ for the analysis and solution. Much appreciated! PR: 259967 --- ...tch-src_core_providers_ogr_qgsogrproviderutils.cpp | 19 +++++++++++++++++++ ...patch-src_core_providers_ogr_qgsogrproviderutils.h | 11 +++++++++++ 2 files changed, 30 insertions(+) diff --git a/graphics/qgis/files/patch-src_core_providers_ogr_qgsogrproviderutils.cpp b/graphics/qgis/files/patch-src_core_providers_ogr_qgsogrproviderutils.cpp new file mode 100644 index 000000000000..92563ca24ac9 --- /dev/null +++ b/graphics/qgis/files/patch-src_core_providers_ogr_qgsogrproviderutils.cpp @@ -0,0 +1,19 @@ +--- src/core/providers/ogr/qgsogrproviderutils.cpp.orig 2021-11-19 12:08:37 UTC ++++ src/core/providers/ogr/qgsogrproviderutils.cpp +@@ -2311,7 +2311,7 @@ void QgsOgrProviderUtils::release( QgsOgrLayer *&layer + } + + +-void QgsOgrProviderUtils::releaseDataset( QgsOgrDataset *&ds ) ++void QgsOgrProviderUtils::releaseDataset( QgsOgrDataset *ds ) + { + if ( !ds ) + return; +@@ -2319,7 +2319,6 @@ void QgsOgrProviderUtils::releaseDataset( QgsOgrDatase + QMutexLocker locker( sGlobalMutex() ); + releaseInternal( ds->mIdent, ds->mDs, true ); + delete ds; +- ds = nullptr; + } + + bool QgsOgrProviderUtils::canDriverShareSameDatasetAmongLayers( const QString &driverName ) diff --git a/graphics/qgis/files/patch-src_core_providers_ogr_qgsogrproviderutils.h b/graphics/qgis/files/patch-src_core_providers_ogr_qgsogrproviderutils.h new file mode 100644 index 000000000000..472ef5ed8c07 --- /dev/null +++ b/graphics/qgis/files/patch-src_core_providers_ogr_qgsogrproviderutils.h @@ -0,0 +1,11 @@ +--- src/core/providers/ogr/qgsogrproviderutils.h.orig 2021-11-19 12:08:37 UTC ++++ src/core/providers/ogr/qgsogrproviderutils.h +@@ -216,7 +216,7 @@ class CORE_EXPORT QgsOgrProviderUtils + static void release( QgsOgrLayer *&layer ); + + //! Release a QgsOgrDataset* +- static void releaseDataset( QgsOgrDataset *&ds ); ++ static void releaseDataset( QgsOgrDataset *ds ); + + //! Make sure that the existing pool of opened datasets on dsName is not accessible for new getLayer() attempts + static void invalidateCachedDatasets( const QString &dsName );
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111231711.1ANHBILI053182>