Merge pull request #33391 from elpaso/bugfix-gh33390-html-form-wodget-crash

Don't crash on QgsHtmlWidgetWrapper
This commit is contained in:
Alessandro Pasotti 2019-12-13 22:36:01 +01:00 committed by GitHub
commit 33b1bec927
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -244,20 +244,23 @@ void QgsAttributeForm::changeAttribute( const QString &field, const QVariant &va
for ( QgsWidgetWrapper *ww : constMWidgets )
{
QgsEditorWidgetWrapper *eww = qobject_cast<QgsEditorWidgetWrapper *>( 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 );
}
}
}
}