Skip to content

Commit

Permalink
Fix relation editor widget not visible if n:m relation name is empty (#…
Browse files Browse the repository at this point in the history
…42312) (#42320)

Check relations for equality by Id instead of name and check only if the
relation in context is valid.

Co-authored-by: Damiano <damiano@opengis.ch>
  • Loading branch information
github-actions[bot] and domi4484 committed Mar 22, 2021
1 parent c977277 commit 2e888c4
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions src/gui/editorwidgets/qgsrelationwidgetwrapper.cpp
Expand Up @@ -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 );
}
Expand Down

0 comments on commit 2e888c4

Please sign in to comment.