From d40ccd0da8cc19654297cbefb3ffad6c7a7a2bd6 Mon Sep 17 00:00:00 2001 From: xercesblue Date: Mon, 4 Sep 2023 16:50:57 -0700 Subject: [PATCH] modules/hyprland: Fix segfault when attempting to set_urgent on a missing workspace --- src/modules/hyprland/workspaces.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/hyprland/workspaces.cpp b/src/modules/hyprland/workspaces.cpp index 3f27df8a..346e7754 100644 --- a/src/modules/hyprland/workspaces.cpp +++ b/src/modules/hyprland/workspaces.cpp @@ -450,7 +450,7 @@ auto Workspace::handle_clicked(GdkEventButton *bt) -> bool { void Workspaces::set_urgent_workspace(std::string windowaddress) { const Json::Value clients_json = gIPC->getSocket1JsonReply("clients"); - int workspace_id; + int workspace_id = -1; for (Json::Value client_json : clients_json) { if (client_json["address"].asString().ends_with(windowaddress)) { @@ -462,7 +462,7 @@ void Workspaces::set_urgent_workspace(std::string windowaddress) { auto workspace = std::find_if(workspaces_.begin(), workspaces_.end(), [&](std::unique_ptr &x) { return x->id() == workspace_id; }); - if (workspace->get() != nullptr) { + if (workspace != workspaces_.end()) { workspace->get()->set_urgent(); } }