summaryrefslogtreecommitdiff
path: root/src/events/Monitors.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-05-29 20:15:34 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-05-29 20:15:34 +0200
commitb76b32b458ab6e67632a110758ac5fe6e3701948 (patch)
tree33f55ff4e9080754f1d706f404066030b89be33c /src/events/Monitors.cpp
parentf5645805d8db9e6d45dd4d82bff12054b3b81180 (diff)
don't add existing and invalid monitors
Diffstat (limited to 'src/events/Monitors.cpp')
-rw-r--r--src/events/Monitors.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp
index 3acea781..2e05d278 100644
--- a/src/events/Monitors.cpp
+++ b/src/events/Monitors.cpp
@@ -48,6 +48,16 @@ void Events::listener_newOutput(wl_listener* listener, void* data) {
// new monitor added, let's accomodate for that.
const auto OUTPUT = (wlr_output*)data;
+ if (!OUTPUT->name) {
+ Debug::log(ERR, "New monitor has no name?? Ignoring");
+ return;
+ }
+
+ if (g_pCompositor->getMonitorFromName(std::string(OUTPUT->name))) {
+ Debug::log(WARN, "Monitor with name %s already exists, not adding as new!", OUTPUT->name);
+ return;
+ }
+
// get monitor rule that matches
SMonitorRule monitorRule = g_pConfigManager->getMonitorRuleFor(OUTPUT->name);