comparison src/channel.c @ 26466:d413104a94c8 v8.2.3763

patch 8.2.3763: when editing the cmdline a callback may cause a scroll up Commit: https://github.com/vim/vim/commit/e50507126f532a0b0ae65e201a6372b7ea5b0ccd Author: Bram Moolenaar <Bram@vim.org> Date: Thu Dec 9 10:51:05 2021 +0000 patch 8.2.3763: when editing the cmdline a callback may cause a scroll up Problem: When editing the command line a FocusLost callback may cause the screen to scroll up. Solution: Do not redraw at the last line but at the same place where the command line was before. (closes #9295)
author Bram Moolenaar <Bram@vim.org>
date Thu, 09 Dec 2021 12:00:05 +0100
parents b18f3b0f317c
children bce848ec8b1b
comparison
equal deleted inserted replaced
26465:1ff39af446ad 26466:d413104a94c8
3203 free_callback(&channel->ch_close_cb); 3203 free_callback(&channel->ch_close_cb);
3204 3204
3205 if (channel_need_redraw) 3205 if (channel_need_redraw)
3206 { 3206 {
3207 channel_need_redraw = FALSE; 3207 channel_need_redraw = FALSE;
3208 redraw_after_callback(TRUE); 3208 redraw_after_callback(TRUE, FALSE);
3209 } 3209 }
3210 3210
3211 if (!channel->ch_drop_never) 3211 if (!channel->ch_drop_never)
3212 // any remaining messages are useless now 3212 // any remaining messages are useless now
3213 for (part = PART_SOCK; part < PART_IN; ++part) 3213 for (part = PART_SOCK; part < PART_IN; ++part)
4685 } 4685 }
4686 4686
4687 if (channel_need_redraw) 4687 if (channel_need_redraw)
4688 { 4688 {
4689 channel_need_redraw = FALSE; 4689 channel_need_redraw = FALSE;
4690 redraw_after_callback(TRUE); 4690 redraw_after_callback(TRUE, FALSE);
4691 } 4691 }
4692 4692
4693 --safe_to_invoke_callback; 4693 --safe_to_invoke_callback;
4694 --recursive; 4694 --recursive;
4695 4695