mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-24 02:42:48 +00:00
kutils: delete the player before the UI from KMediaWidget destructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
98f1b0b90a
commit
667c23d743
2 changed files with 15 additions and 6 deletions
|
@ -531,7 +531,8 @@ static void wakeup_audio(void *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
KAudioPlayer::KAudioPlayer(QObject *parent)
|
KAudioPlayer::KAudioPlayer(QObject *parent)
|
||||||
: QObject(parent), d(new KAbstractPlayerPrivate())
|
: QObject(parent),
|
||||||
|
d(new KAbstractPlayerPrivate())
|
||||||
{
|
{
|
||||||
#if defined(HAVE_MPV)
|
#if defined(HAVE_MPV)
|
||||||
if (d->m_handle) {
|
if (d->m_handle) {
|
||||||
|
@ -619,7 +620,8 @@ static void wakeup_media(void *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
KMediaPlayer::KMediaPlayer(QWidget *parent)
|
KMediaPlayer::KMediaPlayer(QWidget *parent)
|
||||||
: QWidget(parent), d(new KAbstractPlayerPrivate)
|
: QWidget(parent),
|
||||||
|
d(new KAbstractPlayerPrivate())
|
||||||
{
|
{
|
||||||
#if defined(HAVE_MPV)
|
#if defined(HAVE_MPV)
|
||||||
if (d->m_handle) {
|
if (d->m_handle) {
|
||||||
|
|
|
@ -53,16 +53,19 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
KMediaWidgetPrivate::KMediaWidgetPrivate()
|
KMediaWidgetPrivate::KMediaWidgetPrivate()
|
||||||
: m_dragdrop(false), m_fullscreen(false), m_hiddencontrols(false), m_smoothvolume(false),
|
: m_player(nullptr),
|
||||||
|
m_dragdrop(false), m_fullscreen(false), m_hiddencontrols(false), m_smoothvolume(false),
|
||||||
m_parent(nullptr), m_parenthack(nullptr),
|
m_parent(nullptr), m_parenthack(nullptr),
|
||||||
m_timerid(0),
|
m_timerid(0),
|
||||||
m_replay(false),
|
m_replay(false),
|
||||||
m_visible(false)
|
m_visible(false),
|
||||||
|
m_ui(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
KMediaWidget::KMediaWidget(QWidget *parent, KMediaOptions options)
|
KMediaWidget::KMediaWidget(QWidget *parent, KMediaOptions options)
|
||||||
: QWidget(parent), d(new KMediaWidgetPrivate())
|
: QWidget(parent),
|
||||||
|
d(new KMediaWidgetPrivate())
|
||||||
{
|
{
|
||||||
d->m_ui = new Ui_KMediaWidgetPrivate();
|
d->m_ui = new Ui_KMediaWidgetPrivate();
|
||||||
d->m_ui->setupUi(this);
|
d->m_ui->setupUi(this);
|
||||||
|
@ -123,7 +126,11 @@ KMediaWidget::~KMediaWidget()
|
||||||
setVolume(d->m_volumeline.endFrame());
|
setVolume(d->m_volumeline.endFrame());
|
||||||
}
|
}
|
||||||
d->m_player->stop();
|
d->m_player->stop();
|
||||||
d->m_player->deleteLater();
|
/*
|
||||||
|
Deleting the player has to be done before the UI is deleted because the player is embeded
|
||||||
|
into UI widget and MPV accessing the window ID of d->m_ui->w_player may cause fatal X11 I/O
|
||||||
|
*/
|
||||||
|
delete d->m_player;
|
||||||
delete d->m_ui;
|
delete d->m_ui;
|
||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue