diff --git a/data/qmls/no_symbolizer.qml b/data/qmls/no_symbolizer.qml
index 39a4a74a..554c0244 100644
--- a/data/qmls/no_symbolizer.qml
+++ b/data/qmls/no_symbolizer.qml
@@ -1,7 +1,4 @@
-
-
-
-
+
diff --git a/data/qmls/point_label.qml b/data/qmls/point_label.qml
index 670638a4..b2518c97 100644
--- a/data/qmls/point_label.qml
+++ b/data/qmls/point_label.qml
@@ -1,9 +1,6 @@
-
-
-
-
+
diff --git a/data/qmls/text_text_buffer.qml b/data/qmls/text_text_buffer.qml
index 53481a82..f1e57608 100644
--- a/data/qmls/text_text_buffer.qml
+++ b/data/qmls/text_text_buffer.qml
@@ -1,16 +1,13 @@
-
-
-
-
+
-
+
diff --git a/src/QGISStyleParser.ts b/src/QGISStyleParser.ts
index b23d546b..535839f4 100644
--- a/src/QGISStyleParser.ts
+++ b/src/QGISStyleParser.ts
@@ -902,25 +902,38 @@ export class QGISStyleParser implements StyleParser {
const type: string = 'RuleRenderer';
const rules: any[] = [];
const symbols: any[] = this.getQmlSymbolsFromStyle(geoStylerStyle, rules);
- return {
- qgis: {
- $: {},
- 'renderer-v2': [{
- $: {
- type
- },
- rules: [{
+ if (rules.length > 0 || symbols.length > 0) {
+ return {
+ qgis: {
+ $: {},
+ 'renderer-v2': [{
$: {
- key: 'renderer_rules'
+ type
},
- rule: rules
- }],
- symbols: [{
- symbol: symbols
+ rules: [{
+ $: {
+ key: 'renderer_rules'
+ },
+ rule: rules
+ }],
+ symbols: [{
+ symbol: symbols
+ }]
}]
- }]
- }
- };
+ }
+ };
+ } else {
+ return {
+ qgis: {
+ $: {},
+ 'renderer-v2': [{
+ $: {
+ type: 'nullSymbol'
+ }
+ }]
+ }
+ };
+ }
}
convertTextSymbolizerRule(qmlRuleList: any[], rule: Rule) {
@@ -964,7 +977,10 @@ export class QGISStyleParser implements StyleParser {
textRule.settings[0]['text-buffer'] = [{
$: {
bufferSize: textSymbolizer.haloWidth || `0`,
- bufferColor: this.qmlColorFromHexAndOpacity(textSymbolizer.haloColor, 1)
+ bufferColor: this.qmlColorFromHexAndOpacity(textSymbolizer.haloColor, 1),
+ bufferDraw: 1,
+ bufferSizeUnits: 'Pixel',
+ bufferSizeMapUnitScale: '3x:0,0,0,0,0,0'
}
}];
}