diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 42d51b5da..387d056fd 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -8497,7 +8497,8 @@ void OBSBasic::NewYouTubeAppDock() return; if (youtubeAppDock) - delete youtubeAppDock; + RemoveDockWidget(youtubeAppDock->objectName()); + youtubeAppDock = new YouTubeAppDock(); } @@ -8507,7 +8508,8 @@ void OBSBasic::DeleteYouTubeAppDock() return; if (youtubeAppDock) - delete youtubeAppDock; + RemoveDockWidget(youtubeAppDock->objectName()); + youtubeAppDock = nullptr; } #endif diff --git a/UI/window-dock-youtube-app.cpp b/UI/window-dock-youtube-app.cpp index 643bda923..3fddba3f3 100644 --- a/UI/window-dock-youtube-app.cpp +++ b/UI/window-dock-youtube-app.cpp @@ -122,8 +122,7 @@ void YouTubeAppDock::AddYouTubeAppDock(const QString &title) this->setWindowTitle(title); this->setAllowedAreas(Qt::AllDockWidgetAreas); - OBSBasic::Get()->addDockWidget(Qt::RightDockWidgetArea, this); - actionYTAppDock = OBSBasic::Get()->AddDockWidget(this); + OBSBasic::Get()->AddDockWidget(this, Qt::RightDockWidgetArea); if (IsYTServiceSelected()) { const std::string url = InitYTUserUrl(); @@ -139,7 +138,7 @@ void YouTubeAppDock::AddYouTubeAppDock(const QString &title) } } else { this->setVisible(false); - actionYTAppDock->setVisible(false); + this->toggleViewAction()->setVisible(false); } } @@ -167,10 +166,7 @@ void YouTubeAppDock::CreateBrowserWidget(const std::string &url) void YouTubeAppDock::SetVisibleYTAppDockInMenu(bool visible) { - if (!actionYTAppDock) - return; - - actionYTAppDock->setVisible(visible); + toggleViewAction()->setVisible(visible); this->setVisible(visible); } diff --git a/UI/window-dock-youtube-app.hpp b/UI/window-dock-youtube-app.hpp index 3a45fc9b7..846e8f93e 100644 --- a/UI/window-dock-youtube-app.hpp +++ b/UI/window-dock-youtube-app.hpp @@ -50,5 +50,4 @@ private: QString channelId; QPointer dockBrowser; QCefCookieManager *cookieManager; // is not a Qt object - QPointer actionYTAppDock; };