Skip to content

Commit 98fea4d

Browse files
committed
Try to shortcut some labeling data defined routines
1 parent dbded4d commit 98fea4d

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/core/qgspallabeling.cpp

+13-1
Original file line numberDiff line numberDiff line change
@@ -1137,6 +1137,9 @@ QString QgsPalLayerSettings::updateDataDefinedString( const QString& value )
11371137

11381138
QgsDataDefined* QgsPalLayerSettings::dataDefinedProperty( DataDefinedProperties p )
11391139
{
1140+
if ( dataDefinedProperties.isEmpty() )
1141+
return 0;
1142+
11401143
QMap< QgsPalLayerSettings::DataDefinedProperties, QgsDataDefined* >::const_iterator it = dataDefinedProperties.find( p );
11411144
if ( it != dataDefinedProperties.constEnd() )
11421145
{
@@ -1158,7 +1161,7 @@ QMap<QString, QString> QgsPalLayerSettings::dataDefinedMap( DataDefinedPropertie
11581161

11591162
QVariant QgsPalLayerSettings::dataDefinedValue( DataDefinedProperties p, QgsFeature& f, const QgsFields& fields, const QgsExpressionContext *context ) const
11601163
{
1161-
if ( !dataDefinedProperties.contains( p ) )
1164+
if ( dataDefinedProperties.isEmpty() || !dataDefinedProperties.contains( p ) )
11621165
{
11631166
return QVariant();
11641167
}
@@ -1227,6 +1230,8 @@ bool QgsPalLayerSettings::dataDefinedEvaluate( DataDefinedProperties p, QVariant
12271230
{
12281231
// null passed-around QVariant
12291232
exprVal.clear();
1233+
if ( dataDefinedProperties.isEmpty() )
1234+
return false;
12301235

12311236
//try to keep < 2.12 API - handle no passed expression context
12321237
QScopedPointer< QgsExpressionContext > scopedEc;
@@ -1254,7 +1259,11 @@ bool QgsPalLayerSettings::dataDefinedEvaluate( DataDefinedProperties p, QVariant
12541259

12551260
bool QgsPalLayerSettings::dataDefinedIsActive( DataDefinedProperties p ) const
12561261
{
1262+
if ( dataDefinedProperties.isEmpty() )
1263+
return false;
1264+
12571265
bool isActive = false;
1266+
12581267
QMap< DataDefinedProperties, QgsDataDefined* >::const_iterator it = dataDefinedProperties.find( p );
12591268
if ( it != dataDefinedProperties.constEnd() )
12601269
{
@@ -1266,6 +1275,9 @@ bool QgsPalLayerSettings::dataDefinedIsActive( DataDefinedProperties p ) const
12661275

12671276
bool QgsPalLayerSettings::dataDefinedUseExpression( DataDefinedProperties p ) const
12681277
{
1278+
if ( dataDefinedProperties.isEmpty() )
1279+
return false;
1280+
12691281
bool useExpression = false;
12701282
QMap< DataDefinedProperties, QgsDataDefined* >::const_iterator it = dataDefinedProperties.find( p );
12711283
if ( it != dataDefinedProperties.constEnd() )

0 commit comments

Comments
 (0)