diff --git a/UI/auth-mixer.cpp b/UI/auth-mixer.cpp index 73873426a..09dedfc08 100644 --- a/UI/auth-mixer.cpp +++ b/UI/auth-mixer.cpp @@ -213,6 +213,8 @@ public: void MixerAuth::LoadUI() { + if (!cef) + return; if (uiLoaded) return; if (!GetChannelInfo()) @@ -261,6 +263,9 @@ void MixerAuth::LoadUI() bool MixerAuth::RetryLogin() { + if (!cef) + return false; + OAuthLogin login(OBSBasic::Get(), MIXER_AUTH_URL, false); cef->add_popup_whitelist_url("about:blank", &login); @@ -278,6 +283,10 @@ bool MixerAuth::RetryLogin() std::shared_ptr MixerAuth::Login(QWidget *parent) { + if (!cef) { + return nullptr; + } + OAuthLogin login(parent, MIXER_AUTH_URL, false); cef->add_popup_whitelist_url("about:blank", &login); diff --git a/UI/auth-oauth.cpp b/UI/auth-oauth.cpp index 0237f4784..98b8869eb 100644 --- a/UI/auth-oauth.cpp +++ b/UI/auth-oauth.cpp @@ -26,6 +26,10 @@ OAuthLogin::OAuthLogin(QWidget *parent, const std::string &url, bool token) : QDialog (parent), get_token (token) { + if (!cef) { + return; + } + setWindowTitle("Auth"); setMinimumSize(400, 400); resize(700, 700); @@ -66,6 +70,15 @@ OAuthLogin::~OAuthLogin() delete cefWidget; } +int OAuthLogin::exec() +{ + if (cefWidget) { + return QDialog::exec(); + } + + return QDialog::Rejected; +} + void OAuthLogin::urlChanged(const QString &url) { std::string uri = get_token ? "access_token=" : "code="; diff --git a/UI/auth-oauth.hpp b/UI/auth-oauth.hpp index 6379299d3..7cf035c39 100644 --- a/UI/auth-oauth.hpp +++ b/UI/auth-oauth.hpp @@ -23,6 +23,8 @@ public: inline QString GetCode() const {return code;} inline bool LoadFail() const {return fail;} + virtual int exec() override; + public slots: void urlChanged(const QString &url); }; diff --git a/UI/auth-twitch.cpp b/UI/auth-twitch.cpp index b0e5ab97d..33d87222c 100644 --- a/UI/auth-twitch.cpp +++ b/UI/auth-twitch.cpp @@ -42,6 +42,9 @@ static Auth::Def twitchDef = { TwitchAuth::TwitchAuth(const Def &d) : OAuthStreamKey(d) { + if (!cef) + return; + cef->add_popup_whitelist_url( "https://twitch.tv/popout/frankerfacez/chat?ffz-settings", this); @@ -194,6 +197,8 @@ static const char *referrer_script2 = "'; }});"; void TwitchAuth::LoadUI() { + if (!cef) + return; if (uiLoaded) return; if (!GetChannelInfo())