Enlightenment CVS committal Author : devilhorns Project : e_modules Module : net
Dir : e_modules/net/src Modified Files: e_mod_gadcon.c e_mod_net.c e_mod_net.h Log Message: Fix mouse,in being sent multiple times by using edje signals, not evas_callbacks. Thanks rephorm :) =================================================================== RCS file: /cvs/e/e_modules/net/src/e_mod_gadcon.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_mod_gadcon.c 12 Feb 2007 21:23:07 -0000 1.2 +++ e_mod_gadcon.c 13 Feb 2007 08:37:13 -0000 1.3 @@ -29,19 +29,19 @@ if (!e_theme_edje_object_set(inst->o_net, "base/theme/modules/net", "modules/net/main")) edje_object_file_set(inst->o_net, buf, "modules/net/main"); + edje_object_signal_callback_add(inst->o_net, "e,action,mouse,in", "", + _cb_mouse_in, inst); + edje_object_signal_callback_add(inst->o_net, "e,action,mouse,out", "", + _cb_mouse_out, inst); evas_object_show(inst->o_net); gcc = e_gadcon_client_new(gc, name, id, style, inst->o_net); gcc->data = inst; inst->gcc = gcc; inst->timer = ecore_timer_add(0.5, _cb_poll, inst); - + evas_object_event_callback_add(inst->o_net, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down, inst); - evas_object_event_callback_add(inst->o_net, EVAS_CALLBACK_MOUSE_IN, - _cb_mouse_in, inst); - evas_object_event_callback_add(inst->o_net, EVAS_CALLBACK_MOUSE_OUT, - _cb_mouse_out, inst); cfg->instances = evas_list_append(cfg->instances, inst); return gcc; @@ -59,10 +59,10 @@ { evas_object_event_callback_del(inst->o_net, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down); - evas_object_event_callback_del(inst->o_net, EVAS_CALLBACK_MOUSE_IN, - _cb_mouse_in); - evas_object_event_callback_del(inst->o_net, EVAS_CALLBACK_MOUSE_OUT, - _cb_mouse_out); + edje_object_signal_callback_del(inst->o_net, "e,action,mouse,in", "", + _cb_mouse_in); + edje_object_signal_callback_del(inst->o_net, "e,action,mouse,out", "", + _cb_mouse_out); evas_object_del(inst->o_net); } E_FREE(inst); =================================================================== RCS file: /cvs/e/e_modules/net/src/e_mod_net.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- e_mod_net.c 13 Feb 2007 06:40:08 -0000 1.6 +++ e_mod_net.c 13 Feb 2007 08:37:13 -0000 1.7 @@ -90,12 +90,12 @@ ev = event; if ((ev->button == 1) && (!cfg->menu)) { - if (inst->popup_locked) - inst->popup_locked=0; - else - inst->popup_locked=1; + if (inst->popup_locked) + inst->popup_locked=0; + else + inst->popup_locked=1; } - if ((ev->button == 3) && (!cfg->menu)) + else if ((ev->button == 3) && (!cfg->menu)) { E_Menu *mn; E_Menu_Item *mi; @@ -125,7 +125,7 @@ } EAPI void -_cb_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event) +_cb_mouse_in(void *data, Evas_Object *obj, const char *emission, const char *source) { Instance *inst; Config_Item *ci; @@ -137,10 +137,10 @@ int layer = -1; int top, wx, wy, ww, wh; char buf[PATH_MAX]; - + inst = data; - if (inst->popup) return; - + if (inst->popup != NULL) return; + inst->popup = E_NEW(Popup, 1); ci = _config_item_get(inst->gcc->id); @@ -250,7 +250,7 @@ } EAPI void -_cb_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event) +_cb_mouse_out(void *data, Evas_Object *obj, const char *emission, const char *source) { Instance *inst; =================================================================== RCS file: /cvs/e/e_modules/net/src/e_mod_net.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_mod_net.h 11 Feb 2007 15:28:53 -0000 1.1 +++ e_mod_net.h 13 Feb 2007 08:37:13 -0000 1.2 @@ -3,7 +3,7 @@ EAPI int _cb_poll(void *data); EAPI void _cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event); -EAPI void _cb_mouse_in(void *data, Evas *evas, Evas_Object *obj, void *event); -EAPI void _cb_mouse_out(void *data, Evas *evas, Evas_Object *obj, void *event); +EAPI void _cb_mouse_in(void *data, Evas_Object *obj, const char *emission, const char *source); +EAPI void _cb_mouse_out(void *data, Evas_Object *obj, const char *emission, const char *source); #endif ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs