aboutsummaryrefslogtreecommitdiff
path: root/vis-modes.c
diff options
context:
space:
mode:
Diffstat (limited to 'vis-modes.c')
-rw-r--r--vis-modes.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/vis-modes.c b/vis-modes.c
index 6fd05b7..d6ea134 100644
--- a/vis-modes.c
+++ b/vis-modes.c
@@ -201,7 +201,8 @@ static void vis_mode_visual_line_enter(Vis *vis, Mode *old) {
static void vis_mode_visual_line_leave(Vis *vis, Mode *new) {
if (!new->visual) {
- window_selection_save(vis->win);
+ if (!vis->action.op)
+ window_selection_save(vis->win);
view_selections_clear_all(vis->win->view);
} else {
view_cursor_to(vis->win->view, view_cursor_get(vis->win->view));
@@ -210,7 +211,8 @@ static void vis_mode_visual_line_leave(Vis *vis, Mode *new) {
static void vis_mode_visual_leave(Vis *vis, Mode *new) {
if (!new->visual) {
- window_selection_save(vis->win);
+ if (!vis->action.op)
+ window_selection_save(vis->win);
view_selections_clear_all(vis->win->view);
}
}