From f1bd2c1dd9d7b0de0a291c690d828a112f8b6cae Mon Sep 17 00:00:00 2001 From: erw7 Date: Fri, 31 Jul 2020 01:29:02 +0900 Subject: ui: fix problem with the popupmenu when rightleft is set fixes #12032 --- src/nvim/ui_compositor.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/nvim/ui_compositor.c b/src/nvim/ui_compositor.c index e582d8f859..bc7fee7e96 100644 --- a/src/nvim/ui_compositor.c +++ b/src/nvim/ui_compositor.c @@ -311,6 +311,9 @@ ScreenGrid *ui_comp_mouse_focus(int row, int col) static void compose_line(Integer row, Integer startcol, Integer endcol, LineFlags flags) { + // If rightleft is set, startcol may be -1. In such cases, the assertions + // will fail because no overlap is found. Adjust startcol to prevent it. + startcol = MAX(startcol, 0); // in case we start on the right half of a double-width char, we need to // check the left half. But skip it in output if it wasn't doublewidth. int skipstart = 0, skipend = 0; -- cgit