d69eadc4d6208374778b9133c9e8b0dc39db3ef7

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
outfoxxed <outfoxxed@outfoxxed.me>
Date

Message

fix: null guard m_monitor in Hy3TabGroup::tick()

workspace->m_monitor can be null during monitor disconnect (dpms off),
causing a SEGV when dereferencing m_monitor->m_id.

Diff

 1diff --git a/CHANGELOG.md b/CHANGELOG.md
 2index 6bff3940031b5ba66b49e3e3f0aca9b57521f4b0..89ed4fb173221c3ea8155a7e4183f5d947e91a81 100644
 3--- a/CHANGELOG.md
 4+++ b/CHANGELOG.md
 5@@ -3,6 +3,7 @@
 6 # Upcoming
 7 
 8 - Fixed a crash when using locked opaque tabs.
 9+- Fixed a crash when removing a monitor.
10 
11 # hl0.54.2.1 and before
12 
13diff --git a/src/TabGroup.cpp b/src/TabGroup.cpp
14index b3eb5d2882c7a2bfc893940871fb09fd57824b97..4d04d27960ef02bd1c0e957f799d352943fdbc01 100644
15--- a/src/TabGroup.cpp
16+++ b/src/TabGroup.cpp
17@@ -650,7 +650,7 @@ void Hy3TabGroup::tick() {
18 
19 	this->bar.tick();
20 
21-	if (valid(this->workspace)) {
22+	if (valid(this->workspace) && this->workspace->m_monitor) {
23 		auto has_fullscreen = this->workspace->m_hasFullscreenWindow;
24 
25 		if (!has_fullscreen && *no_gaps_when_only) {