From f9ed4f41a34500415feee718d10f820d1f92d38f Mon Sep 17 00:00:00 2001 From: "Lin, Yong Xiang" Date: Sun, 25 Aug 2024 16:10:33 +0800 Subject: [PATCH] Fixed incorrect parsing recursion order --- source/kra/layer.d | 2 +- source/kra/parser.d | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/kra/layer.d b/source/kra/layer.d index 27b7577..579b736 100644 --- a/source/kra/layer.d +++ b/source/kra/layer.d @@ -308,7 +308,7 @@ public: */ bool isLayerUseful() { - return !isLayerGroup() && (width != 0 && height != 0); + return !isLayerGroup() && (width != 0 && height != 0) || isLayerGroup(); } /** diff --git a/source/kra/parser.d b/source/kra/parser.d index 90cc0c8..2422d17 100644 --- a/source/kra/parser.d +++ b/source/kra/parser.d @@ -136,7 +136,6 @@ void importAttributes(ref KRA kra, ref DOMEntity!string layerEntity) kra.layers ~= paintLayer; break; case "grouplayer": - importAttributes(kra, l.children[0]); auto collapsed = cast(bool) getAttrValue!int(attrs, "collapsed", 0); @@ -144,6 +143,7 @@ void importAttributes(ref KRA kra, ref DOMEntity!string layerEntity) groupLayer.type = (collapsed) ? LayerType.ClosedFolder : LayerType.OpenFolder; kra.layers ~= groupLayer; + importAttributes(kra, l.children[0]); Layer groupEnd; groupEnd.type = LayerType.SectionDivider; kra.layers ~= groupEnd;