From 65eac02cda6de8763888e4a4361717ef190f9dbf Mon Sep 17 00:00:00 2001 From: jp9000 Date: Tue, 3 Sep 2019 19:11:14 -0700 Subject: [PATCH] UI: Shut down browsers when browser docks hidden Shuts down the actual browsers internally when the browser docks are hidden by user. --- UI/CMakeLists.txt | 1 + UI/window-dock-browser.cpp | 20 ++++++++++++++++++++ UI/window-dock-browser.hpp | 2 ++ plugins/obs-browser | 2 +- 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 UI/window-dock-browser.cpp diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index 83c6faefc..a33f9e16d 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 000000000..08b5bdd82 --- /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 e2e0a9964..47e52cb58 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 7acf6de04..8580b491b 160000 --- a/plugins/obs-browser +++ b/plugins/obs-browser @@ -1 +1 @@ -Subproject commit 7acf6de042704ab577b4c4bc3db5ce4e768833f8 +Subproject commit 8580b491bc6471c3adc3503b944ca3c8b7e0db7e -- GitLab