Diff
1diff --git a/flake.lock b/flake.lock
2index 1a69719357cbc9a8b5e802ff4f1beab268d04ea7..99cfb40b4149f86034e0046c5a96546b88d49836 100644
3--- a/flake.lock
4+++ b/flake.lock
5@@ -8,11 +8,11 @@
6 "xdph": "xdph"
7 },
8 "locked": {
9- "lastModified": 1689799203,
10- "narHash": "sha256-N2/zV/HurGH83zQL7JKhRhfw02sdcZ8JIxH7wC2OVko=",
11+ "lastModified": 1691612137,
12+ "narHash": "sha256-7nMCJIZBB2XIjUqAjImoTaZBVIg/0REripGdNsClxlQ=",
13 "owner": "hyprwm",
14 "repo": "Hyprland",
15- "rev": "7091d4e5979720ddb30f540b2d7da48080bf2487",
16+ "rev": "126792584fa4eb25f6c8e3b3eb6bfb00b58a787a",
17 "type": "github"
18 },
19 "original": {
20@@ -44,11 +44,11 @@
21 },
22 "nixpkgs": {
23 "locked": {
24- "lastModified": 1688500189,
25- "narHash": "sha256-djYYiY4lzJOlXOnTHytH6BUugrxHDZjuGxTSrU4gt4M=",
26+ "lastModified": 1690179384,
27+ "narHash": "sha256-+arbgqFTAtoeKtepW9wCnA0njCOyoiDFyl0Q0SBSOtE=",
28 "owner": "NixOS",
29 "repo": "nixpkgs",
30- "rev": "78419edadf0fabbe5618643bd850b2f2198ed060",
31+ "rev": "b12803b6d90e2e583429bb79b859ca53c348b39a",
32 "type": "github"
33 },
34 "original": {
35@@ -67,17 +67,18 @@
36 "flake": false,
37 "locked": {
38 "host": "gitlab.freedesktop.org",
39- "lastModified": 1689611045,
40- "narHash": "sha256-3RTOlQabkNetQ4O4UzSf57JPco9VGVHhSU1ls5uKBeE=",
41+ "lastModified": 1691073628,
42+ "narHash": "sha256-LlxE3o3UzRY7APYVLGNKM30DBMcDifCRIQiMVSbYLIc=",
43 "owner": "wlroots",
44 "repo": "wlroots",
45- "rev": "7791ffe0584c4ac13c170e1661ce33bdbd4a9b9e",
46+ "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5",
47 "type": "gitlab"
48 },
49 "original": {
50 "host": "gitlab.freedesktop.org",
51 "owner": "wlroots",
52 "repo": "wlroots",
53+ "rev": "c74f89d4f84bfed0284d3908aee5d207698c70c5",
54 "type": "gitlab"
55 }
56 },
57@@ -93,11 +94,11 @@
58 ]
59 },
60 "locked": {
61- "lastModified": 1685385764,
62- "narHash": "sha256-r+XMyOoRXq+hlfjayb+fyi9kq2JK48TrwuNIAXqlj7U=",
63+ "lastModified": 1691082525,
64+ "narHash": "sha256-C5AO0KnyAFJaCkOn+5nJfWm0kyiPn/Awh0lKTjhgr7Y=",
65 "owner": "hyprwm",
66 "repo": "xdg-desktop-portal-hyprland",
67- "rev": "4d9ff0c17716936e0b5ca577a39e263633901ed1",
68+ "rev": "42747d267ab4345c4ceb78cd4a4fe99f072d80fc",
69 "type": "github"
70 },
71 "original": {
72diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
73index 1c3ed1c31080faf8c65e4fdc8fdc49f3ceaf11f9..e18d031c9a5c24219fdab2c2da82af0e9deee039 100644
74--- a/src/Hy3Layout.cpp
75+++ b/src/Hy3Layout.cpp
76@@ -1267,7 +1267,9 @@ Hy3Node* Hy3Layout::getNodeFromWindow(CWindow* window) {
77
78 void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
79 if (node->data.type != Hy3NodeType::Window) return;
80- CWindow* window = node->data.as_window;
81+ auto* window = node->data.as_window;
82+ auto root_node = this->getWorkspaceRootGroup(window->m_iWorkspaceID);
83+ if (root_node == nullptr) return;
84
85 CMonitor* monitor = nullptr;
86
87@@ -1309,7 +1311,6 @@ void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
88 auto calcPos = window->m_vPosition + Vector2D(*border_size, *border_size);
89 auto calcSize = window->m_vSize - Vector2D(2 * *border_size, 2 * *border_size);
90
91- auto root_node = this->getWorkspaceRootGroup(window->m_iWorkspaceID);
92 auto only_node = root_node->data.as_group.children.size() == 1
93 && root_node->data.as_group.children.front()->data.type == Hy3NodeType::Window;
94