Skip to content
Permalink
Browse files

Fix relation editor widget not visible if n:m relation name is empty (#…

…42312)

Check relations for equality by Id instead of name and check only if the
relation in context is valid.
  • Loading branch information
domi4484 committed Mar 18, 2021
1 parent 168735f commit e75b6df2ee533d0b134b47cdc2e780b692c3ed96
Showing with 3 additions and 4 deletions.
  1. +3 −4 src/gui/editorwidgets/qgsrelationwidgetwrapper.cpp
@@ -274,17 +274,16 @@ void QgsRelationWidgetWrapper::setNmRelationId( const QVariant &nmRelationId )

// If this widget is already embedded by the same relation, reduce functionality
const QgsAttributeEditorContext *ctx = &context();
do
while ( ctx && ctx->relation().isValid() )
{
if ( ( ctx->relation().name() == mRelation.name() && ctx->formMode() == QgsAttributeEditorContext::Embed )
|| ( mNmRelation.isValid() && ctx->relation().name() == mNmRelation.name() ) )
if ( ( ctx->relation().id() == mRelation.id() && ctx->formMode() == QgsAttributeEditorContext::Embed )
|| ( mNmRelation.isValid() && ctx->relation().id() == mNmRelation.id() ) )
{
mWidget->setVisible( false );
break;
}
ctx = ctx->parentContext();
}
while ( ctx );

mWidget->setRelations( mRelation, mNmRelation );
}

0 comments on commit e75b6df

Please sign in to comment.