Fix on creation IME update not being applied because render data was not yet set

This commit is contained in:
Kovid Goyal 2021-11-28 22:57:09 +05:30
parent 5561aa1d37
commit b28811846a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -564,12 +564,13 @@ class Window:
current_pty_size = ( current_pty_size = (
self.screen.lines, self.screen.columns, self.screen.lines, self.screen.columns,
max(0, new_geometry.right - new_geometry.left), max(0, new_geometry.bottom - new_geometry.top)) max(0, new_geometry.right - new_geometry.left), max(0, new_geometry.bottom - new_geometry.top))
update_ime_position = False
if current_pty_size != self.last_reported_pty_size: if current_pty_size != self.last_reported_pty_size:
get_boss().child_monitor.resize_pty(self.id, *current_pty_size) get_boss().child_monitor.resize_pty(self.id, *current_pty_size)
if not self.pty_resized_once: if not self.pty_resized_once:
self.pty_resized_once = True self.pty_resized_once = True
self.child.mark_terminal_ready() self.child.mark_terminal_ready()
update_ime_position_for_window(self.id) update_ime_position = True
self.last_reported_pty_size = current_pty_size self.last_reported_pty_size = current_pty_size
else: else:
mark_os_window_dirty(self.os_window_id) mark_os_window_dirty(self.os_window_id)
@ -577,6 +578,8 @@ class Window:
self.geometry = g = new_geometry self.geometry = g = new_geometry
set_window_render_data(self.os_window_id, self.tab_id, self.id, sg.xstart, sg.ystart, sg.dx, sg.dy, self.screen, *g[:4]) set_window_render_data(self.os_window_id, self.tab_id, self.id, sg.xstart, sg.ystart, sg.dx, sg.dy, self.screen, *g[:4])
self.update_effective_padding() self.update_effective_padding()
if update_ime_position:
update_ime_position_for_window(self.id, True)
def contains(self, x: int, y: int) -> bool: def contains(self, x: int, y: int) -> bool:
g = self.geometry g = self.geometry