From bfde9609b1d1bfbda235ee276bef35a5c188bde6 Mon Sep 17 00:00:00 2001 From: David Signer Date: Mon, 16 Dec 2019 13:19:15 +0100 Subject: [PATCH] check if referencedLayer available --- src/gui/qgsexpressionbuilderwidget.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/qgsexpressionbuilderwidget.cpp b/src/gui/qgsexpressionbuilderwidget.cpp index 38dfa811507..f71f0860474 100644 --- a/src/gui/qgsexpressionbuilderwidget.cpp +++ b/src/gui/qgsexpressionbuilderwidget.cpp @@ -484,8 +484,12 @@ void QgsExpressionBuilderWidget::fillFieldValues( const QString &fieldName, int // if it's a request for the values of the referenced layer if ( cbxRelatedLayerValues->isChecked() && setup.config().contains( QStringLiteral( "Relation" ) ) ) { - layer = mProject->relationManager()->relation( setup.config()[QStringLiteral( "Relation" )].toString() ).referencedLayer(); - layerFieldIndex = mProject->relationManager()->relation( setup.config()[QStringLiteral( "Relation" )].toString() ).referencedFields().first(); + QgsVectorLayer *referencedLayer = mProject->relationManager()->relation( setup.config()[QStringLiteral( "Relation" )].toString() ).referencedLayer(); + if ( referencedLayer ) + { + layer = referencedLayer; + layerFieldIndex = mProject->relationManager()->relation( setup.config()[QStringLiteral( "Relation" )].toString() ).referencedFields().first(); + } } QList values = layer->uniqueValues( layerFieldIndex, countLimit ).toList();