From 30633344e92b17544c60a60cdc23053ffe08366a Mon Sep 17 00:00:00 2001 From: Warchamp7 Date: Fri, 23 Jan 2026 13:42:19 -0500 Subject: [PATCH] frontend: Force update volume meter backgrounds --- frontend/components/VolumeMeter.cpp | 14 ++++++++------ frontend/components/VolumeMeter.hpp | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/frontend/components/VolumeMeter.cpp b/frontend/components/VolumeMeter.cpp index 4da2c80bd..147980f4b 100644 --- a/frontend/components/VolumeMeter.cpp +++ b/frontend/components/VolumeMeter.cpp @@ -275,7 +275,8 @@ void VolumeMeter::setPeakMeterType(enum obs_peak_meter_type peakMeterType) break; } - updateBackgroundCache(); + bool forceUpdate = true; + updateBackgroundCache(forceUpdate); } VolumeMeter::VolumeMeter(QWidget *parent, obs_source_t *source) @@ -455,7 +456,8 @@ void VolumeMeter::refreshColors() setForegroundWarningColor(getForegroundWarningColor()); setForegroundErrorColor(getForegroundErrorColor()); - updateBackgroundCache(); + bool forceUpdate = true; + updateBackgroundCache(forceUpdate); } QRect VolumeMeter::getBarRect() const @@ -648,17 +650,17 @@ void VolumeMeter::paintVTicks(QPainter &painter, int x, int y, int height) } } -void VolumeMeter::updateBackgroundCache() +void VolumeMeter::updateBackgroundCache(bool force) { - if (!size().isValid()) { + if (!force && !size().isValid()) { return; } - if (backgroundCache.size() == size() && !backgroundCache.isNull()) { + if (!force && backgroundCache.size() == size() && !backgroundCache.isNull()) { return; } - if (displayNrAudioChannels <= 0) { + if (!force && displayNrAudioChannels <= 0) { return; } diff --git a/frontend/components/VolumeMeter.hpp b/frontend/components/VolumeMeter.hpp index 3127d35f6..f980f896d 100644 --- a/frontend/components/VolumeMeter.hpp +++ b/frontend/components/VolumeMeter.hpp @@ -83,7 +83,7 @@ private: uint64_t displayInputPeakHoldLastUpdateTime[MAX_AUDIO_CHANNELS]; QPixmap backgroundCache; - void updateBackgroundCache(); + void updateBackgroundCache(bool force = false); QFont tickFont; QRect tickTextTokenRect;