forked from enlightenment/efl
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:
parent
6551a954f0
commit
70ab165a6d
|
@ -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);
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue