diff --git a/geo/qgis/patches/patch-src_core_providers_ogr_qgsogrproviderutils_cpp b/geo/qgis/patches/patch-src_core_providers_ogr_qgsogrproviderutils_cpp new file mode 100644 index 00000000000..7468f34885f --- /dev/null +++ b/geo/qgis/patches/patch-src_core_providers_ogr_qgsogrproviderutils_cpp @@ -0,0 +1,26 @@ +$OpenBSD: patch-src_core_providers_ogr_qgsogrproviderutils_cpp,v 1.1 2021/12/08 09:26:10 landry Exp $ + +Fix build with llvm 13 + +https://github.com/qgis/QGIS/pull/46408 + +Index: src/core/providers/ogr/qgsogrproviderutils.cpp +--- src/core/providers/ogr/qgsogrproviderutils.cpp.orig ++++ 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/geo/qgis/patches/patch-src_core_providers_ogr_qgsogrproviderutils_h b/geo/qgis/patches/patch-src_core_providers_ogr_qgsogrproviderutils_h new file mode 100644 index 00000000000..1207a963ab5 --- /dev/null +++ b/geo/qgis/patches/patch-src_core_providers_ogr_qgsogrproviderutils_h @@ -0,0 +1,18 @@ +$OpenBSD: patch-src_core_providers_ogr_qgsogrproviderutils_h,v 1.1 2021/12/08 09:26:10 landry Exp $ + +Fix build with llvm 13 + +https://github.com/qgis/QGIS/pull/46408 + +Index: src/core/providers/ogr/qgsogrproviderutils.h +--- src/core/providers/ogr/qgsogrproviderutils.h.orig ++++ 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 );