diff options
Diffstat (limited to 'src/lib/elm_win.c')
-rw-r--r-- | src/lib/elm_win.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 900a0afe4..70f5392b1 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -2713,15 +2713,18 @@ _elm_win_focus_highlight_init(Elm_Win_Data *sd) } sd->focus_highlight.prev.target = NULL; - sd->focus_highlight.fobj = edje_object_add(sd->evas); sd->focus_highlight.theme_changed = EINA_TRUE; + if (!sd->focus_highlight.fobj) + { + sd->focus_highlight.fobj = edje_object_add(sd->evas); + edje_object_signal_callback_add(sd->focus_highlight.fobj, + "elm,action,focus,hide,end", "*", + _elm_win_focus_highlight_hide, NULL); + edje_object_signal_callback_add(sd->focus_highlight.fobj, + "elm,action,focus,anim,end", "*", + _elm_win_focus_highlight_anim_end, sd->obj); + } - edje_object_signal_callback_add(sd->focus_highlight.fobj, - "elm,action,focus,hide,end", "*", - _elm_win_focus_highlight_hide, NULL); - edje_object_signal_callback_add(sd->focus_highlight.fobj, - "elm,action,focus,anim,end", "*", - _elm_win_focus_highlight_anim_end, sd->obj); _elm_win_focus_highlight_reconfigure_job_start(sd); } |