fix crash

This commit is contained in:
vaxerski 2022-06-30 16:00:44 +02:00
parent 328b3fa4bc
commit 97b515edb7

View file

@ -680,10 +680,16 @@ CWorkspace* CCompositor::getWorkspaceByID(const int& id) {
void CCompositor::sanityCheckWorkspaces() { void CCompositor::sanityCheckWorkspaces() {
for (auto it = m_vWorkspaces.begin(); it != m_vWorkspaces.end(); ++it) { for (auto it = m_vWorkspaces.begin(); it != m_vWorkspaces.end(); ++it) {
if (!it->get())
return; // why does this occur when switching from an empty workspace to an open one?
if ((getWindowsOnWorkspace((*it)->m_iID) == 0 && !isWorkspaceVisible((*it)->m_iID))) { if ((getWindowsOnWorkspace((*it)->m_iID) == 0 && !isWorkspaceVisible((*it)->m_iID))) {
it = m_vWorkspaces.erase(it); it = m_vWorkspaces.erase(it);
} }
if (it == m_vWorkspaces.end())
continue;
if ((*it)->m_iID == SPECIAL_WORKSPACE_ID && getWindowsOnWorkspace((*it)->m_iID) == 0) { if ((*it)->m_iID == SPECIAL_WORKSPACE_ID && getWindowsOnWorkspace((*it)->m_iID) == 0) {
for (auto& m : m_vMonitors) { for (auto& m : m_vMonitors) {
m->specialWorkspaceOpen = false; m->specialWorkspaceOpen = false;