mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-03-30 15:30:20 +00:00
Fix crash in video player seeking.
Regression was introduced in 87ff770020
.
Seek handler may destroy controller so first the playback is updated.
This commit is contained in:
parent
81e728ada0
commit
66662e02a6
@ -94,12 +94,12 @@ CoverWidget::CoverWidget(QWidget *parent) : TWidget(parent)
|
|||||||
_playbackSlider->setValue(value);
|
_playbackSlider->setValue(value);
|
||||||
});
|
});
|
||||||
_playbackSlider->setChangeProgressCallback([this](float64 value) {
|
_playbackSlider->setChangeProgressCallback([this](float64 value) {
|
||||||
handleSeekProgress(value);
|
|
||||||
_playback->setValue(value, false);
|
_playback->setValue(value, false);
|
||||||
|
handleSeekProgress(value);
|
||||||
});
|
});
|
||||||
_playbackSlider->setChangeFinishedCallback([this](float64 value) {
|
_playbackSlider->setChangeFinishedCallback([this](float64 value) {
|
||||||
handleSeekFinished(value);
|
|
||||||
_playback->setValue(value, false);
|
_playback->setValue(value, false);
|
||||||
|
handleSeekFinished(value);
|
||||||
});
|
});
|
||||||
_playPause->setClickedCallback([this] {
|
_playPause->setClickedCallback([this] {
|
||||||
instance()->playPauseCancelClicked(AudioMsgId::Type::Song);
|
instance()->playPauseCancelClicked(AudioMsgId::Type::Song);
|
||||||
|
@ -111,15 +111,15 @@ Widget::Widget(QWidget *parent) : TWidget(parent)
|
|||||||
if (_type != AudioMsgId::Type::Song) {
|
if (_type != AudioMsgId::Type::Song) {
|
||||||
return; // Round video seek is not supported for now :(
|
return; // Round video seek is not supported for now :(
|
||||||
}
|
}
|
||||||
handleSeekProgress(value);
|
|
||||||
_playback->setValue(value, false);
|
_playback->setValue(value, false);
|
||||||
|
handleSeekProgress(value);
|
||||||
});
|
});
|
||||||
_playbackSlider->setChangeFinishedCallback([this](float64 value) {
|
_playbackSlider->setChangeFinishedCallback([this](float64 value) {
|
||||||
if (_type != AudioMsgId::Type::Song) {
|
if (_type != AudioMsgId::Type::Song) {
|
||||||
return; // Round video seek is not supported for now :(
|
return; // Round video seek is not supported for now :(
|
||||||
}
|
}
|
||||||
handleSeekFinished(value);
|
|
||||||
_playback->setValue(value, false);
|
_playback->setValue(value, false);
|
||||||
|
handleSeekFinished(value);
|
||||||
});
|
});
|
||||||
_playPause->setClickedCallback([this] {
|
_playPause->setClickedCallback([this] {
|
||||||
instance()->playPauseCancelClicked(_type);
|
instance()->playPauseCancelClicked(_type);
|
||||||
|
@ -58,12 +58,12 @@ Controller::Controller(QWidget *parent) : TWidget(parent)
|
|||||||
_playbackSlider->setValue(value);
|
_playbackSlider->setValue(value);
|
||||||
});
|
});
|
||||||
_playbackSlider->setChangeProgressCallback([this](float64 value) {
|
_playbackSlider->setChangeProgressCallback([this](float64 value) {
|
||||||
handleSeekProgress(value);
|
|
||||||
_playback->setValue(value, false);
|
_playback->setValue(value, false);
|
||||||
|
handleSeekProgress(value); // This may destroy Controller.
|
||||||
});
|
});
|
||||||
_playbackSlider->setChangeFinishedCallback([this](float64 value) {
|
_playbackSlider->setChangeFinishedCallback([this](float64 value) {
|
||||||
handleSeekFinished(value);
|
|
||||||
_playback->setValue(value, false);
|
_playback->setValue(value, false);
|
||||||
|
handleSeekFinished(value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user