mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-18 00:03:05 -04:00
fix windows build (extern "C" can returns pointers, but not C++ containers)
This commit is contained in:
parent
65092d1e9c
commit
6186c0f0ff
@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
SET(SIP_INCLUDES)
|
SET(SIP_INCLUDES)
|
||||||
SET(SIP_TAGS)
|
SET(SIP_TAGS)
|
||||||
SET(SIP_CONCAT_PARTS 10)
|
SET(SIP_CONCAT_PARTS 16)
|
||||||
SET(SIP_DISABLE_FEATURES)
|
SET(SIP_DISABLE_FEATURES)
|
||||||
SET(SIP_EXTRA_OPTIONS)
|
SET(SIP_EXTRA_OPTIONS)
|
||||||
SET(SIP_EXTRA_OBJECTS)
|
SET(SIP_EXTRA_OBJECTS)
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "qgslogger.h"
|
#include "qgslogger.h"
|
||||||
#include "qgsproviderregistry.h"
|
#include "qgsproviderregistry.h"
|
||||||
|
|
||||||
typedef QList<QgsDataItemProvider *> dataItemProviders_t();
|
typedef QList<QgsDataItemProvider *> *dataItemProviders_t();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -71,8 +71,10 @@ QgsDataItemProviderRegistry::QgsDataItemProviderRegistry()
|
|||||||
dataItemProviders_t *dataItemProvidersFn = reinterpret_cast< dataItemProviders_t * >( cast_to_fptr( library->resolve( "dataItemProviders" ) ) );
|
dataItemProviders_t *dataItemProvidersFn = reinterpret_cast< dataItemProviders_t * >( cast_to_fptr( library->resolve( "dataItemProviders" ) ) );
|
||||||
if ( dataItemProvidersFn )
|
if ( dataItemProvidersFn )
|
||||||
{
|
{
|
||||||
|
QList<QgsDataItemProvider *> *providerList = dataItemProvidersFn();
|
||||||
// the function is a factory - we keep ownership of the returned providers
|
// the function is a factory - we keep ownership of the returned providers
|
||||||
mProviders << dataItemProvidersFn();
|
mProviders << *providerList;
|
||||||
|
delete providerList;
|
||||||
}
|
}
|
||||||
|
|
||||||
// legacy support - using dataItem() and dataCapabilities() methods
|
// legacy support - using dataItem() and dataCapabilities() methods
|
||||||
|
@ -2928,10 +2928,11 @@ QGISEXTERN bool createEmptyDataSource( const QString &uri,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QGISEXTERN QList<QgsDataItemProvider *> dataItemProviders()
|
QGISEXTERN QList< QgsDataItemProvider * > *dataItemProviders()
|
||||||
{
|
{
|
||||||
return QList<QgsDataItemProvider *>()
|
QList< QgsDataItemProvider * > *providers = new QList< QgsDataItemProvider * >();
|
||||||
<< new QgsGeoPackageDataItemProvider;
|
*providers << new QgsGeoPackageDataItemProvider;
|
||||||
|
return providers;
|
||||||
}
|
}
|
||||||
|
|
||||||
QgsCoordinateReferenceSystem QgsOgrProvider::crs() const
|
QgsCoordinateReferenceSystem QgsOgrProvider::crs() const
|
||||||
|
@ -469,11 +469,15 @@ QgsDataItem *QgsWmsDataItemProvider::createDataItem( const QString &path, QgsDat
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
QGISEXTERN QList<QgsDataItemProvider *> dataItemProviders()
|
QGISEXTERN QList<QgsDataItemProvider *> *dataItemProviders()
|
||||||
{
|
{
|
||||||
return QList<QgsDataItemProvider *>()
|
QList<QgsDataItemProvider *> *providers = new QList<QgsDataItemProvider *>();
|
||||||
<< new QgsWmsDataItemProvider
|
|
||||||
<< new QgsXyzTileDataItemProvider;
|
*providers
|
||||||
|
<< new QgsWmsDataItemProvider
|
||||||
|
<< new QgsXyzTileDataItemProvider;
|
||||||
|
|
||||||
|
return providers;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user