diff --git a/src/blackgui/guiapplication.cpp b/src/blackgui/guiapplication.cpp index 7aa377eed..aee11bf0e 100644 --- a/src/blackgui/guiapplication.cpp +++ b/src/blackgui/guiapplication.cpp @@ -122,7 +122,7 @@ namespace BlackGui IMainWindowAccess *CGuiApplication::mainWindowAccess() { - IMainWindowAccess *m = dynamic_cast(mainApplicationWindow()); + IMainWindowAccess *m = qobject_cast(mainApplicationWindow()); return m; } diff --git a/src/blackgui/guiapplication.h b/src/blackgui/guiapplication.h index ea5fe650e..a4876085a 100644 --- a/src/blackgui/guiapplication.h +++ b/src/blackgui/guiapplication.h @@ -47,6 +47,7 @@ namespace BlackGui public BlackGui::IMainWindowAccess { Q_OBJECT + Q_INTERFACES(BlackGui::IMainWindowAccess) public: //! Similar to \sa QCoreApplication::instance() returns the single instance diff --git a/src/blackgui/mainwindowaccess.h b/src/blackgui/mainwindowaccess.h index e0df2ba62..8330b21e1 100644 --- a/src/blackgui/mainwindowaccess.h +++ b/src/blackgui/mainwindowaccess.h @@ -45,4 +45,6 @@ namespace BlackGui }; } // ns +Q_DECLARE_INTERFACE(BlackGui::IMainWindowAccess, "org.swift-project.blackgui.mainwindowaccess") + #endif // guard diff --git a/src/swiftcore/swiftcore.h b/src/swiftcore/swiftcore.h index 70c8dd814..4eac221ec 100644 --- a/src/swiftcore/swiftcore.h +++ b/src/swiftcore/swiftcore.h @@ -31,6 +31,7 @@ class CSwiftCore : public BlackMisc::CIdentifiable { Q_OBJECT + Q_INTERFACES(BlackGui::IMainWindowAccess) public: //! Constructor diff --git a/src/swiftdata/swiftdata.h b/src/swiftdata/swiftdata.h index e5fddb453..506487106 100644 --- a/src/swiftdata/swiftdata.h +++ b/src/swiftdata/swiftdata.h @@ -35,6 +35,7 @@ class CSwiftData : public BlackGui::IMainWindowAccess { Q_OBJECT + Q_INTERFACES(BlackGui::IMainWindowAccess) public: //! Constructor diff --git a/src/swiftguistandard/swiftguistd.h b/src/swiftguistandard/swiftguistd.h index 812c824d8..625457a06 100644 --- a/src/swiftguistandard/swiftguistd.h +++ b/src/swiftguistandard/swiftguistd.h @@ -49,6 +49,7 @@ class SwiftGuiStd : public BlackGui::IMainWindowAccess { Q_OBJECT + Q_INTERFACES(BlackGui::IMainWindowAccess) public: //! Main page indexes diff --git a/src/swiftlauncher/swiftlauncher.h b/src/swiftlauncher/swiftlauncher.h index 71c547546..f52ea351b 100644 --- a/src/swiftlauncher/swiftlauncher.h +++ b/src/swiftlauncher/swiftlauncher.h @@ -37,6 +37,7 @@ class CSwiftLauncher : public BlackGui::IMainWindowAccess { Q_OBJECT + Q_INTERFACES(BlackGui::IMainWindowAccess) public: //! Constructor