mirror of
https://github.com/vale981/tdesktop
synced 2025-03-05 17:51:41 -05: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
3 changed files with 6 additions and 6 deletions
|
@ -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…
Add table
Reference in a new issue