@@ -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 ) )
0 commit comments