diff --git a/src/libide/sourceview/ide-source-view-movements.c b/src/libide/sourceview/ide-source-view-movements.c index 636f8a66d9d4b7018e0334f45dc61013566a2f78..5ba2b7f8c7e3de3803c01a5e03ec45f1fb6bd6d0 100644 --- a/src/libide/sourceview/ide-source-view-movements.c +++ b/src/libide/sourceview/ide-source-view-movements.c @@ -319,6 +319,10 @@ ide_source_view_movements_previous_char (Movement *mv) { if (gtk_text_iter_starts_line (&mv->insert)) break; + + if (gtk_text_iter_compare (&mv->insert, &mv->selection) == 0) + gtk_text_iter_forward_char (&mv->selection); + gtk_text_iter_backward_char (&mv->insert); }