From 7684466acf79b412dfb02307ab8b36e85e71bf5d Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 31 Oct 2024 20:32:54 +0400 Subject: [PATCH] Fix crash in quality auto-toggle. --- .../media/view/media_view_playback_controls.cpp | 12 +++++++----- .../media/view/media_view_playback_controls.h | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Telegram/SourceFiles/media/view/media_view_playback_controls.cpp b/Telegram/SourceFiles/media/view/media_view_playback_controls.cpp index 4a396fbcf..5ecb20da4 100644 --- a/Telegram/SourceFiles/media/view/media_view_playback_controls.cpp +++ b/Telegram/SourceFiles/media/view/media_view_playback_controls.cpp @@ -73,10 +73,7 @@ PlaybackControls::PlaybackControls( _speedToggle->setSpeed(_speedControllable ? _delegate->playbackControlsCurrentSpeed(false) : 1.); - const auto quality = _delegate->playbackControlsCurrentQuality(); - _speedToggle->setQuality((_qualitiesList.empty() || !quality.manual) - ? 0 - : quality.height); + updateSpeedToggleQuality(); if (const auto controller = _speedController.get()) { controller->menuToggledValue( @@ -221,10 +218,15 @@ void PlaybackControls::saveSpeed(float64 speed) { } void PlaybackControls::saveQuality(int quality) { - _speedToggle->setQuality(quality); + _speedToggle->setQuality(_qualitiesList.empty() ? 0 : quality); _delegate->playbackControlsQualityChanged(quality); } +void PlaybackControls::updateSpeedToggleQuality() { + const auto quality = _delegate->playbackControlsCurrentQuality(); + _speedToggle->setQuality(_qualitiesList.empty() ? 0 : quality.height); +} + void PlaybackControls::updatePlaybackSpeed(float64 speed) { DEBUG_LOG(("Media playback speed: update to %1.").arg(speed)); _delegate->playbackControlsSpeedChanged(speed); diff --git a/Telegram/SourceFiles/media/view/media_view_playback_controls.h b/Telegram/SourceFiles/media/view/media_view_playback_controls.h index a67fc73ec..a91b8ad2e 100644 --- a/Telegram/SourceFiles/media/view/media_view_playback_controls.h +++ b/Telegram/SourceFiles/media/view/media_view_playback_controls.h @@ -97,6 +97,7 @@ private: void saveSpeed(float64 speed); void saveQuality(int quality); + void updateSpeedToggleQuality(); const not_null _delegate;