From: Rob Bradford <[email protected]>

If the shift modifier is active then we don't make the cursor and the
anchor the same and as a result we develop a selection in the direction
that the arrow key gets pressed in.

https://bugs.freedesktop.org/show_bug.cgi?id=66802
---
 clients/editor.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/clients/editor.c b/clients/editor.c
index 7e69403..1300ccf 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -1141,7 +1141,8 @@ key_handler(struct window *window,
                        new_char = utf8_prev_char(entry->text, entry->text + 
entry->cursor);
                        if (new_char != NULL) {
                                entry->cursor = new_char - entry->text;
-                               entry->anchor = entry->cursor;
+                               if (!(input_get_modifiers(input) & 
MOD_SHIFT_MASK))
+                                       entry->anchor = entry->cursor;
                                widget_schedule_redraw(entry->widget);
                        }
                        break;
@@ -1151,7 +1152,8 @@ key_handler(struct window *window,
                        new_char = utf8_next_char(entry->text + entry->cursor);
                        if (new_char != NULL) {
                                entry->cursor = new_char - entry->text;
-                               entry->anchor = entry->cursor;
+                               if (!(input_get_modifiers(input) & 
MOD_SHIFT_MASK))
+                                       entry->anchor = entry->cursor;
                                widget_schedule_redraw(entry->widget);
                        }
                        break;
-- 
1.8.3.1

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to