summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp11
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 "";
}