about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/layout/engine.nim4
-rw-r--r--test/layout/anonymous-row-and-cell-in-display-table.expected3
-rw-r--r--test/layout/anonymous-row-and-cell-in-display-table.html5
3 files changed, 10 insertions, 2 deletions
diff --git a/src/layout/engine.nim b/src/layout/engine.nim
index 4c1fcc28..80ffbadc 100644
--- a/src/layout/engine.nim
+++ b/src/layout/engine.nim
@@ -3273,8 +3273,8 @@ proc buildTableRowGroupChildWrappers(box: BlockBox) =
       if child.computed{"display"} != DisplayTableRow:
         if wrapper == nil:
           wrapper = BlockBox(computed: wrapperVals, children: @[child])
+          children.add(wrapper)
         wrapper.children.add(child)
-        children.add(wrapper)
       else:
         if wrapper != nil:
           wrapper.buildTableRowChildWrappers()
@@ -3319,8 +3319,8 @@ proc buildTableChildWrappers(box: BlockBox; computed: CSSComputedValues) =
     else:
       if wrapper == nil:
         wrapper = BlockBox(computed: wrapperVals)
+        innerTable.children.add(wrapper)
       wrapper.children.add(child)
-      innerTable.children.add(wrapper)
   if wrapper != nil:
     wrapper.buildTableRowChildWrappers()
   box.children = @[innerTable]
diff --git a/test/layout/anonymous-row-and-cell-in-display-table.expected b/test/layout/anonymous-row-and-cell-in-display-table.expected
new file mode 100644
index 00000000..b91dfa83
--- /dev/null
+++ b/test/layout/anonymous-row-and-cell-in-display-table.expected
@@ -0,0 +1,3 @@
+div 1
+div 2
+div 3
diff --git a/test/layout/anonymous-row-and-cell-in-display-table.html b/test/layout/anonymous-row-and-cell-in-display-table.html
new file mode 100644
index 00000000..886301a7
--- /dev/null
+++ b/test/layout/anonymous-row-and-cell-in-display-table.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<div style="display: table">
+<div>div 1</div>
+<div>div 2</div>
+<div>div 3</div>