forked from enlightenment/efl
parent
c86d47ae59
commit
69a659fbb8
|
@ -23,7 +23,7 @@ _evas_post_event_callback_call(Evas *e)
|
||||||
{
|
{
|
||||||
if (!pc->func((void*)pc->data, e)) skip = 1;
|
if (!pc->func((void*)pc->data, e)) skip = 1;
|
||||||
}
|
}
|
||||||
EVAS_MEMPOOL_FREE(_mp_pc, pc);
|
EVAS_MEMPOOL_FREE(_mp_pc, pc);
|
||||||
}
|
}
|
||||||
_evas_unwalk(e);
|
_evas_unwalk(e);
|
||||||
}
|
}
|
||||||
|
@ -32,10 +32,10 @@ void
|
||||||
_evas_post_event_callback_free(Evas *e)
|
_evas_post_event_callback_free(Evas *e)
|
||||||
{
|
{
|
||||||
Evas_Post_Callback *pc;
|
Evas_Post_Callback *pc;
|
||||||
|
|
||||||
EINA_LIST_FREE(e->post_events, pc)
|
EINA_LIST_FREE(e->post_events, pc)
|
||||||
{
|
{
|
||||||
EVAS_MEMPOOL_FREE(_mp_pc, pc);
|
EVAS_MEMPOOL_FREE(_mp_pc, pc);
|
||||||
}
|
}
|
||||||
_evas_unwalk(e);
|
_evas_unwalk(e);
|
||||||
}
|
}
|
||||||
|
@ -48,15 +48,15 @@ evas_event_callback_list_post_free(Eina_Inlist **list)
|
||||||
/* MEM OK */
|
/* MEM OK */
|
||||||
for (l = *list; l;)
|
for (l = *list; l;)
|
||||||
{
|
{
|
||||||
Evas_Func_Node *fn;
|
Evas_Func_Node *fn;
|
||||||
|
|
||||||
fn = (Evas_Func_Node *)l;
|
fn = (Evas_Func_Node *)l;
|
||||||
l = l->next;
|
l = l->next;
|
||||||
if (fn->delete_me)
|
if (fn->delete_me)
|
||||||
{
|
{
|
||||||
*list = eina_inlist_remove(*list, EINA_INLIST_GET(fn));
|
*list = eina_inlist_remove(*list, EINA_INLIST_GET(fn));
|
||||||
EVAS_MEMPOOL_FREE(_mp_fn, fn);
|
EVAS_MEMPOOL_FREE(_mp_fn, fn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ evas_object_event_callback_clear(Evas_Object *obj)
|
||||||
if (!obj->callbacks->callbacks)
|
if (!obj->callbacks->callbacks)
|
||||||
{
|
{
|
||||||
EVAS_MEMPOOL_FREE(_mp_cb, obj->callbacks);
|
EVAS_MEMPOOL_FREE(_mp_cb, obj->callbacks);
|
||||||
obj->callbacks = NULL;
|
obj->callbacks = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ evas_event_callback_clear(Evas *e)
|
||||||
if (!e->callbacks->callbacks)
|
if (!e->callbacks->callbacks)
|
||||||
{
|
{
|
||||||
EVAS_MEMPOOL_FREE(_mp_cb, e->callbacks);
|
EVAS_MEMPOOL_FREE(_mp_cb, e->callbacks);
|
||||||
e->callbacks = NULL;
|
e->callbacks = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ evas_object_event_callback_all_del(Evas_Object *obj)
|
||||||
|
|
||||||
if (!obj->callbacks) return;
|
if (!obj->callbacks) return;
|
||||||
EINA_INLIST_FOREACH(obj->callbacks->callbacks, fn)
|
EINA_INLIST_FOREACH(obj->callbacks->callbacks, fn)
|
||||||
fn->delete_me = 1;
|
fn->delete_me = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -115,7 +115,7 @@ evas_event_callback_all_del(Evas *e)
|
||||||
|
|
||||||
if (!e->callbacks) return;
|
if (!e->callbacks) return;
|
||||||
EINA_INLIST_FOREACH(e->callbacks->callbacks, fn)
|
EINA_INLIST_FOREACH(e->callbacks->callbacks, fn)
|
||||||
fn->delete_me = 1;
|
fn->delete_me = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -136,25 +136,25 @@ evas_event_callback_call(Evas *e, Evas_Callback_Type type, void *event_info)
|
||||||
_evas_walk(e);
|
_evas_walk(e);
|
||||||
if (e->callbacks)
|
if (e->callbacks)
|
||||||
{
|
{
|
||||||
l_mod = &e->callbacks->callbacks;
|
l_mod = &e->callbacks->callbacks;
|
||||||
e->callbacks->walking_list++;
|
e->callbacks->walking_list++;
|
||||||
for (l = *l_mod; l; l = l->next)
|
for (l = *l_mod; l; l = l->next)
|
||||||
{
|
{
|
||||||
Evas_Func_Node *fn;
|
Evas_Func_Node *fn;
|
||||||
|
|
||||||
fn = (Evas_Func_Node *)l;
|
fn = (Evas_Func_Node *)l;
|
||||||
if ((fn->type == type) && (!fn->delete_me))
|
if ((fn->type == type) && (!fn->delete_me))
|
||||||
{
|
{
|
||||||
Evas_Event_Cb func = fn->func;
|
Evas_Event_Cb func = fn->func;
|
||||||
if (func)
|
if (func)
|
||||||
func(fn->data, e, event_info);
|
func(fn->data, e, event_info);
|
||||||
}
|
}
|
||||||
if (e->delete_me) break;
|
if (e->delete_me) break;
|
||||||
}
|
}
|
||||||
e->callbacks->walking_list--;
|
e->callbacks->walking_list--;
|
||||||
if (!e->callbacks->walking_list)
|
if (!e->callbacks->walking_list)
|
||||||
{
|
{
|
||||||
evas_event_callback_clear(e);
|
evas_event_callback_clear(e);
|
||||||
l_mod = NULL;
|
l_mod = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -179,58 +179,58 @@ evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void
|
||||||
_evas_walk(e);
|
_evas_walk(e);
|
||||||
if (obj->callbacks)
|
if (obj->callbacks)
|
||||||
{
|
{
|
||||||
l_mod = &obj->callbacks->callbacks;
|
l_mod = &obj->callbacks->callbacks;
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case EVAS_CALLBACK_MOUSE_DOWN:
|
case EVAS_CALLBACK_MOUSE_DOWN:
|
||||||
{
|
{
|
||||||
Evas_Event_Mouse_Down *ev = event_info;
|
Evas_Event_Mouse_Down *ev = event_info;
|
||||||
|
|
||||||
flags = ev->flags;
|
flags = ev->flags;
|
||||||
if (ev->flags & (EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK))
|
if (ev->flags & (EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK))
|
||||||
{
|
{
|
||||||
if (obj->last_mouse_down_counter < (e->last_mouse_down_counter - 1))
|
if (obj->last_mouse_down_counter < (e->last_mouse_down_counter - 1))
|
||||||
ev->flags &= ~(EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK);
|
ev->flags &= ~(EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK);
|
||||||
}
|
}
|
||||||
obj->last_mouse_down_counter = e->last_mouse_down_counter;
|
obj->last_mouse_down_counter = e->last_mouse_down_counter;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EVAS_CALLBACK_MOUSE_UP:
|
case EVAS_CALLBACK_MOUSE_UP:
|
||||||
{
|
{
|
||||||
Evas_Event_Mouse_Up *ev = event_info;
|
Evas_Event_Mouse_Up *ev = event_info;
|
||||||
|
|
||||||
flags = ev->flags;
|
flags = ev->flags;
|
||||||
if (ev->flags & (EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK))
|
if (ev->flags & (EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK))
|
||||||
{
|
{
|
||||||
if (obj->last_mouse_up_counter < (e->last_mouse_up_counter - 1))
|
if (obj->last_mouse_up_counter < (e->last_mouse_up_counter - 1))
|
||||||
ev->flags &= ~(EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK);
|
ev->flags &= ~(EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK);
|
||||||
}
|
}
|
||||||
obj->last_mouse_up_counter = e->last_mouse_up_counter;
|
obj->last_mouse_up_counter = e->last_mouse_up_counter;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
obj->callbacks->walking_list++;
|
obj->callbacks->walking_list++;
|
||||||
for (l = *l_mod; l; l = l->next)
|
for (l = *l_mod; l; l = l->next)
|
||||||
{
|
{
|
||||||
Evas_Func_Node *fn;
|
Evas_Func_Node *fn;
|
||||||
|
|
||||||
fn = (Evas_Func_Node *)l;
|
fn = (Evas_Func_Node *)l;
|
||||||
if ((fn->type == type) && (!fn->delete_me))
|
if ((fn->type == type) && (!fn->delete_me))
|
||||||
{
|
{
|
||||||
Evas_Object_Event_Cb func = fn->func;
|
Evas_Object_Event_Cb func = fn->func;
|
||||||
if (func)
|
if (func)
|
||||||
func(fn->data, obj->layer->evas, obj, event_info);
|
func(fn->data, obj->layer->evas, obj, event_info);
|
||||||
}
|
}
|
||||||
if (obj->delete_me) break;
|
if (obj->delete_me) break;
|
||||||
}
|
}
|
||||||
obj->callbacks->walking_list--;
|
obj->callbacks->walking_list--;
|
||||||
if (!obj->callbacks->walking_list)
|
if (!obj->callbacks->walking_list)
|
||||||
{
|
{
|
||||||
evas_object_event_callback_clear(obj);
|
evas_object_event_callback_clear(obj);
|
||||||
l_mod = NULL;
|
l_mod = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == EVAS_CALLBACK_MOUSE_DOWN)
|
if (type == EVAS_CALLBACK_MOUSE_DOWN)
|
||||||
{
|
{
|
||||||
|
@ -246,12 +246,12 @@ evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void
|
||||||
|
|
||||||
if (!((obj->no_propagate) && (l_mod) && (*l_mod)))
|
if (!((obj->no_propagate) && (l_mod) && (*l_mod)))
|
||||||
{
|
{
|
||||||
if (!obj->no_propagate)
|
if (!obj->no_propagate)
|
||||||
{
|
{
|
||||||
if ((obj->smart.parent) && (type != EVAS_CALLBACK_FREE) &&
|
if ((obj->smart.parent) && (type != EVAS_CALLBACK_FREE) &&
|
||||||
(type <= EVAS_CALLBACK_KEY_UP))
|
(type <= EVAS_CALLBACK_KEY_UP))
|
||||||
evas_object_event_callback_call(obj->smart.parent, type, event_info);
|
evas_object_event_callback_call(obj->smart.parent, type, event_info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_evas_unwalk(e);
|
_evas_unwalk(e);
|
||||||
}
|
}
|
||||||
|
@ -263,16 +263,16 @@ _callback_priority_cmp(const void *_a, const void *_b)
|
||||||
a = EINA_INLIST_CONTAINER_GET(_a, Evas_Func_Node);
|
a = EINA_INLIST_CONTAINER_GET(_a, Evas_Func_Node);
|
||||||
b = EINA_INLIST_CONTAINER_GET(_b, Evas_Func_Node);
|
b = EINA_INLIST_CONTAINER_GET(_b, Evas_Func_Node);
|
||||||
if (a->priority < b->priority)
|
if (a->priority < b->priority)
|
||||||
return -1;
|
return -1;
|
||||||
else
|
else
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
|
evas_object_event_callback_add(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
|
||||||
{
|
{
|
||||||
evas_object_event_callback_priority_add(obj, type,
|
evas_object_event_callback_priority_add(obj, type,
|
||||||
EVAS_CALLBACK_PRIORITY_DEFAULT, func, data);
|
EVAS_CALLBACK_PRIORITY_DEFAULT, func, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -294,7 +294,7 @@ evas_object_event_callback_priority_add(Evas_Object *obj, Evas_Callback_Type typ
|
||||||
if (!obj->callbacks) return;
|
if (!obj->callbacks) return;
|
||||||
EVAS_MEMPOOL_PREP(_mp_cb, obj->callbacks, Evas_Callbacks);
|
EVAS_MEMPOOL_PREP(_mp_cb, obj->callbacks, Evas_Callbacks);
|
||||||
}
|
}
|
||||||
|
|
||||||
EVAS_MEMPOOL_INIT(_mp_fn, "evas_func_node", Evas_Func_Node, 2048, );
|
EVAS_MEMPOOL_INIT(_mp_fn, "evas_func_node", Evas_Func_Node, 2048, );
|
||||||
fn = EVAS_MEMPOOL_ALLOC(_mp_fn, Evas_Func_Node);
|
fn = EVAS_MEMPOOL_ALLOC(_mp_fn, Evas_Func_Node);
|
||||||
if (!fn) return;
|
if (!fn) return;
|
||||||
|
@ -305,8 +305,8 @@ evas_object_event_callback_priority_add(Evas_Object *obj, Evas_Callback_Type typ
|
||||||
fn->priority = priority;
|
fn->priority = priority;
|
||||||
|
|
||||||
obj->callbacks->callbacks =
|
obj->callbacks->callbacks =
|
||||||
eina_inlist_sorted_insert(obj->callbacks->callbacks, EINA_INLIST_GET(fn),
|
eina_inlist_sorted_insert(obj->callbacks->callbacks, EINA_INLIST_GET(fn),
|
||||||
_callback_priority_cmp);
|
_callback_priority_cmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
|
@ -325,17 +325,17 @@ evas_object_event_callback_del(Evas_Object *obj, Evas_Callback_Type type, Evas_O
|
||||||
|
|
||||||
EINA_INLIST_FOREACH(obj->callbacks->callbacks, fn)
|
EINA_INLIST_FOREACH(obj->callbacks->callbacks, fn)
|
||||||
{
|
{
|
||||||
if ((fn->func == func) && (fn->type == type) && (!fn->delete_me))
|
if ((fn->func == func) && (fn->type == type) && (!fn->delete_me))
|
||||||
{
|
{
|
||||||
void *tmp;
|
void *tmp;
|
||||||
|
|
||||||
tmp = fn->data;
|
tmp = fn->data;
|
||||||
fn->delete_me = 1;
|
fn->delete_me = 1;
|
||||||
obj->callbacks->deletions_waiting = 1;
|
obj->callbacks->deletions_waiting = 1;
|
||||||
if (!obj->callbacks->walking_list)
|
if (!obj->callbacks->walking_list)
|
||||||
evas_object_event_callback_clear(obj);
|
evas_object_event_callback_clear(obj);
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -356,17 +356,17 @@ evas_object_event_callback_del_full(Evas_Object *obj, Evas_Callback_Type type, E
|
||||||
|
|
||||||
EINA_INLIST_FOREACH(obj->callbacks->callbacks, fn)
|
EINA_INLIST_FOREACH(obj->callbacks->callbacks, fn)
|
||||||
{
|
{
|
||||||
if ((fn->func == func) && (fn->type == type) && (fn->data == data) && (!fn->delete_me))
|
if ((fn->func == func) && (fn->type == type) && (fn->data == data) && (!fn->delete_me))
|
||||||
{
|
{
|
||||||
void *tmp;
|
void *tmp;
|
||||||
|
|
||||||
tmp = fn->data;
|
tmp = fn->data;
|
||||||
fn->delete_me = 1;
|
fn->delete_me = 1;
|
||||||
obj->callbacks->deletions_waiting = 1;
|
obj->callbacks->deletions_waiting = 1;
|
||||||
if (!obj->callbacks->walking_list)
|
if (!obj->callbacks->walking_list)
|
||||||
evas_object_event_callback_clear(obj);
|
evas_object_event_callback_clear(obj);
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -375,7 +375,7 @@ EAPI void
|
||||||
evas_event_callback_add(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)
|
evas_event_callback_add(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)
|
||||||
{
|
{
|
||||||
evas_event_callback_priority_add(e, type, EVAS_CALLBACK_PRIORITY_DEFAULT,
|
evas_event_callback_priority_add(e, type, EVAS_CALLBACK_PRIORITY_DEFAULT,
|
||||||
func, data);
|
func, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -397,7 +397,7 @@ evas_event_callback_priority_add(Evas *e, Evas_Callback_Type type, Evas_Callback
|
||||||
if (!e->callbacks) return;
|
if (!e->callbacks) return;
|
||||||
EVAS_MEMPOOL_PREP(_mp_cb, e->callbacks, Evas_Callbacks);
|
EVAS_MEMPOOL_PREP(_mp_cb, e->callbacks, Evas_Callbacks);
|
||||||
}
|
}
|
||||||
|
|
||||||
EVAS_MEMPOOL_INIT(_mp_fn, "evas_func_node", Evas_Func_Node, 2048, );
|
EVAS_MEMPOOL_INIT(_mp_fn, "evas_func_node", Evas_Func_Node, 2048, );
|
||||||
fn = EVAS_MEMPOOL_ALLOC(_mp_fn, Evas_Func_Node);
|
fn = EVAS_MEMPOOL_ALLOC(_mp_fn, Evas_Func_Node);
|
||||||
if (!fn) return;
|
if (!fn) return;
|
||||||
|
@ -408,7 +408,7 @@ evas_event_callback_priority_add(Evas *e, Evas_Callback_Type type, Evas_Callback
|
||||||
fn->priority = priority;
|
fn->priority = priority;
|
||||||
|
|
||||||
e->callbacks->callbacks = eina_inlist_sorted_insert(e->callbacks->callbacks,
|
e->callbacks->callbacks = eina_inlist_sorted_insert(e->callbacks->callbacks,
|
||||||
EINA_INLIST_GET(fn), _callback_priority_cmp);
|
EINA_INLIST_GET(fn), _callback_priority_cmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void *
|
EAPI void *
|
||||||
|
@ -427,17 +427,17 @@ evas_event_callback_del(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func)
|
||||||
|
|
||||||
EINA_INLIST_FOREACH(e->callbacks->callbacks, fn)
|
EINA_INLIST_FOREACH(e->callbacks->callbacks, fn)
|
||||||
{
|
{
|
||||||
if ((fn->func == func) && (fn->type == type) && (!fn->delete_me))
|
if ((fn->func == func) && (fn->type == type) && (!fn->delete_me))
|
||||||
{
|
{
|
||||||
void *data;
|
void *data;
|
||||||
|
|
||||||
data = fn->data;
|
data = fn->data;
|
||||||
fn->delete_me = 1;
|
fn->delete_me = 1;
|
||||||
e->callbacks->deletions_waiting = 1;
|
e->callbacks->deletions_waiting = 1;
|
||||||
if (!e->callbacks->walking_list)
|
if (!e->callbacks->walking_list)
|
||||||
evas_event_callback_clear(e);
|
evas_event_callback_clear(e);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -458,17 +458,17 @@ evas_event_callback_del_full(Evas *e, Evas_Callback_Type type, Evas_Event_Cb fun
|
||||||
|
|
||||||
EINA_INLIST_FOREACH(e->callbacks->callbacks, fn)
|
EINA_INLIST_FOREACH(e->callbacks->callbacks, fn)
|
||||||
{
|
{
|
||||||
if ((fn->func == func) && (fn->type == type) && (fn->data == data) && (!fn->delete_me))
|
if ((fn->func == func) && (fn->type == type) && (fn->data == data) && (!fn->delete_me))
|
||||||
{
|
{
|
||||||
void *tmp;
|
void *tmp;
|
||||||
|
|
||||||
tmp = fn->data;
|
tmp = fn->data;
|
||||||
fn->delete_me = 1;
|
fn->delete_me = 1;
|
||||||
e->callbacks->deletions_waiting = 1;
|
e->callbacks->deletions_waiting = 1;
|
||||||
if (!e->callbacks->walking_list)
|
if (!e->callbacks->walking_list)
|
||||||
evas_event_callback_clear(e);
|
evas_event_callback_clear(e);
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -477,17 +477,17 @@ EAPI void
|
||||||
evas_post_event_callback_push(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)
|
evas_post_event_callback_push(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)
|
||||||
{
|
{
|
||||||
Evas_Post_Callback *pc;
|
Evas_Post_Callback *pc;
|
||||||
|
|
||||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||||
return;
|
return;
|
||||||
MAGIC_CHECK_END();
|
MAGIC_CHECK_END();
|
||||||
|
|
||||||
EVAS_MEMPOOL_INIT(_mp_pc, "evas_post_callback", Evas_Post_Callback, 64, );
|
EVAS_MEMPOOL_INIT(_mp_pc, "evas_post_callback", Evas_Post_Callback, 64, );
|
||||||
pc = EVAS_MEMPOOL_ALLOC(_mp_pc, Evas_Post_Callback);
|
pc = EVAS_MEMPOOL_ALLOC(_mp_pc, Evas_Post_Callback);
|
||||||
if (!pc) return;
|
if (!pc) return;
|
||||||
EVAS_MEMPOOL_PREP(_mp_pc, pc, Evas_Post_Callback);
|
EVAS_MEMPOOL_PREP(_mp_pc, pc, Evas_Post_Callback);
|
||||||
if (e->delete_me) return;
|
if (e->delete_me) return;
|
||||||
|
|
||||||
pc->func = func;
|
pc->func = func;
|
||||||
pc->data = data;
|
pc->data = data;
|
||||||
e->post_events = eina_list_prepend(e->post_events, pc);
|
e->post_events = eina_list_prepend(e->post_events, pc);
|
||||||
|
@ -498,11 +498,11 @@ evas_post_event_callback_remove(Evas *e, Evas_Object_Event_Post_Cb func)
|
||||||
{
|
{
|
||||||
Evas_Post_Callback *pc;
|
Evas_Post_Callback *pc;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
|
||||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||||
return;
|
return;
|
||||||
MAGIC_CHECK_END();
|
MAGIC_CHECK_END();
|
||||||
|
|
||||||
EINA_LIST_FOREACH(e->post_events, l, pc)
|
EINA_LIST_FOREACH(e->post_events, l, pc)
|
||||||
{
|
{
|
||||||
if (pc->func == func)
|
if (pc->func == func)
|
||||||
|
@ -518,11 +518,11 @@ evas_post_event_callback_remove_full(Evas *e, Evas_Object_Event_Post_Cb func, co
|
||||||
{
|
{
|
||||||
Evas_Post_Callback *pc;
|
Evas_Post_Callback *pc;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
|
||||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||||
return;
|
return;
|
||||||
MAGIC_CHECK_END();
|
MAGIC_CHECK_END();
|
||||||
|
|
||||||
EINA_LIST_FOREACH(e->post_events, l, pc)
|
EINA_LIST_FOREACH(e->post_events, l, pc)
|
||||||
{
|
{
|
||||||
if ((pc->func == func) && (pc->data == data))
|
if ((pc->func == func) && (pc->data == data))
|
||||||
|
|
Loading…
Reference in New Issue