diff --git a/src/gui/html/js/dom.js b/src/gui/html/js/dom.js index 8d27275c..4403ec76 100644 --- a/src/gui/html/js/dom.js +++ b/src/gui/html/js/dom.js @@ -44,10 +44,8 @@ for (let i = 0; i < gameMenuItems.length; ++i) { if (installedGames.indexOf(gameMenuItems[i].getAttribute('value')) === -1) { gameMenuItems[i].setAttribute('disabled', true); - gameMenuItems[i].removeEventListener('click', onChangeGame); } else { gameMenuItems[i].removeAttribute('disabled'); - gameMenuItems[i].addEventListener('click', onChangeGame); } } }, @@ -62,7 +60,6 @@ gameSelect.removeChild(gameSelect.lastElementChild); } while (gameMenu.firstElementChild) { - gameMenu.firstElementChild.removeEventListener('click', onChangeGame); gameMenu.removeChild(gameMenu.firstElementChild); } gameTable.clear(); diff --git a/src/gui/html/js/events.js b/src/gui/html/js/events.js index 60ee0df9..6f8f25a4 100644 --- a/src/gui/html/js/events.js +++ b/src/gui/html/js/events.js @@ -107,13 +107,13 @@ function onOpenLogLocation(evt) { } function onChangeGame(evt) { /* Check that the selected game isn't the current one. */ - if (evt.target.className.indexOf('core-selected') !== -1) { + if (!evt.detail.isSelected) { return; } /* Send off a CEF query with the folder name of the new game. */ loot.Dialog.showProgress(loot.l10n.translate('Loading game data...')); - loot.query('changeGame', evt.currentTarget.getAttribute('value')).then((result) => { + loot.query('changeGame', evt.detail.item.getAttribute('value')).then((result) => { /* Filters should be re-applied on game change, except the conflicts filter. Don't need to deactivate the others beforehand. Strictly not deactivating the conflicts filter either, just resetting it's value. diff --git a/src/gui/html/js/init.js b/src/gui/html/js/init.js index abf8d7ff..c0640f46 100644 --- a/src/gui/html/js/init.js +++ b/src/gui/html/js/init.js @@ -68,6 +68,7 @@ document.getElementById('helpButton').addEventListener('click', onOpenReadme); document.getElementById('aboutButton').addEventListener('click', onShowAboutDialog); document.getElementById('quitButton').addEventListener('click', onQuit); + document.getElementById('gameMenu').addEventListener('core-select', onChangeGame); document.getElementById('updateMasterlistButton').addEventListener('click', onUpdateMasterlist); document.getElementById('sortButton').addEventListener('click', onSortPlugins); document.getElementById('applySortButton').addEventListener('click', onApplySort);