From 544e621c0958006e5a513445dbc54118523a1add Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Wed, 20 Jan 2021 09:47:47 +1000 Subject: [PATCH] [processing] Don't default to input field for optional expression parameters Fixes #41063 (cherry picked from commit 1fed9020a21a3f3deb9cece03ebb533aeae8c6a2) --- src/gui/processing/qgsprocessingwidgetwrapperimpl.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/processing/qgsprocessingwidgetwrapperimpl.cpp b/src/gui/processing/qgsprocessingwidgetwrapperimpl.cpp index fe2bed3e75e8..9336575030c2 100644 --- a/src/gui/processing/qgsprocessingwidgetwrapperimpl.cpp +++ b/src/gui/processing/qgsprocessingwidgetwrapperimpl.cpp @@ -1948,6 +1948,9 @@ QWidget *QgsProcessingExpressionWidgetWrapper::createWidget() mFieldExpWidget->setToolTip( parameterDefinition()->toolTip() ); mFieldExpWidget->setExpressionDialogTitle( parameterDefinition()->description() ); mFieldExpWidget->registerExpressionContextGenerator( this ); + if ( expParam->flags() & QgsProcessingParameterDefinition::FlagOptional ) + mFieldExpWidget->setAllowEmptyFieldName( true ); + connect( mFieldExpWidget, static_cast < void ( QgsFieldExpressionWidget::* )( const QString & ) >( &QgsFieldExpressionWidget::fieldChanged ), this, [ = ]( const QString & ) { emit widgetValueHasChanged( this );