Fix various leaks due to method re-binding

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-02-20 02:35:30 +00:00
parent 12eb408c58
commit 16bbea0b59
7 changed files with 31 additions and 29 deletions

View file

@ -46,7 +46,7 @@ export default class ManageEventIndexDialog extends React.Component {
};
}
async updateCurrentRoom(room) {
updateCurrentRoom = async (room) => {
const eventIndex = EventIndexPeg.get();
const stats = await eventIndex.getStats();
let currentRoom = null;
@ -63,13 +63,13 @@ export default class ManageEventIndexDialog extends React.Component {
roomCount: roomCount,
currentRoom: currentRoom,
});
}
};
componentWillUnmount(): void {
const eventIndex = EventIndexPeg.get();
if (eventIndex !== null) {
eventIndex.removeListener("changedCheckpoint", this.updateCurrentRoom.bind(this));
eventIndex.removeListener("changedCheckpoint", this.updateCurrentRoom);
}
}
@ -83,7 +83,7 @@ export default class ManageEventIndexDialog extends React.Component {
const eventIndex = EventIndexPeg.get();
if (eventIndex !== null) {
eventIndex.on("changedCheckpoint", this.updateCurrentRoom.bind(this));
eventIndex.on("changedCheckpoint", this.updateCurrentRoom);
const stats = await eventIndex.getStats();
const roomStats = eventIndex.crawlingRooms();