Diff
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index 6f09be40ecedbd5ac641ba6f41d2d88429d778ad..da41daaa83adb7fd508eddb3aad304000ce83958 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -1438,7 +1438,7 @@ void Hy3Layout::renderHook(void*, SCallbackInfo&, std::any data) {
6 for (auto& entry: g_Hy3Layout->tab_groups) {
7 if (!entry.hidden
8 && entry.target_window->m_iMonitorID == g_pHyprOpenGL->m_RenderData.pMonitor->ID
9- && entry.target_window->m_pWorkspace->m_bVisible
10+ && (!entry.target_window->m_pWorkspace || entry.target_window->m_pWorkspace->m_bVisible)
11 && std::find(rendered_groups.begin(), rendered_groups.end(), &entry)
12 == rendered_groups.end())
13 {
14diff --git a/src/TabGroup.cpp b/src/TabGroup.cpp
15index a6e8b169568d74c1dd6b385e27b63448da8fca5a..09ebd3dc3ee3dd2dcadcf519fc3c66286a768761 100644
16--- a/src/TabGroup.cpp
17+++ b/src/TabGroup.cpp
18@@ -580,8 +580,9 @@ void Hy3TabGroup::renderTabBar() {
19 if (!valid(windowref)) continue;
20 auto window = windowref.lock();
21
22- auto wpos = window->m_vRealPosition.value() - monitor->vecPosition
23- + window->m_pWorkspace->m_vRenderOffset.value();
24+ auto wpos =
25+ window->m_vRealPosition.value() - monitor->vecPosition
26+ + (window->m_pWorkspace ? window->m_pWorkspace->m_vRenderOffset.value() : Vector2D());
27
28 auto wsize = window->m_vRealSize.value();
29