mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-29 23:25:58 +01:00
fix crash
This commit is contained in:
parent
328b3fa4bc
commit
97b515edb7
1 changed files with 6 additions and 0 deletions
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue