On Fri, 21 Dec 2012 06:08:09 -0200 Gustavo Sverzut Barbieri <barbi...@profusion.mobi> said:
> Does it solve the problem? > > It's weird because those images should be referenced and pixels kept until > rendered. Do you know if someone else is releasing the pixels forcefully > before that? > > Also, couldn't you sync only once the canvas at the beginning of the > function? Or there are multiple canvases? It's not expensive, but could > simplify the code. well i did it that way so we sync only if we need to sync on the first image.. the other sync's should then be "nops" :) evas in xephyr seems to be happier now with sw comp... and yes - comp could SET the pixel data to a new ptr (freeing the old) at any point... > On Friday, December 21, 2012, Enlightenment SVN wrote: > > > Log: > > attempt to deal with new svn efl async render... in evas1.7 > > evas_sync() is an empty function so this has no effect on released > > efl, but it helps with svn efl. > > > > > > > > Author: raster > > Date: 2012-12-20 22:33:57 -0800 (Thu, 20 Dec 2012) > > New Revision: 81509 > > Trac: http://trac.enlightenment.org/e/changeset/81509 > > > > Modified: > > trunk/e/src/modules/comp/e_mod_comp.c > > > > Modified: trunk/e/src/modules/comp/e_mod_comp.c > > =================================================================== > > --- trunk/e/src/modules/comp/e_mod_comp.c 2012-12-21 05:40:23 UTC > > (rev 81508) > > +++ trunk/e/src/modules/comp/e_mod_comp.c 2012-12-21 06:33:57 UTC > > (rev 81509) > > @@ -322,6 +322,7 @@ > > return; > > } > > > > + evas_sync(evas_object_evas_get(cw->obj)); > > evas_object_image_native_surface_set(cw->obj, NULL); > > evas_object_image_alpha_set(cw->obj, 1); > > EINA_LIST_FOREACH(cw->obj_mirror, l, o) > > @@ -400,6 +401,7 @@ > > return; > > } > > > > + evas_sync(evas_object_evas_get(cw->obj)); > > evas_object_image_alpha_set(cw->obj, 0); > > EINA_LIST_FOREACH(cw->obj_mirror, l, o) > > { > > @@ -612,6 +614,7 @@ > > cw->pw = 0; > > cw->ph = 0; > > } > > + evas_sync(evas_object_evas_get(cw->obj)); > > DBG("REND [0x%x] pixmap = [0x%x], %ix%i\n", cw->win, > > cw->pixmap, cw->pw, cw->ph); > > if ((cw->pw <= 0) || (cw->ph <= 0)) > > { > > @@ -680,6 +683,7 @@ > > /* DBG("DEBUG - pm now %x\n", e_mod_comp_wl_pixmap_get(cw->win)); > > */ > > /* #endif */ > > /* DBG("DEBUG - pm now %x\n", > > ecore_x_composite_name_window_pixmap_get(cw->win)); */ > > + evas_sync(evas_object_evas_get(cw->obj)); > > evas_object_image_size_set(cw->obj, cw->pw, cw->ph); > > EINA_LIST_FOREACH(cw->obj_mirror, l, o) > > { > > @@ -728,6 +732,7 @@ > > } > > else if (cw->pixmap) > > { > > + evas_sync(evas_object_evas_get(cw->obj)); > > if (cw->native) > > { > > evas_object_image_native_surface_set(cw->obj, NULL); > > @@ -988,6 +993,7 @@ > > Eina_List *l; > > Evas_Object *o; > > > > + evas_sync(evas_object_evas_get(cw->obj)); > > if (cw->xim) > > { > > evas_object_image_size_set(cw->obj, 1, 1); > > @@ -2139,6 +2145,7 @@ > > { > > EINA_LIST_FREE(cw->obj_mirror, o) > > { > > + evas_sync(evas_object_evas_get(o)); > > if (cw->xim) evas_object_image_data_set(o, NULL); > > evas_object_event_callback_del(o, EVAS_CALLBACK_DEL, > > > > _e_mod_comp_cb_win_mirror_del); > > @@ -2198,6 +2205,7 @@ > > { > > DBG(" [0x%x] real hid - fix\n", cw->win); > > cw->real_hid = 0; > > + evas_sync(evas_object_evas_get(cw->obj)); > > if (cw->native) > > { > > evas_object_image_native_surface_set(cw->obj, NULL); > > @@ -2243,6 +2251,7 @@ > > > > if ((!cw->redirected) || (!cw->pixmap)) > > { > > + evas_sync(evas_object_evas_get(cw->obj)); > > // we redirect all subwindows anyway > > // ecore_x_composite_redirect_window(cw->win, > > ECORE_X_COMPOSITE_UPDATE_MANUAL); > > /* #ifdef HAVE_WAYLAND_CLIENTS */ > > @@ -2368,6 +2377,8 @@ > > ecore_timer_del(cw->ready_timeout); > > cw->ready_timeout = NULL; > > } > > + > > + evas_sync(evas_object_evas_get(cw->obj)); > > > > if (cw->native) > > { > > > > > > > > ------------------------------------------------------------------------------ > > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > > Remotely access PCs and mobile devices and provide instant support > > Improve your efficiency, and focus on delivering more value-add services > > Discover what IT Professionals Know. Rescue delivers > > http://p.sf.net/sfu/logmein_12329d2d > > _______________________________________________ > > enlightenment-svn mailing list > > enlightenment-...@lists.sourceforge.net <javascript:;> > > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > > > > -- > Gustavo Sverzut Barbieri > http://profusion.mobi embedded systems > -------------------------------------- > MSN: barbi...@gmail.com > Skype: gsbarbieri > Mobile: +55 (19) 9225-2202 > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > 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 ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel