Skip to content

Commit 8742a9e

Browse files
committed
Fix for label buffer drawing triggered off of just its data defined size in the past (<2.0)
1 parent 7083449 commit 8742a9e

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

src/core/qgspallabeling.cpp

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@ QgsPalLayerSettings::QgsPalLayerSettings()
233233

234234
// text buffer
235235
bufferDraw = false;
236-
bufferDrawOld = false; // on when old style buffer triggered by just size is found
237236
bufferSize = 1.0;
238237
bufferSizeInMapUnits = false;
239238
bufferColor = Qt::white;
@@ -755,6 +754,13 @@ void QgsPalLayerSettings::readDataDefinedProperty( QgsVectorLayer* layer,
755754
{
756755
//upgrade any existing property to field name-based
757756
layer->setCustomProperty( newPropertyName, QVariant( updateDataDefinedString( ddString ) ) );
757+
758+
// fix for buffer drawing triggered off of just its data defined size in the past (<2.0)
759+
if ( oldIndx == 7 ) // old bufferSize enum
760+
{
761+
bufferDraw = true;
762+
layer->setCustomProperty( "labeling/bufferDraw", true );
763+
}
758764
}
759765

760766
// remove old-style field index-based property
@@ -849,7 +855,6 @@ void QgsPalLayerSettings::readFromLayer( QgsVectorLayer* layer )
849855

850856
// fix for buffer being keyed off of just its size in the past
851857
QVariant drawBuffer = layer->customProperty( "labeling/bufferDraw", QVariant() );
852-
bufferDrawOld = !drawBuffer.isValid();
853858
if ( drawBuffer.isValid() )
854859
{
855860
bufferDraw = drawBuffer.toBool();
@@ -2511,25 +2516,18 @@ void QgsPalLayerSettings::parseTextBuffer()
25112516
drawBuffer = exprVal.toBool();
25122517
}
25132518

2519+
if ( !drawBuffer )
2520+
{
2521+
return;
2522+
}
2523+
25142524
// data defined buffer size?
25152525
double bufrSize = bufferSize;
25162526
if ( dataDefinedValEval( "doublepos", QgsPalLayerSettings::BufferSize, exprVal ) )
25172527
{
25182528
bufrSize = exprVal.toDouble();
25192529
}
25202530

2521-
// FIXME: find better solution for temporarily turning on buffer, when previously defined by size
2522-
// fix for buffer being keyed off of just its size in the past
2523-
// if ( bufrSize > 0.0 && bufferDrawOld )
2524-
// {
2525-
// drawBuffer = bufferDraw = true;
2526-
// }
2527-
2528-
if ( !drawBuffer )
2529-
{
2530-
return;
2531-
}
2532-
25332531
// data defined buffer transparency?
25342532
int bufTransp = bufferTransp;
25352533
if ( dataDefinedValEval( "transp", QgsPalLayerSettings::BufferTransp, exprVal ) )

src/core/qgspallabeling.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,6 @@ class CORE_EXPORT QgsPalLayerSettings
307307
//-- text buffer
308308

309309
bool bufferDraw;
310-
bool bufferDrawOld; // on when old style buffer triggered by just size is found
311310
double bufferSize; // buffer size
312311
bool bufferSizeInMapUnits; //true if buffer is in map units (otherwise in mm)
313312
QColor bufferColor;

0 commit comments

Comments
 (0)