Fixed crash on app close in webradiodialog

This commit is contained in:
0xFEEDC0DE64
2017-12-28 21:17:51 +01:00
parent 8a04179ba1
commit 0a96e22c66

View File

@@ -7,8 +7,7 @@
WebRadioDialog::WebRadioDialog(MainWindow &mainWindow) : WebRadioDialog::WebRadioDialog(MainWindow &mainWindow) :
QDialog(&mainWindow), QDialog(&mainWindow),
ui(new Ui::WebRadioDialog), ui(new Ui::WebRadioDialog),
m_mainWindow(mainWindow), m_mainWindow(mainWindow)
m_player(new QMediaPlayer(this))
{ {
ui->setupUi(this); ui->setupUi(this);
@@ -18,6 +17,7 @@ WebRadioDialog::WebRadioDialog(MainWindow &mainWindow) :
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
#endif #endif
m_player = new QMediaPlayer(this);
connect(m_player, &QMediaPlayer::stateChanged, this, &WebRadioDialog::stateChanged); connect(m_player, &QMediaPlayer::stateChanged, this, &WebRadioDialog::stateChanged);
connect(m_player, &QMediaPlayer::stateChanged, this, &WebRadioDialog::updateWidgets); connect(m_player, &QMediaPlayer::stateChanged, this, &WebRadioDialog::updateWidgets);
connect(m_player, &QMediaPlayer::mediaStatusChanged, this, &WebRadioDialog::mediaStatusChanged); connect(m_player, &QMediaPlayer::mediaStatusChanged, this, &WebRadioDialog::mediaStatusChanged);
@@ -65,6 +65,13 @@ WebRadioDialog::WebRadioDialog(MainWindow &mainWindow) :
WebRadioDialog::~WebRadioDialog() WebRadioDialog::~WebRadioDialog()
{ {
// To avoid crash on app close
disconnect(m_player, &QMediaPlayer::stateChanged, this, &WebRadioDialog::stateChanged);
disconnect(m_player, &QMediaPlayer::stateChanged, this, &WebRadioDialog::updateWidgets);
disconnect(m_player, &QMediaPlayer::mediaStatusChanged, this, &WebRadioDialog::mediaStatusChanged);
disconnect(m_player, &QMediaPlayer::mediaStatusChanged, this, &WebRadioDialog::updateWidgets);
disconnect(m_player, static_cast<void(QMediaPlayer::*)(QMediaPlayer::Error)>(&QMediaPlayer::error), this, &WebRadioDialog::error);
delete ui; delete ui;
} }