Hello. On 10/12/15 21:56, Mike Blumenkrantz 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
This commit breaks the widget screenshot generation for our Elementary docs. Two example from our nightly doc generation: https://build.enlightenment.org/job/nightly_elm_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Button.html https://build.enlightenment.org/job/nightly_elm_gcc_x86_64/lastSuccessfulBuild/artifact/doc/html/group__Flip.html As you can see the image are off or completely broken. They should actually look like this (from our 1.16 docs) https://docs.enlightenment.org/elementary/current/group__Button.html https://docs.enlightenment.org/elementary/current/group__Flip.html Thanks to Jean Rene Dawin for reporting it. It took me a long time to git bisect'ing it down to this commit. Reverting it locally fixes the problem. I'm open for suggestions how we fix this and still fix the problem the commit originally tried to fix. regards Stefan Schmidt > --- > 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
