mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +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)
|
||||
: QObject(parent), d(new KAbstractPlayerPrivate())
|
||||
: QObject(parent),
|
||||
d(new KAbstractPlayerPrivate())
|
||||
{
|
||||
#if defined(HAVE_MPV)
|
||||
if (d->m_handle) {
|
||||
|
@ -619,7 +620,8 @@ static void wakeup_media(void *ctx)
|
|||
}
|
||||
|
||||
KMediaPlayer::KMediaPlayer(QWidget *parent)
|
||||
: QWidget(parent), d(new KAbstractPlayerPrivate)
|
||||
: QWidget(parent),
|
||||
d(new KAbstractPlayerPrivate())
|
||||
{
|
||||
#if defined(HAVE_MPV)
|
||||
if (d->m_handle) {
|
||||
|
|
|
@ -53,16 +53,19 @@ public:
|
|||
};
|
||||
|
||||
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_timerid(0),
|
||||
m_replay(false),
|
||||
m_visible(false)
|
||||
m_visible(false),
|
||||
m_ui(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
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->setupUi(this);
|
||||
|
@ -123,7 +126,11 @@ KMediaWidget::~KMediaWidget()
|
|||
setVolume(d->m_volumeline.endFrame());
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue