diff options
author | bptato <nincsnevem662@gmail.com> | 2024-12-18 23:38:18 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2024-12-18 23:38:18 +0100 |
commit | 2625bb39b79bba914114e1ae37ce69a875e06786 (patch) | |
tree | 9e5d823e1aaa049abeee0d406130dca3b32d0fc1 /src | |
parent | e56ad3318cddf8c6df8a7af7682b2233229f3ad1 (diff) | |
download | chawan-2625bb39b79bba914114e1ae37ce69a875e06786.tar.gz |
pager: do not crash browser when deleting a crashed buffer
Diffstat (limited to 'src')
-rw-r--r-- | src/local/pager.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/local/pager.nim b/src/local/pager.nim index 349b9006..f1e1cd7d 100644 --- a/src/local/pager.nim +++ b/src/local/pager.nim @@ -3015,7 +3015,8 @@ proc acceptBuffers(pager: Pager) = stream.sclose() elif container.process != -1: # connecting to buffer process let i = pager.findProcMapItem(container.process) - pager.procmap.del(i) + if i != -1: + pager.procmap.del(i) elif (let item = pager.findConnectingContainer(container); item != nil): # connecting to URL let stream = item.stream @@ -3163,6 +3164,9 @@ proc handleError(pager: Pager; fd: int) = pager.consoleWrapper.container = nil pager.pollData.unregister(fd) pager.loader.unset(fd) + if container.iface != nil: + container.iface.stream.sclose() + container.iface = nil doAssert pager.consoleWrapper.container != nil pager.showConsole() else: |