ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=60584015903cf2ec4f82c68e6dcf01467f256e55
commit 60584015903cf2ec4f82c68e6dcf01467f256e55 Author: Andy Williams <[email protected]> Date: Tue May 23 23:03:08 2017 +0100 elm_code: reduce race conditions in rendering cursor This code is slowly getting neater as we get to the bottom of it --- src/lib/elementary/elm_code_widget.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/elm_code_widget.c b/src/lib/elementary/elm_code_widget.c index a7bfb69..8b46083 100644 --- a/src/lib/elementary/elm_code_widget.c +++ b/src/lib/elementary/elm_code_widget.c @@ -1819,9 +1819,9 @@ _elm_code_widget_ensure_n_grid_rows(Elm_Code_Widget *widget, int rows) existing = eina_list_count(pd->grids); // trim unneeded rows in our rendering - if (rows + 1 < existing) + if (rows < existing) { - for (i = existing - rows + 1; i > 0; i--) + for (i = existing - rows; i > 0; i--) { grid = eina_list_data_get(eina_list_last(pd->grids)); evas_object_del(grid); @@ -1831,10 +1831,10 @@ _elm_code_widget_ensure_n_grid_rows(Elm_Code_Widget *widget, int rows) rows = existing; } - if (rows + 1 == existing) + if (rows == existing) return; - for (i = existing; i <= rows; i++) + for (i = existing; i < rows; i++) { grid = evas_object_textgrid_add(pd->gridbox); evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, 0.0); @@ -1851,6 +1851,8 @@ _elm_code_widget_ensure_n_grid_rows(Elm_Code_Widget *widget, int rows) evas_object_textgrid_font_set(grid, pd->font_name, pd->font_size * elm_config_scale_get()); } + + elm_box_recalculate(pd->gridbox); } static void --
