Simplify fix: only add isInt() check in refresh methods

Changed approach per maintainer feedback - instead of caching signal values,
just add isInt() check before accessing config_["signal"].asInt() in refresh()
methods. This is simpler and more minimal.

Co-authored-by: Alexays <13947260+Alexays@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-04 08:57:08 +00:00
parent 74fb2f252f
commit 0a8b7b096a
4 changed files with 4 additions and 9 deletions

View File

@@ -1,9 +1,7 @@
#include "modules/image.hpp"
waybar::modules::Image::Image(const std::string& id, const Json::Value& config)
: AModule(config, "image", id),
box_(Gtk::ORIENTATION_HORIZONTAL, 0),
signal_(config_["signal"].isInt() ? config_["signal"].asInt() : -1) {
: AModule(config, "image", id), box_(Gtk::ORIENTATION_HORIZONTAL, 0) {
box_.pack_start(image_);
box_.set_name("image");
if (!id.empty()) {
@@ -43,7 +41,7 @@ void waybar::modules::Image::delayWorker() {
}
void waybar::modules::Image::refresh(int sig) {
if (signal_ != -1 && sig == SIGRTMIN + signal_) {
if (config_["signal"].isInt() && sig == SIGRTMIN + config_["signal"].asInt()) {
thread_.wake_up();
}
}