summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Williams <andy@andywilliams.me>2017-05-23 23:03:08 +0100
committerAndy Williams <andy@andywilliams.me>2017-05-23 23:03:08 +0100
commit60584015903cf2ec4f82c68e6dcf01467f256e55 (patch)
tree8035d793b132b1780081baa1269375792e6bb3f3
parent4f5ea8f3b75e2d81d7ad743c527bb905458ae8ad (diff)
downloadefl-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.c10
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