# HG changeset patch # User Wuzzy # Date 1684956213 -7200 # Node ID 416bca0a172cd3767679ad6734ad598704677e75 # Parent 28b692ef6f15db73eaed4c155547da8238bf3944 Properly close chat after quit command diff -r 28b692ef6f15 -r 416bca0a172c hedgewars/uChat.pas --- a/hedgewars/uChat.pas Fri May 12 23:15:01 2023 +0200 +++ b/hedgewars/uChat.pas Wed May 24 21:23:33 2023 +0200 @@ -27,6 +27,7 @@ procedure freeModule; procedure ReloadLines; procedure CleanupInput; +procedure CloseChat; procedure AddChatString(s: shortstring); procedure DrawChat; procedure KeyPressChat(keysym: TSDL_Keysym); @@ -782,6 +783,13 @@ ResetKbd; end; +procedure CloseChat; +begin + SetLine(InputStr, '', true); + ResetCursor(); + CleanupInput(); +end; + procedure DelBytesFromInputStrBack(endIdx: integer; count: byte); var startIdx: integer; begin diff -r 28b692ef6f15 -r 416bca0a172c hedgewars/uCommandHandlers.pas --- a/hedgewars/uCommandHandlers.pas Fri May 12 23:15:01 2023 +0200 +++ b/hedgewars/uCommandHandlers.pas Wed May 24 21:23:33 2023 +0200 @@ -27,7 +27,7 @@ implementation uses uCommands, uTypes, uVariables, uIO, uDebug, uConsts, uScript, uUtils, SDLh, uWorld, uRandom, uCaptions - , uVisualGearsList, uGearsHedgehog + , uVisualGearsList, uGearsHedgehog, uChat {$IFDEF USE_VIDEO_RECORDING}, uVideoRec {$ENDIF}; var cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 0, 4, 5, 6, 15, 8, 8, 8, 8, 12, 13, 14); @@ -50,7 +50,7 @@ s:= s; // avoid compiler hint if (GameState = gsGame) then begin - isInChatMode:= false; + CloseChat; GameState:= gsConfirm; end else begin