diff options
Diffstat (limited to 'src/config/ConfigManager.cpp')
| -rw-r--r-- | src/config/ConfigManager.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index b5fcf0fa..56c55f3b 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -2195,8 +2195,15 @@ void CConfigManager::removePluginConfig(HANDLE handle) { std::string CConfigManager::getDefaultWorkspaceFor(const std::string& name) { for (auto other = m_dWorkspaceRules.begin(); other != m_dWorkspaceRules.end(); ++other) { - if (other->isDefault && (other->monitor == name || (other->monitor.substr(0, 5) == "desc:" && g_pCompositor->getMonitorFromDesc(other->monitor.substr(5))->szName == name))) - return other->workspaceString; + if (other->isDefault) { + if (other->monitor == name) + return other->workspaceString; + if (other->monitor.substr(0, 5) == "desc:") { + auto monitor = g_pCompositor->getMonitorFromDesc(other->monitor.substr(5)); + if (monitor && monitor->szName == name) + return other->workspaceString; + } + } } return ""; } |
