diff --git a/src/qt/qt_mediamenu.cpp b/src/qt/qt_mediamenu.cpp index 2365fb728..7f7d120b8 100644 --- a/src/qt/qt_mediamenu.cpp +++ b/src/qt/qt_mediamenu.cpp @@ -61,6 +61,7 @@ MediaMenu::MediaMenu(QWidget *parent) : QObject(parent) { parentWidget = parent; + connect(this, &MediaMenu::onCdromUpdateUi, this, &MediaMenu::cdromUpdateUi, Qt::QueuedConnection); } void @@ -912,7 +913,7 @@ extern "C" { void plat_cdrom_ui_update(uint8_t id, uint8_t reload) { - MediaMenu::ptr->cdromUpdateUi(id); + emit MediaMenu::ptr->onCdromUpdateUi(id); } void diff --git a/src/qt/qt_mediamenu.hpp b/src/qt/qt_mediamenu.hpp index 03d046847..7835077b3 100644 --- a/src/qt/qt_mediamenu.hpp +++ b/src/qt/qt_mediamenu.hpp @@ -10,7 +10,7 @@ extern "C" { } class QMenu; -class MediaMenu : QObject { +class MediaMenu : public QObject { Q_OBJECT public: MediaMenu(QWidget *parent); @@ -45,7 +45,6 @@ public: void cdromMount(int i, const QString &filename); void cdromEject(int i); void cdromReload(int index, int slot); - void cdromUpdateUi(int i); void updateImageHistory(int index, int slot, ui::MediaType type); void clearImageHistory(); void cdromUpdateMenu(int i); @@ -68,6 +67,12 @@ public: void nicDisconnect(int i); void nicUpdateMenu(int i); +public slots: + void cdromUpdateUi(int i); + +signals: + void onCdromUpdateUi(int i); + private: QWidget *parentWidget = nullptr;