From 9c636b231b432976d9d7c3044f9e488f0f7cedf3 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 18 Sep 2025 22:38:12 +0200 Subject: Fix bug showing lobby in game; Fix race condition/UB in scene transition --- client/gui/overlays/lobby/lobby.gd | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'client/gui/overlays/lobby') diff --git a/client/gui/overlays/lobby/lobby.gd b/client/gui/overlays/lobby/lobby.gd index 8c372c70..2b40cada 100644 --- a/client/gui/overlays/lobby/lobby.gd +++ b/client/gui/overlays/lobby/lobby.gd @@ -48,8 +48,9 @@ func _ready(): game.update_players.connect(update_players) initialize() game.data_updated.connect(initialize) - game.join_state_updated.connect(_on_game_join_state_updated) - _on_game_join_state_updated(game.join_state) + game.join_state_updated.connect(_update_visible) + game.in_lobby_updated.connect(_update_visible) + _update_visible(false) check_for_music() func initialize(): @@ -165,12 +166,8 @@ func _on_start_pressed(): game.mp.send_chat(game.my_player_id, start_msg) Sound.play_music("stop") # TODO: Game music enter -func _on_game_join_state_updated(state: Game.JoinState): - match state: - Game.JoinState.JOINED: - visible = true - Game.JoinState.SPECTATING: - visible = false +func _update_visible(_state: bool): + visible = game.in_lobby and game.join_state == Game.JoinState.JOINED func check_for_music(): if visible: -- cgit v1.2.3-70-g09d2