@@ -133,10 +133,14 @@ void QgsLabelingGui::setLayer( QgsMapLayer *mapLayer )
133
133
mFieldExpressionWidget ->setEnabled ( mMode == Labels );
134
134
mLabelingFrame ->setEnabled ( mMode == Labels );
135
135
136
- updateWidgetForFormat ( lyr.format () );
137
-
138
136
blockInitSignals ( true );
139
137
138
+ mGeometryGenerator ->setText ( lyr.geometryGenerator );
139
+ mGeometryGeneratorGroupBox ->setChecked ( lyr.geometryGeneratorEnabled );
140
+ mGeometryGeneratorType ->setCurrentIndex ( mGeometryGeneratorType ->findData ( lyr.geometryGeneratorType ) );
141
+
142
+ updateWidgetForFormat ( lyr.format () );
143
+
140
144
mFieldExpressionWidget ->setRow ( -1 );
141
145
mFieldExpressionWidget ->setField ( lyr.fieldName );
142
146
mCheckBoxSubstituteText ->setChecked ( lyr.useSubstitutions );
@@ -229,7 +233,18 @@ void QgsLabelingGui::setLayer( QgsMapLayer *mapLayer )
229
233
wrapCharacterEdit->setText ( lyr.wrapChar );
230
234
mAutoWrapLengthSpinBox ->setValue ( lyr.autoWrapLength );
231
235
mAutoWrapTypeComboBox ->setCurrentIndex ( lyr.useMaxLineLengthForAutoWrap ? 0 : 1 );
232
- mFontMultiLineAlignComboBox ->setCurrentIndex ( lyr.multilineAlign );
236
+
237
+ if ( ( int ) lyr.multilineAlign < mFontMultiLineAlignComboBox ->count () )
238
+ {
239
+ mFontMultiLineAlignComboBox ->setCurrentIndex ( lyr.multilineAlign );
240
+ }
241
+ else
242
+ {
243
+ // the default pal layer settings for multiline alignment is to follow label placement, which isn't always available
244
+ // revert to left alignment in such case
245
+ mFontMultiLineAlignComboBox ->setCurrentIndex ( 0 );
246
+ }
247
+
233
248
chkPreserveRotation->setChecked ( lyr.preserveRotation );
234
249
235
250
mPreviewBackgroundBtn ->setColor ( lyr.previewBkgrdColor );
@@ -253,10 +268,6 @@ void QgsLabelingGui::setLayer( QgsMapLayer *mapLayer )
253
268
254
269
mZIndexSpinBox ->setValue ( lyr.zIndex );
255
270
256
- mGeometryGenerator ->setText ( lyr.geometryGenerator );
257
- mGeometryGeneratorGroupBox ->setChecked ( lyr.geometryGeneratorEnabled );
258
- mGeometryGeneratorType ->setCurrentIndex ( mGeometryGeneratorType ->findData ( lyr.geometryGeneratorType ) );
259
-
260
271
mDataDefinedProperties = lyr.dataDefinedProperties ();
261
272
262
273
updatePlacementWidgets ();
0 commit comments