From f12993ecf0058fe8dba7db533a20aec277504806 Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Thu, 4 May 2023 11:27:10 -0700 Subject: [PATCH] Fix parent pointer corruption in intoGroup This appears to be what caused group movement related segfaults. --- src/Hy3Layout.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp index c2ce51f..1237db3 100644 --- a/src/Hy3Layout.cpp +++ b/src/Hy3Layout.cpp @@ -355,12 +355,13 @@ Hy3Node* Hy3Node::removeFromParentRecursive() { Hy3Node* Hy3Node::intoGroup(Hy3GroupLayout layout) { this->layout->nodes.push_back({ .parent = this, - .data = this->data, + .data = layout, .workspace_id = this->workspace_id, .layout = this->layout, }); auto* node = &this->layout->nodes.back(); + swapData(*this, *node); this->data = layout; this->data.as_group.children.push_back(node);