From 77faf011a6358502715d8fc1c0837f640250f42a Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Thu, 9 Oct 2025 17:23:11 +0200 Subject: [PATCH 1/2] frontend: Use Qt parent-child ownership in OAuth dialog By explicitly setting the OAuth dialog as the parent of the CEF widget, it will automatically by cleaned up as soon as the dialog is closed itself. This also detaches the destruction of the widget from the browser cleanup code. --- frontend/dialogs/OAuthLogin.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/dialogs/OAuthLogin.cpp b/frontend/dialogs/OAuthLogin.cpp index 64af6869ba7965..dd7d50bbc4a395 100644 --- a/frontend/dialogs/OAuthLogin.cpp +++ b/frontend/dialogs/OAuthLogin.cpp @@ -31,7 +31,7 @@ OAuthLogin::OAuthLogin(QWidget *parent, const std::string &url, bool token) : QD OBSBasic::InitBrowserPanelSafeBlock(); - cefWidget = cef->create_widget(nullptr, url, panel_cookies); + cefWidget = cef->create_widget(this, url, panel_cookies); if (!cefWidget) { fail = true; return; @@ -71,7 +71,9 @@ int OAuthLogin::exec() void OAuthLogin::reject() { #ifdef BROWSER_AVAILABLE - delete cefWidget; + if (cefWidget) { + cefWidget->closeBrowser(); + } #endif QDialog::reject(); } @@ -79,7 +81,9 @@ void OAuthLogin::reject() void OAuthLogin::accept() { #ifdef BROWSER_AVAILABLE - delete cefWidget; + if (cefWidget) { + cefWidget->closeBrowser(); + } #endif QDialog::accept(); } From 42159b43368f174d009ef4c51326a4ed665069cf Mon Sep 17 00:00:00 2001 From: PatTheMav Date: Thu, 16 Oct 2025 19:17:28 +0200 Subject: [PATCH 2/2] obs-browser: Update version to 2.26.3 --- plugins/obs-browser | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/obs-browser b/plugins/obs-browser index 4056a311780ef0..a776dd6a1a0ded 160000 --- a/plugins/obs-browser +++ b/plugins/obs-browser @@ -1 +1 @@ -Subproject commit 4056a311780ef0129ca099f1fb6e113ac3ed0032 +Subproject commit a776dd6a1a0ded4a8a723f2f572f3f8a9707f5a8