Skip to content

Commit

Permalink
fix lack of management of input as QgsProcessingOutputLayerDefinition
Browse files Browse the repository at this point in the history
  • Loading branch information
luipir authored and nyalldawson committed Sep 20, 2018
1 parent 006553f commit d641b30
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/core/processing/models/qgsprocessingmodelalgorithm.cpp
Expand Up @@ -529,6 +529,15 @@ QMap<QString, QgsProcessingModelAlgorithm::VariableDefinition> QgsProcessingMode

};

if ( value.canConvert<QgsProcessingOutputLayerDefinition>() )
{
QgsProcessingOutputLayerDefinition fromVar = qvariant_cast<QgsProcessingOutputLayerDefinition>( value );
value = fromVar.sink;
if ( value.canConvert<QgsProperty>() )
{
value = value.value< QgsProperty >().valueAsString( context.expressionContext() );
}
}
QgsMapLayer *layer = qobject_cast< QgsMapLayer * >( qvariant_cast<QObject *>( value ) );
if ( !layer )
layer = QgsProcessingUtils::mapLayerFromString( value.toString(), context );
Expand Down Expand Up @@ -588,6 +597,10 @@ QMap<QString, QgsProcessingModelAlgorithm::VariableDefinition> QgsProcessingMode
{
QgsProcessingOutputLayerDefinition fromVar = qvariant_cast<QgsProcessingOutputLayerDefinition>( value );
value = fromVar.sink;
if ( value.canConvert<QgsProperty>() )
{
value = value.value< QgsProperty >().valueAsString( context.expressionContext() );
}
}
if ( QgsVectorLayer *layer = qobject_cast< QgsVectorLayer * >( qvariant_cast<QObject *>( value ) ) )
{
Expand Down

0 comments on commit d641b30

Please sign in to comment.