mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
layout picture: prepare expressions on refresh
This commit is contained in:
parent
6608bb2917
commit
a817a8e247
@ -267,7 +267,7 @@ void QgsRelationAddDlg::checkDefinitionValid()
|
||||
for ( int i = 0; i < mFieldPairWidgets.count(); i++ )
|
||||
{
|
||||
valid &= mFieldPairWidgets.at( i )->isPairEnabled() || !mFieldPairWidgets.at( i )->referencingField().isNull();
|
||||
valid &= mFieldPairWidgets.at( i )->isPairEnabled() || !mFieldPairWidgets.at( i )->referencedField().isNull();
|
||||
valid &= mFieldPairWidgets.at( i )->isPairEnabled() || !mFieldPairWidgets.at( i )->referencedField().isNull();
|
||||
}
|
||||
mButtonBox->button( QDialogButtonBox::Ok )->setEnabled( valid );
|
||||
}
|
||||
|
@ -336,6 +336,8 @@ void QgsLayoutItemPicture::refreshPicture( const QgsExpressionContext *context )
|
||||
QgsExpressionContext scopedContext = createExpressionContext();
|
||||
const QgsExpressionContext *evalContext = context ? context : &scopedContext;
|
||||
|
||||
mDataDefinedProperties.prepare( *evalContext );
|
||||
|
||||
QVariant source( mSourcePath );
|
||||
|
||||
//data defined source set?
|
||||
@ -344,7 +346,7 @@ void QgsLayoutItemPicture::refreshPicture( const QgsExpressionContext *context )
|
||||
{
|
||||
bool ok = false;
|
||||
const QgsProperty &sourceProperty = mDataDefinedProperties.property( QgsLayoutObject::PictureSource );
|
||||
source = sourceProperty.value( *evalContext, QVariant( source ), &ok );
|
||||
source = sourceProperty.value( *evalContext, source, &ok );
|
||||
if ( !ok || !source.canConvert( QMetaType::QString ) )
|
||||
{
|
||||
mHasExpressionError = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user