From 6a91535677632ec8c168908c7301935a43158cde Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 13 Apr 2026 03:43:53 +1000 Subject: [PATCH] fix: don't suppress warnings on non Item components --- plugin/src/Caelestia/Config/configattached.cpp | 4 +++- plugin/src/Caelestia/Config/tokensattached.cpp | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugin/src/Caelestia/Config/configattached.cpp b/plugin/src/Caelestia/Config/configattached.cpp index 0a97c8c0..8d229049 100644 --- a/plugin/src/Caelestia/Config/configattached.cpp +++ b/plugin/src/Caelestia/Config/configattached.cpp @@ -57,7 +57,9 @@ void Config::attachedParentChange( const Type* Config::name() const { \ if (m_config) \ return m_config->name(); \ - if (m_complete && parent()) /* Suppress warnings before component is complete */ \ + /* Suppress warnings before component is complete if attached to a QQuickItem. */ \ + /* Raw QObjects are unable to inherit the screen (only QQuickItems can). */ \ + if ((m_complete || !qobject_cast(parent())) && parent()) \ qCWarning(lcConfig, "Config.%s accessed without a screen set on %s", #name, \ parent()->metaObject()->className()); \ return GlobalConfig::instance()->name(); \ diff --git a/plugin/src/Caelestia/Config/tokensattached.cpp b/plugin/src/Caelestia/Config/tokensattached.cpp index 627b50bf..a86550df 100644 --- a/plugin/src/Caelestia/Config/tokensattached.cpp +++ b/plugin/src/Caelestia/Config/tokensattached.cpp @@ -4,6 +4,8 @@ #include "monitorconfigmanager.hpp" #include "tokens.hpp" +#include + namespace caelestia::config { namespace { @@ -11,7 +13,7 @@ namespace { const AppearanceConfig* resolveAppearance(GlobalConfig* config, bool complete, const char* prop, QObject* parent) { if (config) return config->appearance(); - if (complete && parent) + if ((complete || !qobject_cast(parent)) && parent) qCWarning(lcConfig, "Tokens.%s accessed without a screen set on %s", prop, parent->metaObject()->className()); return GlobalConfig::instance()->appearance(); } @@ -95,7 +97,7 @@ const AppearanceTransparency* Tokens::transparency() const { const SizeTokens* Tokens::sizes() const { if (m_tokens) return m_tokens->sizes(); - if (m_complete && parent()) + if ((m_complete || !qobject_cast(parent())) && parent()) qCWarning(lcConfig, "Tokens.sizes accessed without a screen set on %s", parent()->metaObject()->className()); return TokenConfig::instance()->sizes(); }