diff --git a/src/lib/elementary/elm_code_widget.c b/src/lib/elementary/elm_code_widget.c index 1ce0ffa99c..fc20eac6ec 100644 --- a/src/lib/elementary/elm_code_widget.c +++ b/src/lib/elementary/elm_code_widget.c @@ -270,7 +270,7 @@ _elm_code_widget_fill_cursor(Elm_Code_Widget *widget, unsigned int number, int g pd = efl_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); - if (pd->editable && pd->focussed && pd->cursor_line == number) + if (pd->visible && pd->editable && pd->focussed && pd->cursor_line == number) { if (pd->cursor_col + gutter - 1 >= (unsigned int) w) return; @@ -564,6 +564,7 @@ _elm_code_widget_show_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_ pd = efl_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); + pd->visible = EINA_TRUE; if (pd->cursor_rect) evas_object_show(pd->cursor_rect); } @@ -577,6 +578,7 @@ _elm_code_widget_hidden_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EIN pd = efl_data_scope_get(widget, ELM_CODE_WIDGET_CLASS); + pd->visible = EINA_FALSE; if (pd->cursor_rect) evas_object_hide(pd->cursor_rect); } diff --git a/src/lib/elementary/elm_code_widget_private.h b/src/lib/elementary/elm_code_widget_private.h index d9e071c246..4e050a799b 100644 --- a/src/lib/elementary/elm_code_widget_private.h +++ b/src/lib/elementary/elm_code_widget_private.h @@ -24,7 +24,7 @@ typedef struct unsigned int cursor_line, cursor_col; Evas_Object *cursor_rect; - Eina_Bool editable, focussed; + Eina_Bool visible, editable, focussed; Eina_Bool show_line_numbers; unsigned int line_width_marker, tabstop; Eina_Bool show_whitespace, tab_inserts_spaces;