Forráskód Böngészése

UI: Shut down browsers when browser docks hidden

Shuts down the actual browsers internally when the browser docks are
hidden by user.
jp9000 6 éve
szülő
commit
65eac02cda
4 módosított fájl, 24 hozzáadás és 1 törlés
  1. 1 0
      UI/CMakeLists.txt
  2. 20 0
      UI/window-dock-browser.cpp
  3. 2 0
      UI/window-dock-browser.hpp
  4. 1 1
      plugins/obs-browser

+ 1 - 0
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

+ 20 - 0
UI/window-dock-browser.cpp

@@ -0,0 +1,20 @@
+#include "window-dock-browser.hpp"
+#include <QCloseEvent>
+
+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();
+	}
+}

+ 2 - 0
UI/window-dock-browser.hpp

@@ -18,4 +18,6 @@ public:
 		setWidget(widget_);
 		cefWidget.reset(widget_);
 	}
+
+	void closeEvent(QCloseEvent *event) override;
 };

+ 1 - 1
plugins/obs-browser

@@ -1 +1 @@
-Subproject commit 7acf6de042704ab577b4c4bc3db5ce4e768833f8
+Subproject commit 8580b491bc6471c3adc3503b944ca3c8b7e0db7e