about summary refs log tree commit diff stats
path: root/src/local/client.nim
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-03-12 14:30:19 +0100
committerbptato <nincsnevem662@gmail.com>2024-03-12 14:30:19 +0100
commit0ce77eeb07b40f1c664308b7029474d52142afe8 (patch)
tree24da0a4d63db2f5514036c9d3ebbf82982f9df46 /src/local/client.nim
parent9d6261f3e32aada6d7bac6b00ec53088968f77e1 (diff)
downloadchawan-0ce77eeb07b40f1c664308b7029474d52142afe8.tar.gz
pager: fix replacement logic
This is what the original replacement logic was supposed to do, except
it was broken. The previous fix might have been worse than the original
bug. Now we do it like this:
* if needed, replace buffer in gotoURL
* deleteContainer swaps back the buffer it replaced, if it still exists
* on connection success, kill the buffer we replaced
Diffstat (limited to 'src/local/client.nim')
-rw-r--r--src/local/client.nim1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/local/client.nim b/src/local/client.nim
index df8491fb..0d1bf063 100644
--- a/src/local/client.nim
+++ b/src/local/client.nim
@@ -744,6 +744,7 @@ proc clearConsole(client: Client) =
   let replacement = pager.readPipe0("text/plain", CHARSET_UNKNOWN, pipefd[0],
     url, ConsoleTitle, canreinterpret = false)
   replacement.replace = client.consoleWrapper.container
+  pager.replace(client.consoleWrapper.container, replacement)
   client.consoleWrapper.container = replacement
   let console = client.consoleWrapper.console
   console.err.close()