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

Reply via email to