diff --git a/js/client-mainmenu.js b/js/client-mainmenu.js index ac06a58d8..fb4fb5a93 100644 --- a/js/client-mainmenu.js +++ b/js/client-mainmenu.js @@ -313,6 +313,7 @@ var handlerRoom = app.curSideRoom; if (!handlerRoom) { for (var roomid in app.rooms) { + if (!app.rooms[roomid]) continue; if (!app.rooms[roomid].handleTabComplete) continue; handlerRoom = app.rooms[roomid]; break; diff --git a/js/client.js b/js/client.js index e94b31f6c..ae56ac7b9 100644 --- a/js/client.js +++ b/js/client.js @@ -303,6 +303,9 @@ this.topbar = new Topbar({el: $('#header')}); this.addRoom(''); if (!this.down && $(window).width() >= 916) { + // make sure staff and upperstaff are first in room list + this.rooms.staff = undefined; + this.rooms.upperstaff = undefined; if (document.location.hostname === 'play.pokemonshowdown.com') { this.addRoom('rooms', null, true); var autojoin = (Tools.prefs('autojoin') || ''); @@ -1372,7 +1375,7 @@ // no room for this room } else if (!this.sideRoom) { for (var i in this.rooms) { - if (this.rooms[i].isSideRoom) { + if (this.rooms[i] && this.rooms[i].isSideRoom) { this.sideRoom = this.rooms[i]; } } @@ -1581,6 +1584,7 @@ var notificationCount = 0; for (var id in app.rooms) { + if (!app.rooms[id]) continue; if (app.rooms[id].notifications) notificationCount++; if (!id || id === 'teambuilder' || id === 'ladder') continue; var room = app.rooms[id]; @@ -2717,6 +2721,7 @@ for (var id in app.rooms) { if (!id || id === 'teambuilder' || id === 'ladder') continue; var room = app.rooms[id]; + if (!room) continue; var name = ' '+id+''; if (id === 'lobby') name = ' Lobby'; if (id.substr(0,7) === 'battle-') {