evas_focus: adjust to recent EFL_EVENT_DEL changes

Summary:
when focus events have been emitted the smart parent was persistent, now
its not anymore, lets restore this behaviour

Depends on D6227

Reviewers: cedric, zmike, stefan_schmidt

Subscribers: #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6228
This commit is contained in:
Marcel Hollerbach 2018-05-29 12:24:53 -04:00 committed by Mike Blumenkrantz
parent 6551a954f0
commit 70ab165a6d
3 changed files with 7 additions and 7 deletions

View File

@ -153,7 +153,7 @@ _evas_object_unfocus(Evas_Object_Protected_Data *obj, Efl_Input_Device *seat)
}
void
_evas_focus_device_del_cb(void *data, const Efl_Event *ev)
_evas_focus_device_invalidate_cb(void *data, const Efl_Event *ev)
{
_evas_object_unfocus(data, ev->object);
}
@ -203,8 +203,8 @@ _efl_canvas_object_seat_focus_del(Eo *eo_obj,
return EINA_FALSE;
}
efl_event_callback_del(dev, EFL_EVENT_DEL,
_evas_focus_device_del_cb, obj);
efl_event_callback_del(dev, EFL_EVENT_INVALIDATE,
_evas_focus_device_invalidate_cb, obj);
_evas_object_unfocus(obj, dev);
return EINA_TRUE;
}
@ -269,7 +269,7 @@ _efl_canvas_object_seat_focus_add(Eo *eo_obj,
//In case intercept focus callback focused object we should return.
if (_current_focus_get(eo_obj, seat)) goto end;
efl_event_callback_add(seat, EFL_EVENT_DEL, _evas_focus_device_del_cb, obj);
efl_event_callback_add(seat, EFL_EVENT_INVALIDATE, _evas_focus_device_invalidate_cb, obj);
EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, Evas_Object_Events_Data, events)
events->focused_by_seats = eina_list_append(events->focused_by_seats, seat);

View File

@ -1262,8 +1262,8 @@ _efl_canvas_object_efl_object_invalidate(Eo *eo_obj, Evas_Object_Protected_Data
EINA_LIST_FREE (events->focused_by_seats, dev)
{
event_id = _evas_event_counter;
efl_event_callback_del(dev, EFL_EVENT_DEL,
_evas_focus_device_del_cb, obj);
efl_event_callback_del(dev, EFL_EVENT_INVALIDATE,
_evas_focus_device_invalidate_cb, obj);
if (edata) eina_hash_del_by_key(edata->focused_objects, &dev);
_evas_focus_dispatch_event(obj, dev, EINA_FALSE);
if ((obj->layer) && (obj->layer->evas))

View File

@ -1687,7 +1687,7 @@ Eina_Bool _efl_canvas_object_clip_set_block(Eo *eo_obj, Evas_Object_Protected_Da
Eina_Bool _efl_canvas_object_clip_unset_block(Eo *eo_obj, Evas_Object_Protected_Data *obj);
Eina_Bool _efl_canvas_object_efl_gfx_entity_size_set_block(Eo *eo_obj, Evas_Object_Protected_Data *obj, Evas_Coord w, Evas_Coord h, Eina_Bool internal);
void _evas_focus_device_del_cb(void *data, const Efl_Event *ev);
void _evas_focus_device_invalidate_cb(void *data, const Efl_Event *ev);
/* Node functions. */
void evas_canvas3d_node_traverse(Evas_Canvas3D_Node *from, Evas_Canvas3D_Node *to, Evas_Canvas3D_Node_Traverse_Type type, Eina_Bool skip, Evas_Canvas3D_Node_Func func, void *data);