From 8a586f0fe60efffb6f5402e31ea527e67bbee48d Mon Sep 17 00:00:00 2001 From: Andrew nuark G Date: Sun, 5 Mar 2023 17:43:21 +0700 Subject: [PATCH] Well, now sockets actually detach from events, when changing screens --- lib/ui/pages/game_page.dart | 11 +++++++++++ lib/ui/pages/home_page.dart | 16 ++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/lib/ui/pages/game_page.dart b/lib/ui/pages/game_page.dart index b083893..38c3088 100644 --- a/lib/ui/pages/game_page.dart +++ b/lib/ui/pages/game_page.dart @@ -92,6 +92,17 @@ class _GamePageState extends State { }); } + @override + void dispose() { + socket.off("hello"); + socket.off("gameStatus"); + socket.off("leaveGameResponse"); + socket.off("chatResponse"); + socket.off("guessResponse"); + socket.off("guess"); + super.dispose(); + } + @override Widget build(BuildContext context) { final size = MediaQuery.of(context).size; diff --git a/lib/ui/pages/home_page.dart b/lib/ui/pages/home_page.dart index 21b41c1..07b5f17 100644 --- a/lib/ui/pages/home_page.dart +++ b/lib/ui/pages/home_page.dart @@ -76,10 +76,6 @@ class _HomePageState extends State { socket.on("joinGameResponse", (data) { bool ok = data[0]; if (ok) { - socket.off("hello"); - socket.off("update"); - socket.off("updateNeeded"); - socket.off("someoneJoinedGame"); Get.put(authData); Get.put(socket); Get.put(Game( @@ -98,6 +94,18 @@ class _HomePageState extends State { socket.emit("getUpdate"); } + @override + void dispose() { + socket.off("hello"); + socket.off("update"); + socket.off("updateNeeded"); + socket.off("removeGameResponse"); + socket.off("createGameResponse"); + socket.off("getUserDataResponse"); + socket.off("joinGameResponse"); + super.dispose(); + } + @override Widget build(BuildContext context) { final size = MediaQuery.of(context).size;