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 authored and github-actions committed Mar 18, 2021
1 parent b7b73a0 commit 696b58741cc4a01941f440b536310390cacb6a79
Showing with 3 additions and 4 deletions.
  1. +3 −4 src/gui/editorwidgets/qgsrelationwidgetwrapper.cpp
@@ -258,17 +258,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 696b587

Please sign in to comment.