diff --git a/Telegram/SourceFiles/media/view/media_clip_controller.cpp b/Telegram/SourceFiles/media/view/media_clip_controller.cpp index b1d0cace14..361d7f7427 100644 --- a/Telegram/SourceFiles/media/view/media_clip_controller.cpp +++ b/Telegram/SourceFiles/media/view/media_clip_controller.cpp @@ -79,17 +79,21 @@ template void Controller::startFading(Callback start) { if (!_fadeAnimation->animating()) { showChildren(); - _playbackSlider->hide(); + _playbackSlider->disablePaint(true); _childrenHidden = false; } start(); if (_fadeAnimation->animating()) { - hideChildren(); + for (const auto child : children()) { + if (child->isWidgetType() && child != _playbackSlider) { + static_cast(child)->hide(); + } + } _childrenHidden = true; } else { fadeFinished(); } - _playbackSlider->show(); + _playbackSlider->disablePaint(false); } void Controller::showAnimated() { diff --git a/Telegram/SourceFiles/mediaview.cpp b/Telegram/SourceFiles/mediaview.cpp index 06be4b2b5a..572781caaf 100644 --- a/Telegram/SourceFiles/mediaview.cpp +++ b/Telegram/SourceFiles/mediaview.cpp @@ -2961,9 +2961,6 @@ bool MediaView::eventFilter(QObject *obj, QEvent *e) { activate = true; } if (activate) { - if (_controlsState == ControlsHiding || _controlsState == ControlsHidden) { - int a = 0; - } activateControls(); } } diff --git a/Telegram/SourceFiles/ui/widgets/continuous_sliders.cpp b/Telegram/SourceFiles/ui/widgets/continuous_sliders.cpp index f9366c8f51..691461c4e5 100644 --- a/Telegram/SourceFiles/ui/widgets/continuous_sliders.cpp +++ b/Telegram/SourceFiles/ui/widgets/continuous_sliders.cpp @@ -195,7 +195,14 @@ float64 MediaSlider::getOverDuration() const { return _st.duration; } +void MediaSlider::disablePaint(bool disabled) { + _paintDisabled = disabled; +} + void MediaSlider::paintEvent(QPaintEvent *e) { + if (_paintDisabled) { + return; + } Painter p(this); PainterHighQualityEnabler hq(p); diff --git a/Telegram/SourceFiles/ui/widgets/continuous_sliders.h b/Telegram/SourceFiles/ui/widgets/continuous_sliders.h index 847ab226f1..92d9ca6de4 100644 --- a/Telegram/SourceFiles/ui/widgets/continuous_sliders.h +++ b/Telegram/SourceFiles/ui/widgets/continuous_sliders.h @@ -124,6 +124,7 @@ public: _alwaysDisplayMarker = alwaysDisplayMarker; update(); } + void disablePaint(bool disabled); protected: void paintEvent(QPaintEvent *e) override; @@ -134,6 +135,7 @@ private: const style::MediaSlider &_st; bool _alwaysDisplayMarker = false; + bool _paintDisabled = false; };