Re: [E-devel] [EGIT] [core/efl] master 01/03: evas mouse in/out/move event fix to remove "invalid move"

2017-07-17 Thread The Rasterman
On Sat, 15 Jul 2017 10:10:43 +0200 Davide Andreoli 
said:

> 2017-07-12 8:45 GMT+02:00 Carsten Haitzler :
> 
> > raster pushed a commit to branch master.
> >
> > http://git.enlightenment.org/core/efl.git/commit/?id=
> > ea7dd2a9c29b96d9bc648feccb1270b4788529d6
> >
> > commit ea7dd2a9c29b96d9bc648feccb1270b4788529d6
> > Author: Carsten Haitzler (Rasterman) 
> > Date:   Wed Jul 12 15:43:41 2017 +0900
> >
> > evas mouse in/out/move event fix to remove "invalid move"
> >
> > this should fix T5582 "properly" by emitting a move after an in only
> > if pointer x,y changed. this fixes rage and i hope still should handle
> > the original issue. let me know if it doesn't.
> >
> 
> This also fix mouse hide feature in epymc
> thanks for taking care of the issue, I really appreciate

no problems. just let us know about issues when they come up (e.g. in git) and
we should look into it. we don't WANT to break things. it just happens with all
the guts being changed about with eo/interfaces. :)

