hi, seoz.

I don't understand why "ev->button != 1" is required in the mouse callbacks.



+             void *event_info)
 {
+   Evas_Event_Mouse_Up *ev = event_info;
+
+   if (ev->button != 1) return;            
}


What does it intended for?



------------------------------------

-Regards, Hermet-

-----Original Message-----
From: "Enlightenment SVN"<[email protected]> 
To: <[email protected]>; 
Cc: 
Sent: 2012-11-14 (수) 19:49:54
Subject: E SVN: seoz trunk/elementary/src/lib

Log:
elm image, photo, plug, segment_control, thumb: Check button type and on_hold 
flag on mouse_down/up.

Author:       seoz
Date:         2012-11-14 02:49:54 -0800 (Wed, 14 Nov 2012)
New Revision: 79284
Trac:         http://trac.enlightenment.org/e/changeset/79284

Modified:
  trunk/elementary/src/lib/elm_image.c trunk/elementary/src/lib/elm_photo.c 
trunk/elementary/src/lib/elm_plug.c 
trunk/elementary/src/lib/elm_segment_control.c 
trunk/elementary/src/lib/elm_thumb.c 

Modified: trunk/elementary/src/lib/elm_image.c
===================================================================
--- trunk/elementary/src/lib/elm_image.c        2012-11-14 10:49:51 UTC (rev 
79283)
+++ trunk/elementary/src/lib/elm_image.c        2012-11-14 10:49:54 UTC (rev 
79284)
@@ -42,8 +42,13 @@
 _on_mouse_up(void *data,
              Evas *e __UNUSED__,
              Evas_Object *obj __UNUSED__,
-             void *event_info __UNUSED__)
+             void *event_info)
 {
+   Evas_Event_Mouse_Up *ev = event_info;
+
+   if (ev->button != 1) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+
    evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
 }
 

Modified: trunk/elementary/src/lib/elm_photo.c
===================================================================
--- trunk/elementary/src/lib/elm_photo.c        2012-11-14 10:49:51 UTC (rev 
79283)
+++ trunk/elementary/src/lib/elm_photo.c        2012-11-14 10:49:54 UTC (rev 
79284)
@@ -172,10 +172,13 @@
             Evas_Object *icon,
             void *event_info __UNUSED__)
 {
+   Evas_Event_Mouse_Down *ev = event_info;
+
    ELM_PHOTO_DATA_GET(data, sd);
 
+   if (ev->button != 1) return;
+
    if (sd->long_press_timer) ecore_timer_del(sd->long_press_timer);
-
    /* FIXME: Hard coded timeout */
    sd->long_press_timer = ecore_timer_add(0.7, _long_press_cb, data);
    evas_object_event_callback_add
@@ -188,8 +191,12 @@
           Evas_Object *obj __UNUSED__,
           void *event_info __UNUSED__)
 {
+   Evas_Event_Mouse_Up *ev = event_info;
    ELM_PHOTO_DATA_GET(data, sd);
 
+   if (ev->button != 1) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+
    if (sd->long_press_timer)
      {
         ecore_timer_del(sd->long_press_timer);

Modified: trunk/elementary/src/lib/elm_plug.c
===================================================================
--- trunk/elementary/src/lib/elm_plug.c 2012-11-14 10:49:51 UTC (rev 79283)
+++ trunk/elementary/src/lib/elm_plug.c 2012-11-14 10:49:54 UTC (rev 79284)
@@ -54,8 +54,13 @@
 _on_mouse_up(void *data,
              Evas *e __UNUSED__,
              Evas_Object *obj __UNUSED__,
-             void *event_info __UNUSED__)
+             void *event_info)
 {
+   Evas_Event_Mouse_Up *ev = event_info;
+
+   if (ev->button != 1) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+
    evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
 }
 

Modified: trunk/elementary/src/lib/elm_segment_control.c
===================================================================
--- trunk/elementary/src/lib/elm_segment_control.c      2012-11-14 10:49:51 UTC 
(rev 79283)
+++ trunk/elementary/src/lib/elm_segment_control.c      2012-11-14 10:49:54 UTC 
(rev 79284)
@@ -311,15 +311,15 @@
              Evas_Object *obj __UNUSED__,
              void *event_info)
 {
-   Elm_Segment_Item *it;
-   Evas_Event_Mouse_Up *ev;
+   Elm_Segment_Item *it = data;
+   Evas_Event_Mouse_Up *ev = event_info;
    Evas_Coord x, y, w, h;
 
-   it = data;
    ELM_SEGMENT_CONTROL_DATA_GET(WIDGET(it), sd);
 
+   if (ev->button != 1) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
    if (elm_widget_disabled_get(ELM_WIDGET_DATA(sd)->obj)) return;
-
    if (it == sd->selected_item) return;
 
    ev = event_info;
@@ -338,13 +338,13 @@
                Evas_Object *obj __UNUSED__,
                void *event_info __UNUSED__)
 {
-   Elm_Segment_Item *it;
+   Elm_Segment_Item *it = data;
+   Evas_Event_Mouse_Down *ev = event_info;
 
-   it = data;
    ELM_SEGMENT_CONTROL_DATA_GET(WIDGET(it), sd);
 
+   if (ev->button != 1) return;
    if (elm_widget_disabled_get(ELM_WIDGET_DATA(sd)->obj)) return;
-
    if (it == sd->selected_item) return;
 
    edje_object_signal_emit(VIEW(it), "elm,state,segment,pressed", "elm");

Modified: trunk/elementary/src/lib/elm_thumb.c
===================================================================
--- trunk/elementary/src/lib/elm_thumb.c        2012-11-14 10:49:51 UTC (rev 
79283)
+++ trunk/elementary/src/lib/elm_thumb.c        2012-11-14 10:49:54 UTC (rev 
79284)
@@ -54,12 +54,10 @@
    Elm_Thumb_Smart_Data *sd = data;
    Evas_Event_Mouse_Down *ev = event_info;
 
-   if (ev->button != 1)
-     return;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
-     sd->on_hold = EINA_TRUE;
-   else
-     sd->on_hold = EINA_FALSE;
+   if (ev->button != 1) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) sd->on_hold = 
EINA_TRUE;
+   else sd->on_hold = EINA_FALSE;
+
    if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
      evas_object_smart_callback_call(obj, SIG_CLICKED_DOUBLE, NULL);
    else
@@ -75,12 +73,10 @@
    Elm_Thumb_Smart_Data *sd = data;
    Evas_Event_Mouse_Up *ev = event_info;
 
-   if (ev->button != 1)
-     return;
-   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
-     sd->on_hold = EINA_TRUE;
-   else
-     sd->on_hold = EINA_FALSE;
+   if (ev->button != 1) return;
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) sd->on_hold = 
EINA_TRUE;
+   else sd->on_hold = EINA_FALSE;
+
    if (!sd->on_hold)
      evas_object_smart_callback_call(obj, SIG_CLICKED, NULL);
 


------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
enlightenment-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-svn


------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to