From b76b32b458ab6e67632a110758ac5fe6e3701948 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 29 May 2022 20:15:34 +0200 Subject: don't add existing and invalid monitors --- src/events/Monitors.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/events/Monitors.cpp') 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); -- cgit v1.2.3