From b91474c20b973a15aa8383ce05ff31d27d17da7a Mon Sep 17 00:00:00 2001 From: redphx <96280+redphx@users.noreply.github.com> Date: Wed, 13 Sep 2023 17:18:50 +0700 Subject: [PATCH] Hide Stream Settings dialog when opening Stream Menu --- better-xcloud.user.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/better-xcloud.user.js b/better-xcloud.user.js index 612fe5d..2fa6233 100644 --- a/better-xcloud.user.js +++ b/better-xcloud.user.js @@ -3099,9 +3099,14 @@ function injectStreamMenuButtons() { const $quickBar = document.querySelector('.better-xcloud-quick-settings-bar'); const $parent = $screen.parentElement; const hideQuickBarFunc = e => { - e.stopPropagation(); - if (e.target != $parent && e.target.id !== 'MultiTouchSurface' && !e.target.querySelector('#BabylonCanvasContainer-main')) { - return; + if (e) { + e.stopPropagation(); + if (e.target != $parent && e.target.id !== 'MultiTouchSurface' && !e.target.querySelector('#BabylonCanvasContainer-main')) { + return; + } + if (e.target.id === 'MultiTouchSurface') { + e.target.removeEventListener('touchstart', hideQuickBarFunc); + } } // Hide Quick settings bar @@ -3109,10 +3114,6 @@ function injectStreamMenuButtons() { $parent.removeEventListener('click', hideQuickBarFunc); $parent.removeEventListener('touchstart', hideQuickBarFunc); - - if (e.target.id === 'MultiTouchSurface') { - e.target.removeEventListener('touchstart', hideQuickBarFunc); - } } const observer = new MutationObserver(mutationList => { @@ -3212,6 +3213,8 @@ function injectStreamMenuButtons() { // Render stream badges const $menu = document.querySelector('div[class*=StreamMenu-module__menuContainer] > div[class*=Menu-module]'); $menu.appendChild(await StreamBadges.render()); + + hideQuickBarFunc(); }); }); });