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);