On Sat, 15 Jul 2017 10:10:43 +0200 Davide Andreoli <d...@gurumeditation.it>
said:

> 2017-07-12 8:45 GMT+02:00 Carsten Haitzler <ras...@rasterman.com>:
> 
> > raster pushed a commit to branch master.
> >
> > http://git.enlightenment.org/core/efl.git/commit/?id=
> > ea7dd2a9c29b96d9bc648feccb1270b4788529d6
> >
> > commit ea7dd2a9c29b96d9bc648feccb1270b4788529d6
> > Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
> > 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))
> >                      _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))
> > +                          {
> > +                             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 ((obj->proxy->is_proxy) &&
> >                             (obj->proxy->src_events))
> >                           _evas_event_source_mouse_in_events(eo_obj,
> > eo_e, evt, event_id);
> > @@ -2426,9 +2442,13 @@ nogrep:
> >                    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))
> > +                    {
> > +                       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 ((obj->proxy->is_proxy) && (obj->proxy->src_events))
> >                      _evas_event_source_mouse_in_events(eo_obj, eo_e,
> > evt, event_id);
> >                    if (e->delete_me) break;
> > @@ -2561,9 +2581,13 @@ _canvas_event_feed_mouse_in_internal(Evas *eo_e,
> > Efl_Input_Pointer_Data *ev)
> >               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))
> > +               {
> > +                  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 ((obj->proxy->is_proxy) && (obj->proxy->src_events))
> >                 _evas_event_source_mouse_in_events(eo_obj, eo_e, evt,
> > event_id);
> >               if (e->delete_me || e->is_frozen) break;
> >
> > --
> >
> >
> >
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to