Hi,

As the original commit message states, this change is necessary in order to 
provide synchronization with Wayland. If you can implement the same 
synchronization in another way then I have no problem with a revert. If not, 
however, something else will need to change in order to compensate.

On Wed, 27 Jan 2016 08:48:05 +0200
Daniel Zaoui <[email protected]> wrote:

> Hi Mike,
> 
> I have an issue with that patch on Exactness. See the attachments.
> 
> By reverting this patch (+ conflict resolution), it works well.
> 
> Thank you
> JackDanielZ
> 
> 
> On Thu, 10 Dec 2015 12:56:23 -0800
> Mike Blumenkrantz <[email protected]> wrote:
> 
> > discomfitor pushed a commit to branch master.
> > 
> > http://git.enlightenment.org/core/elementary.git/commit/?id=6149fd7a0a9ef3f9495270cf1c4ab7727a30f21c
> > 
> > commit 6149fd7a0a9ef3f9495270cf1c4ab7727a30f21c
> > Author: Mike Blumenkrantz <[email protected]>
> > Date:   Thu Dec 10 15:53:31 2015 -0500
> > 
> >     win: redo resize deferral to trigger during pre render
> >     
> >     using a job results in the resize occurring after render in the
> > same loop, meaning that anything which depends on resizes to happen
> > in a certain time will not have synchronized display vs toolkit
> > geometries 
> >     fixes all issues related to wayland window geometries
> > ---
> >  src/lib/elm_win.c | 19 ++++++++++++++-----
> >  1 file changed, 14 insertions(+), 5 deletions(-)
> > 
> > diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
> > index c9729ce..0012445 100644
> > --- a/src/lib/elm_win.c
> > +++ b/src/lib/elm_win.c
> > @@ -130,7 +130,7 @@ struct _Elm_Win_Data
> >     } win32;
> >  #endif
> >  
> > -   Ecore_Job                     *deferred_resize_job;
> > +   Eina_Bool                     deferred_resize_job;
> >     Ecore_Job                     *deferred_child_eval_job;
> >  
> >     Elm_Win_Type                   type;
> > @@ -824,7 +824,7 @@ _elm_win_resize_job(void *data)
> >     ELM_WIN_DATA_GET(data, sd);
> >     int w, h;
> >  
> > -   sd->deferred_resize_job = NULL;
> > +   sd->deferred_resize_job = EINA_FALSE;
> >     ecore_evas_request_geometry_get(sd->ee, NULL, NULL, &w, &h);
> >     if (sd->constrain)
> >       {
> > @@ -848,13 +848,21 @@ _elm_win_resize_job(void *data)
> >  }
> >  
> >  static void
> > +_elm_win_pre_render(Ecore_Evas *ee)
> > +{
> > +   Elm_Win_Data *sd = _elm_win_associate_get(ee);
> > +
> > +   if (sd->deferred_resize_job)
> > +     _elm_win_resize_job(sd->obj);
> > +}
> > +
> > +static void
> >  _elm_win_resize(Ecore_Evas *ee)
> >  {
> >     Elm_Win_Data *sd = _elm_win_associate_get(ee);
> >     if (!sd) return;
> >  
> > -   ecore_job_del(sd->deferred_resize_job);
> > -   sd->deferred_resize_job = ecore_job_add(_elm_win_resize_job,
> > sd->obj);
> > +   sd->deferred_resize_job = EINA_TRUE;
> >  }
> >  
> >  static void
> > @@ -1945,7 +1953,6 @@ _elm_win_evas_object_smart_del(Eo *obj,
> > Elm_Win_Data *sd) ecore_evas_callback_resize_set(sd->ee, NULL);
> >       }
> >  
> > -   ecore_job_del(sd->deferred_resize_job);
> >     ecore_job_del(sd->deferred_child_eval_job);
> >     eina_stringshare_del(sd->shot.info);
> >     ecore_timer_del(sd->shot.timer);
> > @@ -1992,6 +1999,7 @@ _elm_win_evas_object_smart_del(Eo *obj,
> > Elm_Win_Data *sd) ecore_evas_callback_focus_out_set(sd->ee, NULL);
> >     ecore_evas_callback_move_set(sd->ee, NULL);
> >     ecore_evas_callback_state_change_set(sd->ee, NULL);
> > +   ecore_evas_callback_pre_render_set(sd->ee, NULL);
> >  
> >     eo_do_super(obj, MY_CLASS, evas_obj_smart_del());
> >  
> > @@ -3856,6 +3864,7 @@ _elm_win_finalize_internal(Eo *obj,
> > Elm_Win_Data *sd, const char *name, Elm_Win_
> > ecore_evas_callback_focus_out_set(sd->ee, _elm_win_focus_out);
> > ecore_evas_callback_resize_set(sd->ee, _elm_win_resize);
> > ecore_evas_callback_move_set(sd->ee, _elm_win_move);
> > +   ecore_evas_callback_pre_render_set(sd->ee, _elm_win_pre_render);
> >     if (type != ELM_WIN_FAKE)
> >       ecore_evas_callback_mouse_in_set(sd->ee, _elm_win_mouse_in);
> >     evas_object_event_callback_add(obj, EVAS_CALLBACK_HIDE,
> > _elm_win_cb_hide, NULL);
> >   

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to