Skip to content
Permalink
Browse files

[processing] Refine check for usable layers

- allow WMS layers and other non-GDAL raster layers. This will work
fine for native algorithms, likely not work for other providers. They
will need to be adapted to throw errors when incompatible raster
layer providers are used

- invalid layers are not permitted (e.g. those with missing data
sources)
  • Loading branch information
nyalldawson committed Mar 28, 2019
1 parent e3f23f8 commit a4e80104711633fc355bf005322ffacd1e7cc7bc
Showing with 2 additions and 2 deletions.
  1. +2 −2 src/core/processing/qgsprocessingutils.cpp
@@ -315,12 +315,12 @@ QgsProcessingFeatureSource *QgsProcessingUtils::variantToSource( const QVariant
bool QgsProcessingUtils::canUseLayer( const QgsRasterLayer *layer )
{
// only gdal file-based layers
return layer && layer->providerType() == QStringLiteral( "gdal" );
return layer && layer->isValid();
}

bool QgsProcessingUtils::canUseLayer( const QgsVectorLayer *layer, const QList<int> &sourceTypes )
{
return layer &&
return layer && layer->isValid() &&
( sourceTypes.isEmpty()
|| ( sourceTypes.contains( QgsProcessing::TypeVectorPoint ) && layer->geometryType() == QgsWkbTypes::PointGeometry )
|| ( sourceTypes.contains( QgsProcessing::TypeVectorLine ) && layer->geometryType() == QgsWkbTypes::LineGeometry )

0 comments on commit a4e8010

Please sign in to comment.
You can’t perform that action at this time.