From 0f70637e36ce8743e7ae4f647c0160dbf16f3739 Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Fri, 13 Dec 2019 17:45:24 +0100 Subject: [PATCH] Don't crash on QgsHtmlWidgetWrapper Fixes #33390 --- src/gui/qgsattributeform.cpp | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/gui/qgsattributeform.cpp b/src/gui/qgsattributeform.cpp index 73a193771b4..c4381d7572b 100644 --- a/src/gui/qgsattributeform.cpp +++ b/src/gui/qgsattributeform.cpp @@ -244,20 +244,23 @@ void QgsAttributeForm::changeAttribute( const QString &field, const QVariant &va for ( QgsWidgetWrapper *ww : constMWidgets ) { QgsEditorWidgetWrapper *eww = qobject_cast( ww ); - if ( eww && eww->field().name() == field ) + if ( eww ) { - eww->setValues( value, QVariantList() ); - eww->setHint( hintText ); - } - // see if the field is present in additional fields of the editor widget - int index = eww->additionalFields().indexOf( field ); - if ( index >= 0 ) - { - QVariant mainValue = eww->value(); - QVariantList additionalFieldValues = eww->additionalFieldValues(); - additionalFieldValues[index] = value; - eww->setValues( mainValue, additionalFieldValues ); - eww->setHint( hintText ); + if ( eww->field().name() == field ) + { + eww->setValues( value, QVariantList() ); + eww->setHint( hintText ); + } + // see if the field is present in additional fields of the editor widget + int index = eww->additionalFields().indexOf( field ); + if ( index >= 0 ) + { + QVariant mainValue = eww->value(); + QVariantList additionalFieldValues = eww->additionalFieldValues(); + additionalFieldValues[index] = value; + eww->setValues( mainValue, additionalFieldValues ); + eww->setHint( hintText ); + } } } }