diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index 83c6faefce758383f53b52cd4cf31304b7e35aaa..a33f9e16d2b8546d6a214d44813c44edec437423 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -146,6 +146,7 @@ if(BROWSER_AVAILABLE_INTERNAL) list(APPEND obs_PLATFORM_SOURCES obf.c auth-oauth.cpp + window-dock-browser.cpp window-extra-browsers.cpp ) list(APPEND obs_PLATFORM_HEADERS diff --git a/UI/window-dock-browser.cpp b/UI/window-dock-browser.cpp new file mode 100644 index 0000000000000000000000000000000000000000..08b5bdd8228c272564313a1b6dc7847dc22bdb25 --- /dev/null +++ b/UI/window-dock-browser.cpp @@ -0,0 +1,20 @@ +#include "window-dock-browser.hpp" +#include + +void BrowserDock::closeEvent(QCloseEvent *event) +{ + OBSDock::closeEvent(event); + + if (!event->isAccepted()) { + return; + } + + static int panel_version = -1; + if (panel_version == -1) { + panel_version = obs_browser_qcef_version(); + } + + if (panel_version >= 2) { + cefWidget->closeBrowser(); + } +} diff --git a/UI/window-dock-browser.hpp b/UI/window-dock-browser.hpp index e2e0a996453ea0742280f704a0b0a0b63387d778..47e52cb58ddf98b433b8a9141785e327a2a482d4 100644 --- a/UI/window-dock-browser.hpp +++ b/UI/window-dock-browser.hpp @@ -18,4 +18,6 @@ public: setWidget(widget_); cefWidget.reset(widget_); } + + void closeEvent(QCloseEvent *event) override; }; diff --git a/plugins/obs-browser b/plugins/obs-browser index 7acf6de042704ab577b4c4bc3db5ce4e768833f8..8580b491bc6471c3adc3503b944ca3c8b7e0db7e 160000 --- a/plugins/obs-browser +++ b/plugins/obs-browser @@ -1 +1 @@ -Subproject commit 7acf6de042704ab577b4c4bc3db5ce4e768833f8 +Subproject commit 8580b491bc6471c3adc3503b944ca3c8b7e0db7e