Skip to content

Commit d641b30

Browse files
luipirnyalldawson
authored andcommittedSep 20, 2018
fix lack of management of input as QgsProcessingOutputLayerDefinition
1 parent 006553f commit d641b30

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed
 

‎src/core/processing/models/qgsprocessingmodelalgorithm.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,15 @@ QMap<QString, QgsProcessingModelAlgorithm::VariableDefinition> QgsProcessingMode
529529

530530
};
531531

532+
if ( value.canConvert<QgsProcessingOutputLayerDefinition>() )
533+
{
534+
QgsProcessingOutputLayerDefinition fromVar = qvariant_cast<QgsProcessingOutputLayerDefinition>( value );
535+
value = fromVar.sink;
536+
if ( value.canConvert<QgsProperty>() )
537+
{
538+
value = value.value< QgsProperty >().valueAsString( context.expressionContext() );
539+
}
540+
}
532541
QgsMapLayer *layer = qobject_cast< QgsMapLayer * >( qvariant_cast<QObject *>( value ) );
533542
if ( !layer )
534543
layer = QgsProcessingUtils::mapLayerFromString( value.toString(), context );
@@ -588,6 +597,10 @@ QMap<QString, QgsProcessingModelAlgorithm::VariableDefinition> QgsProcessingMode
588597
{
589598
QgsProcessingOutputLayerDefinition fromVar = qvariant_cast<QgsProcessingOutputLayerDefinition>( value );
590599
value = fromVar.sink;
600+
if ( value.canConvert<QgsProperty>() )
601+
{
602+
value = value.value< QgsProperty >().valueAsString( context.expressionContext() );
603+
}
591604
}
592605
if ( QgsVectorLayer *layer = qobject_cast< QgsVectorLayer * >( qvariant_cast<QObject *>( value ) ) )
593606
{

0 commit comments

Comments
 (0)
Please sign in to comment.