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

Reply via email to