To: vim_dev@googlegroups.com Subject: Patch 8.2.1353 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.1353 Problem: Crash when drawing double-wide character in terminal window. (Masato Nishihata) Solution: Check getcell() returning NULL. (issue #6141) Files: src/libvterm/src/screen.c, src/testdir/test_terminal.vim *** ../vim-8.2.1352/src/libvterm/src/screen.c 2020-06-21 17:57:28.017960419 +0200 --- src/libvterm/src/screen.c 2020-08-02 14:59:54.870171470 +0200 *************** *** 186,192 **** cell->chars[i] = 0; for(col = 1; col < info->width; col++) ! getcell(screen, pos.row, pos.col + col)->chars[0] = (uint32_t)-1; rect.start_row = pos.row; rect.end_row = pos.row+1; --- 186,197 ---- cell->chars[i] = 0; for(col = 1; col < info->width; col++) ! { ! ScreenCell *onecell = getcell(screen, pos.row, pos.col + col); ! if (onecell == NULL) ! break; ! onecell->chars[0] = (uint32_t)-1; ! } rect.start_row = pos.row; rect.end_row = pos.row+1; *** ../vim-8.2.1352/src/testdir/test_terminal.vim 2020-07-22 22:23:36.345323596 +0200 --- src/testdir/test_terminal.vim 2020-08-02 14:51:16.324169328 +0200 *************** *** 258,263 **** --- 258,278 ---- call delete('Xtext') endfunc + func Test_terminal_one_column() + " This creates a terminal, displays a double-wide character and makes the + " window one column wide. This used to cause a crash. + let width = &columns + botright vert term + let buf = bufnr('$') + call term_wait(buf, 100) + exe "set columns=" .. (width / 2) + redraw + call term_sendkeys(buf, "キ") + call term_wait(buf, 10) + exe "set columns=" .. width + exe buf . 'bwipe!' + endfunc + func Test_terminal_scroll() call writefile(range(1, 200), 'Xtext') if has('win32') *** ../vim-8.2.1352/src/version.c 2020-08-01 23:22:15.192256533 +0200 --- src/version.c 2020-08-02 15:04:22.164001825 +0200 *************** *** 756,757 **** --- 756,759 ---- { /* Add new patch number below this line */ + /**/ + 1353, /**/ -- hundred-and-one symptoms of being an internet addict: 107. When using your phone you forget that you don't have to use your keyboard. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///