From 1948bf0d077a14a487bafc47da393532ed04c0e4 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 19 Aug 2019 13:38:15 -0400 Subject: [PATCH] elm/hoversel: avoid calling api functions on null hoversel objects the hoversel must be created before it can be shown, and its internal hover object may be destroyed when it is hidden @fix Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D9631 --- src/lib/elementary/elc_hoversel.c | 3 ++- src/lib/elementary/elm_entry.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/elc_hoversel.c b/src/lib/elementary/elc_hoversel.c index b882b87833..dfdb638892 100644 --- a/src/lib/elementary/elc_hoversel.c +++ b/src/lib/elementary/elc_hoversel.c @@ -678,7 +678,8 @@ _elm_hoversel_efl_gfx_entity_visible_set(Eo *obj, Elm_Hoversel_Data *sd, Eina_Bo return; efl_gfx_entity_visible_set(efl_super(obj, MY_CLASS), vis); - efl_gfx_entity_visible_set(sd->hover, vis); + if (sd->hover) + efl_gfx_entity_visible_set(sd->hover, vis); } EOLIAN static void diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index 1fa1a9096a..94ce3c5391 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c @@ -1811,8 +1811,8 @@ _menu_call(Evas_Object *obj) if (sd->hoversel) { _hoversel_position(obj); - evas_object_show(sd->hoversel); elm_hoversel_hover_begin(sd->hoversel); + evas_object_show(sd->hoversel); } if (!_elm_config->desktop_entry)