diff options
author | Andy Williams <andy@andywilliams.me> | 2017-05-23 23:03:08 +0100 |
---|---|---|
committer | Andy Williams <andy@andywilliams.me> | 2017-05-23 23:03:08 +0100 |
commit | 60584015903cf2ec4f82c68e6dcf01467f256e55 (patch) | |
tree | 8035d793b132b1780081baa1269375792e6bb3f3 | |
parent | 4f5ea8f3b75e2d81d7ad743c527bb905458ae8ad (diff) | |
download | efl-60584015903cf2ec4f82c68e6dcf01467f256e55.tar.gz |
elm_code: reduce race conditions in rendering cursor
This code is slowly getting neater as we get to the bottom of it
-rw-r--r-- | src/lib/elementary/elm_code_widget.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/elementary/elm_code_widget.c b/src/lib/elementary/elm_code_widget.c index a7bfb69807..8b46083c00 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 |