@@ -672,27 +672,33 @@ QStringList QgsProcessingParameters::parameterAsFields( const QgsProcessingParam
672672
673673 QStringList resultStringList;
674674 QVariant val = parameters.value ( definition->name () );
675- if ( val.canConvert <QgsProperty>() )
676- resultStringList << val.value < QgsProperty >().valueAsString ( context.expressionContext (), definition->defaultValue ().toString () );
677- else if ( val.type () == QVariant::List )
675+ if ( val.isValid () )
678676 {
679- Q_FOREACH ( const QVariant &var, val.toList () )
680- resultStringList << var.toString ();
677+ if ( val.canConvert <QgsProperty>() )
678+ resultStringList << val.value < QgsProperty >().valueAsString ( context.expressionContext (), definition->defaultValue ().toString () );
679+ else if ( val.type () == QVariant::List )
680+ {
681+ Q_FOREACH ( const QVariant &var, val.toList () )
682+ resultStringList << var.toString ();
683+ }
684+ else
685+ resultStringList.append ( val.toString ().split ( ' ;' ) );
681686 }
682- else
683- resultStringList.append ( val.toString ().split ( ' ;' ) );
684687
685688 if ( ( resultStringList.isEmpty () || resultStringList.at ( 0 ).isEmpty () ) )
686689 {
687690 resultStringList.clear ();
688691 // check default
689- if ( definition->defaultValue ().type () == QVariant::List )
692+ if ( definition->defaultValue ().isValid () )
690693 {
691- Q_FOREACH ( const QVariant &var, definition->defaultValue ().toList () )
692- resultStringList << var.toString ();
694+ if ( definition->defaultValue ().type () == QVariant::List )
695+ {
696+ Q_FOREACH ( const QVariant &var, definition->defaultValue ().toList () )
697+ resultStringList << var.toString ();
698+ }
699+ else
700+ resultStringList.append ( definition->defaultValue ().toString ().split ( ' ;' ) );
693701 }
694- else
695- resultStringList.append ( definition->defaultValue ().toString ().split ( ' ;' ) );
696702 }
697703
698704 return resultStringList;
0 commit comments