diff --git a/UI/api-interface.cpp b/UI/api-interface.cpp index e7cc8365c..4327a00c2 100644 --- a/UI/api-interface.cpp +++ b/UI/api-interface.cpp @@ -232,7 +232,12 @@ struct OBSStudioAPI : obs_frontend_callbacks { bool obs_frontend_streaming_active(void) override { - return main->outputHandler->StreamingActive(); + bool active; + QMetaObject::invokeMethod(main, + "StreamingActive", + WaitConnection(), + Q_RETURN_ARG(bool, active)); + return active; } void obs_frontend_recording_start(void) override @@ -247,7 +252,12 @@ struct OBSStudioAPI : obs_frontend_callbacks { bool obs_frontend_recording_active(void) override { - return main->outputHandler->RecordingActive(); + bool active; + QMetaObject::invokeMethod(main, + "RecordingActive", + WaitConnection(), + Q_RETURN_ARG(bool, active)); + return active; } void obs_frontend_replay_buffer_start(void) override @@ -267,7 +277,12 @@ struct OBSStudioAPI : obs_frontend_callbacks { bool obs_frontend_replay_buffer_active(void) override { - return main->outputHandler->ReplayBufferActive(); + bool active; + QMetaObject::invokeMethod(main, + "ReplayBufferActive", + WaitConnection(), + Q_RETURN_ARG(bool, active)); + return active; } void *obs_frontend_add_tools_menu_qaction(const char *name) override diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 59e59fea8..88cb38399 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -6998,3 +6998,24 @@ OBSBasic *OBSBasic::Get() { return reinterpret_cast(App()->GetMainWindow()); } + +bool OBSBasic::StreamingActive() +{ + if (!outputHandler) + return false; + return outputHandler->StreamingActive(); +} + +bool OBSBasic::RecordingActive() +{ + if (!outputHandler) + return false; + return outputHandler->RecordingActive(); +} + +bool OBSBasic::ReplayBufferActive() +{ + if (!outputHandler) + return false; + return outputHandler->ReplayBufferActive(); +} diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index 95be1c9b0..9d6e53578 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -789,6 +789,10 @@ private slots: public slots: void on_actionResetTransform_triggered(); + bool StreamingActive(); + bool RecordingActive(); + bool ReplayBufferActive(); + public: explicit OBSBasic(QWidget *parent = 0); virtual ~OBSBasic();