> > @fix
> > ---
> >  src/lib/evas/canvas/evas_events.c | 60 +++---
> > -
> >  1 file changed, 42 insertions(+), 18 deletions(-)
> >
> > diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_
> > events.c
> > index 82a040765c..e6e3efffc5 100644
> > --- a/src/lib/evas/canvas/evas_events.c
> > +++ b/src/lib/evas/canvas/evas_events.c
> > @@ -738,9 +738,13 @@ _evas_event_source_mouse_move_events(Evas_Object
> > *eo_obj, Evas *eo_e,
> >  ev->action = EFL_POINTER_ACTION_IN;
> >  evas_object_event_callback_call(eo_child, child,
> > EVAS_CALLBACK_MOUSE_IN, evt,
> >  event_id2,
> > EFL_EVENT_POINTER_IN);
> > -ev->action = EFL_POINTER_ACTION_MOVE;
> > -evas_object_event_callback_call(eo_child, child,
> > EVAS_CALLBACK_MOUSE_MOVE, evt,
> > -event_id2,
> > EFL_EVENT_POINTER_MOVE);
> > +if ((ev->cur.x != ev->prev.x) &&
> > +(ev->cur.y != ev->prev.y))
> > +  {
> > + ev->action = EFL_POINTER_ACTION_MOVE;
> > + evas_object_event_callback_call(eo_child,
> > child, EVAS_CALLBACK_MOUSE_MOVE, evt,
> > + event_id2,
> > EFL_EVENT_POINTER_MOVE);
> > +  }
> >  if (e->delete_me) break;
> >   }
> >  }
> > @@ -1224,9 +1228,13 @@ _evas_event_source_mouse_in_events(Evas_Object
> > *eo_obj, Evas *eo_e,
> >   ev->action = EFL_POINTER_ACTION_IN;
> >   evas_object_event_callback_call(eo_child, child,
> > EVAS_CALLBACK_MOUSE_IN, evt,
> >   event_id,
> > EFL_EVENT_POINTER_IN);
> > - ev->action = EFL_POINTER_ACTION_MOVE;
> > - evas_object_event_callback_call(eo_child, child,
> > EVAS_CALLBACK_MOUSE_MOVE, evt,
> > - event_id,
> > EFL_EVENT_POINTER_MOVE);
> > + if ((ev->cur.x != ev->prev.x) &&
> > + (ev->cur.y != ev->prev.y))
> > +   {
> > +  ev->action = EFL_POINTER_ACTION_MOVE;
> > +  evas_object_event_callback_call(eo_child, child,
> > EVAS_CALLBACK_MOUSE_MOVE, evt,
> > +  event_id,
> > EFL_EVENT_POINTER_MOVE);
> > +   }
> >   if (e->delete_me || e->is_frozen) break;
> >}
> >   }
> > @@ -1658,9 +1666,13 @@ _post_up_handle(Evas_Public_Data *e,
> > Efl_Input_Pointer *parent_ev,
> >ev->action = EFL_POINTER_ACTION_IN;
> >evas_object_event_callback_call(eo_obj_itr, obj_itr,
> > EVAS_CALLBACK_MOUSE_IN, evt,
> >event_id,
> > EFL_EVENT_POINTER_IN);
> > -  ev->action = EFL_POINTER_ACTION_MOVE;
> > -  evas_object_event_callback_call(eo_obj_itr, obj_itr,
> > EVAS_CALLBACK_MOUSE_MOVE, evt,
> > -  event_id,
> > EFL_EVENT_POINTER_MOVE);
> > +  if ((ev->cur.x != ev->prev.x) &&
> > +  (ev->cur.y != ev->prev.y))
> > +{
> > +   ev->action = EFL_POINTER_ACTION_MOVE;
> > +   evas_object_event_callback_call(eo_obj_itr,
> > obj_itr, EVAS_CALLBACK_MOUSE_MOVE, evt,
> > +   event_id,
> > EFL_EVENT_POINTER_MOVE);
> > +}
> >if ((obj_itr->proxy->is_proxy) &&
> >(obj_itr->proxy->src_events))
> > 

Re: [E-devel] [EGIT] [core/efl] master 01/03: evas mouse in/out/move event fix to remove "invalid move"

2017-07-15 Thread Davide Andreoli
2017-07-12 8:45 GMT+02:00 Carsten Haitzler :

> raster pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=
> ea7dd2a9c29b96d9bc648feccb1270b4788529d6
>
> commit ea7dd2a9c29b96d9bc648feccb1270b4788529d6
> Author: Carsten Haitzler (Rasterman) 
> Date:   Wed Jul 12 15:43:41 2017 +0900
>
> evas mouse in/out/move event fix to remove "invalid move"
>
> this should fix T5582 "properly" by emitting a move after an in only
> if pointer x,y changed. this fixes rage and i hope still should handle
> the original issue. let me know if it doesn't.
>

This also fix mouse hide feature in epymc
thanks for taking care of the issue, I really appreciate


>
> @fix
> ---
>  src/lib/evas/canvas/evas_events.c | 60 +++---
> -
>  1 file changed, 42 insertions(+), 18 deletions(-)
>
> diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_
> events.c
> index 82a040765c..e6e3efffc5 100644
> --- a/src/lib/evas/canvas/evas_events.c
> +++ b/src/lib/evas/canvas/evas_events.c
> @@ -738,9 +738,13 @@ _evas_event_source_mouse_move_events(Evas_Object
> *eo_obj, Evas *eo_e,
>  ev->action = EFL_POINTER_ACTION_IN;
>  evas_object_event_callback_call(eo_child, child,
> EVAS_CALLBACK_MOUSE_IN, evt,
>  event_id2,
> EFL_EVENT_POINTER_IN);
> -ev->action = EFL_POINTER_ACTION_MOVE;
> -evas_object_event_callback_call(eo_child, child,
> EVAS_CALLBACK_MOUSE_MOVE, evt,
> -event_id2,
> EFL_EVENT_POINTER_MOVE);
> +if ((ev->cur.x != ev->prev.x) &&
> +(ev->cur.y != ev->prev.y))
> +  {
> + ev->action = EFL_POINTER_ACTION_MOVE;
> + evas_object_event_callback_call(eo_child,
> child, EVAS_CALLBACK_MOUSE_MOVE, evt,
> + event_id2,
> EFL_EVENT_POINTER_MOVE);
> +  }
>  if (e->delete_me) break;
>   }
>  }
> @@ -1224,9 +1228,13 @@ _evas_event_source_mouse_in_events(Evas_Object
> *eo_obj, Evas *eo_e,
>   ev->action = EFL_POINTER_ACTION_IN;
>   evas_object_event_callback_call(eo_child, child,
> EVAS_CALLBACK_MOUSE_IN, evt,
>   event_id,
> EFL_EVENT_POINTER_IN);
> - ev->action = EFL_POINTER_ACTION_MOVE;
> - evas_object_event_callback_call(eo_child, child,
> EVAS_CALLBACK_MOUSE_MOVE, evt,
> - event_id,
> EFL_EVENT_POINTER_MOVE);
> + if ((ev->cur.x != ev->prev.x) &&
> + (ev->cur.y != ev->prev.y))
> +   {
> +  ev->action = EFL_POINTER_ACTION_MOVE;
> +  evas_object_event_callback_call(eo_child, child,
> EVAS_CALLBACK_MOUSE_MOVE, evt,
> +  event_id,
> EFL_EVENT_POINTER_MOVE);
> +   }
>   if (e->delete_me || e->is_frozen) break;
>}
>   }
> @@ -1658,9 +1666,13 @@ _post_up_handle(Evas_Public_Data *e,
> Efl_Input_Pointer *parent_ev,
>ev->action = EFL_POINTER_ACTION_IN;
>evas_object_event_callback_call(eo_obj_itr, obj_itr,
> EVAS_CALLBACK_MOUSE_IN, evt,
>event_id,
> EFL_EVENT_POINTER_IN);
> -  ev->action = EFL_POINTER_ACTION_MOVE;
> -  evas_object_event_callback_call(eo_obj_itr, obj_itr,
> EVAS_CALLBACK_MOUSE_MOVE, evt,
> -  event_id,
> EFL_EVENT_POINTER_MOVE);
> +  if ((ev->cur.x != ev->prev.x) &&
> +  (ev->cur.y != ev->prev.y))
> +{
> +   ev->action = EFL_POINTER_ACTION_MOVE;
> +   evas_object_event_callback_call(eo_obj_itr,
> obj_itr, EVAS_CALLBACK_MOUSE_MOVE, evt,
> +   event_id,
> EFL_EVENT_POINTER_MOVE);
> +}
>if ((obj_itr->proxy->is_proxy) &&
>(obj_itr->proxy->src_events))
>  _evas_event_source_mouse_in_events(eo_obj_itr, eo_e,
> evt, event_id);
> @@ -2287,9 +2299,13 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data
> *e, Efl_Input_Pointer_Da
> ev->action = EFL_POINTER_ACTION_IN;
> evas_object_event_callback_call(eo_obj, obj,
> EVAS_CALLBACK_MOUSE_IN, evt,
> event_id,
> EFL_EVENT_POINTER_IN);
> -   ev->action = 

[EGIT] [core/efl] master 01/03: evas mouse in/out/move event fix to remove "invalid move"

2017-07-12 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ea7dd2a9c29b96d9bc648feccb1270b4788529d6

commit ea7dd2a9c29b96d9bc648feccb1270b4788529d6
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Jul 12 15:43:41 2017 +0900

evas mouse in/out/move event fix to remove "invalid move"

this should fix T5582 "properly" by emitting a move after an in only
if pointer x,y changed. this fixes rage and i hope still should handle
the original issue. let me know if it doesn't.

@fix
---
 src/lib/evas/canvas/evas_events.c | 60 +++
 1 file changed, 42 insertions(+), 18 deletions(-)

diff --git a/src/lib/evas/canvas/evas_events.c 
b/src/lib/evas/canvas/evas_events.c
index 82a040765c..e6e3efffc5 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -738,9 +738,13 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, 
Evas *eo_e,
 ev->action = EFL_POINTER_ACTION_IN;
 evas_object_event_callback_call(eo_child, child, 
EVAS_CALLBACK_MOUSE_IN, evt,
 event_id2, 
EFL_EVENT_POINTER_IN);
-ev->action = EFL_POINTER_ACTION_MOVE;
-evas_object_event_callback_call(eo_child, child, 
EVAS_CALLBACK_MOUSE_MOVE, evt,
-event_id2, 
EFL_EVENT_POINTER_MOVE);
+if ((ev->cur.x != ev->prev.x) &&
+(ev->cur.y != ev->prev.y))
+  {
+ ev->action = EFL_POINTER_ACTION_MOVE;
+ evas_object_event_callback_call(eo_child, child, 
EVAS_CALLBACK_MOUSE_MOVE, evt,
+ event_id2, 
EFL_EVENT_POINTER_MOVE);
+  }
 if (e->delete_me) break;
  }
 }
