From 378beb5e0459faf4fea19867722b305629d78a4c Mon Sep 17 00:00:00 2001 From: aiwang23 Date: Tue, 9 Dec 2025 16:30:58 +0800 Subject: [PATCH] Fix Linux crash when clearing screen after window resize --- termqt/terminal_buffer.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/termqt/terminal_buffer.py b/termqt/terminal_buffer.py index 5a9c2e7..762cf08 100644 --- a/termqt/terminal_buffer.py +++ b/termqt/terminal_buffer.py @@ -652,7 +652,7 @@ def __init__(self, # initialize a buffer to store all characters to display # define in _resize()_ as a deque - self._buffer = None + self._buffer:deque[list[None]] = None if QT_VERSION.startswith('6'): self._buffer_lock =QRecursiveMutex() else: @@ -1018,8 +1018,13 @@ def resize(self, row_len, col_len): self.row_len = row_len self.col_len = col_len - self._buffer = _new_buffer self._buffer_display_offset = len(self._buffer) - self.col_len + + for i in range(abs(self._buffer_display_offset)): + _new_buffer.append([None for x in range(row_len)]) + _new_wrap.append(False) + + self._buffer = _new_buffer self.update_scroll_position() self._line_wrapped_flags = _new_wrap