patch 9.1.0856: mouseshape might be wrong on r and gr
Problem: mouseshape might be wrong on r and gr
Solution: call update_mousesape(-1) immediately
(Yee Cheng Chin)
Currently, when entering the "pretend" or single character replace modes
using `r` or `gr`, the mouse cursor doesn't immediately update until you
have re-focused the window or moved the mouse. This is because it's not
calling `update_mouseshape(-1)` immediately, so the cursor will only be
updated when it's called by other functions like `gui_mouse_focus`.
To fix this, just make sure we call this `update_mouseshape(-1)`. It's
what we do when entering Insert or Replace modes for example.
I noticed this when trying to figure out why MacVim CI is failing in
`Test_mouse_shape_after_cancelling_gr` (introduced in #12110), but I
think that test is only passing in Vim GTK CI by accident, since this
issue happens there too. I think the window captured focus after the
mouse `gr` call which triggers a mouse shape change but it probably
would have failed under other circumstances.
fixes: #14660
closes: #12157
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
2e48567007
commit
a1b654ff36
@ -417,6 +417,9 @@ normal_cmd_get_more_chars(
|
|||||||
State = MODE_REPLACE; // pretend Replace mode
|
State = MODE_REPLACE; // pretend Replace mode
|
||||||
#ifdef CURSOR_SHAPE
|
#ifdef CURSOR_SHAPE
|
||||||
ui_cursor_shape(); // show different cursor shape
|
ui_cursor_shape(); // show different cursor shape
|
||||||
|
#endif
|
||||||
|
#ifdef FEAT_MOUSESHAPE
|
||||||
|
update_mouseshape(-1);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if (lang && curbuf->b_p_iminsert == B_IMODE_LMAP)
|
if (lang && curbuf->b_p_iminsert == B_IMODE_LMAP)
|
||||||
|
|||||||
@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
856,
|
||||||
/**/
|
/**/
|
||||||
855,
|
855,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user