diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-01-09 02:03:30 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-01-09 02:03:30 +0300 |
commit | f39aa170586e2d713488ad81eaec46893db0f0fe (patch) | |
tree | 25cd90510149e335c7ef66aa2bedc85a98eadae0 /source/blender/editors/space_text | |
parent | 70028e73dcbf4494c7584be3266268eb44c0ac4b (diff) |
Text Editor: Autocomplete suggestion wrap-around
D1716 by @someonewithpc
Diffstat (limited to 'source/blender/editors/space_text')
-rw-r--r-- | source/blender/editors/space_text/text_autocomplete.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/source/blender/editors/space_text/text_autocomplete.c b/source/blender/editors/space_text/text_autocomplete.c index 1637ae14892..2db2137784a 100644 --- a/source/blender/editors/space_text/text_autocomplete.c +++ b/source/blender/editors/space_text/text_autocomplete.c @@ -447,9 +447,15 @@ static int text_autocomplete_modal(bContext *C, wmOperator *op, const wmEvent *e texttool_suggest_select(texttool_suggest_first()); } else { - while (sel && sel != texttool_suggest_last() && sel->next && scroll--) { - texttool_suggest_select(sel->next); - sel = sel->next; + while (sel && scroll--) { + if (sel != texttool_suggest_last() && sel->next) { + texttool_suggest_select(sel->next); + sel = sel->next; + } + else { + texttool_suggest_select(texttool_suggest_first()); + sel = texttool_suggest_first(); + } } } text_pop_suggest_list(); @@ -471,9 +477,15 @@ static int text_autocomplete_modal(bContext *C, wmOperator *op, const wmEvent *e } else if (tools & TOOL_SUGG_LIST) { SuggItem *sel = texttool_suggest_selected(); - while (sel && sel != texttool_suggest_first() && sel->prev && scroll--) { - texttool_suggest_select(sel->prev); - sel = sel->prev; + while (sel && scroll--) { + if (sel != texttool_suggest_first() && sel->prev) { + texttool_suggest_select(sel->prev); + sel = sel->prev; + } + else { + texttool_suggest_select(texttool_suggest_last()); + sel = texttool_suggest_last(); + } } text_pop_suggest_list(); swallow = 1; |