@@ -1224,9 +1228,13 @@ _evas_event_source_mouse_in_events(Evas_Object *eo_obj, 
Evas *eo_e,
  ev->action = EFL_POINTER_ACTION_IN;
  evas_object_event_callback_call(eo_child, child, 
EVAS_CALLBACK_MOUSE_IN, evt,
  event_id, EFL_EVENT_POINTER_IN);
- ev->action = EFL_POINTER_ACTION_MOVE;
- evas_object_event_callback_call(eo_child, child, 
EVAS_CALLBACK_MOUSE_MOVE, evt,
- event_id, EFL_EVENT_POINTER_MOVE);
+ if ((ev->cur.x != ev->prev.x) &&
+ (ev->cur.y != ev->prev.y))
+   {
+  ev->action = EFL_POINTER_ACTION_MOVE;
+  evas_object_event_callback_call(eo_child, child, 
EVAS_CALLBACK_MOUSE_MOVE, evt,
+  event_id, 
EFL_EVENT_POINTER_MOVE);
+   }
  if (e->delete_me || e->is_frozen) break;
   }
  }
@@ -1658,9 +1666,13 @@ _post_up_handle(Evas_Public_Data *e, Efl_Input_Pointer 
*parent_ev,
   ev->action = EFL_POINTER_ACTION_IN;
   evas_object_event_callback_call(eo_obj_itr, obj_itr, 
EVAS_CALLBACK_MOUSE_IN, evt,
   event_id, 
EFL_EVENT_POINTER_IN);
-  ev->action = EFL_POINTER_ACTION_MOVE;
-  evas_object_event_callback_call(eo_obj_itr, obj_itr, 
EVAS_CALLBACK_MOUSE_MOVE, evt,
-  event_id, 
EFL_EVENT_POINTER_MOVE);
+  if ((ev->cur.x != ev->prev.x) &&
+  (ev->cur.y != ev->prev.y))
+{
+   ev->action = EFL_POINTER_ACTION_MOVE;
+   evas_object_event_callback_call(eo_obj_itr, obj_itr, 
EVAS_CALLBACK_MOUSE_MOVE, evt,
+   event_id, 
EFL_EVENT_POINTER_MOVE);
+}
   if ((obj_itr->proxy->is_proxy) &&
   (obj_itr->proxy->src_events))
 _evas_event_source_mouse_in_events(eo_obj_itr, eo_e, evt, 
event_id);
@@ -2287,9 +2299,13 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data 
*e, Efl_Input_Pointer_Da
ev->action = EFL_POINTER_ACTION_IN;
evas_object_event_callback_call(eo_obj, obj, 
EVAS_CALLBACK_MOUSE_IN, evt,
event_id, 
EFL_EVENT_POINTER_IN);
-   ev->action = EFL_POINTER_ACTION_MOVE;
-   evas_object_event_callback_call(eo_obj, obj, 
EVAS_CALLBACK_MOUSE_MOVE, evt,
-   event_id, 
EFL_EVENT_POINTER_MOVE);
+if ((ev->cur.x != ev->prev.x) &&
+(ev->cur.y != ev->prev.y))
+  {
+