On Tue, Jan 29, 2013 at 5:25 PM, Enlightenment SVN
<no-re...@enlightenment.org> wrote:
> Log:
> fix window unmap event handling with synthetic unmaps - only really an
>   issue during manageing (startup) of a border - race condition. may
>   misee hides. this fixes it but needs efl 1.8. :/

Isn't trunk only for 1.8 and branch for 1.7 anyway ?

> Author:       raster
> Date:         2013-01-29 00:25:24 -0800 (Tue, 29 Jan 2013)
> New Revision: 83420
> Trac:         http://trac.enlightenment.org/e/changeset/83420
>
> Modified:
>   trunk/e/src/bin/e_border.c
>
> Modified: trunk/e/src/bin/e_border.c
> ===================================================================
> --- trunk/e/src/bin/e_border.c  2013-01-29 08:24:21 UTC (rev 83419)
> +++ trunk/e/src/bin/e_border.c  2013-01-29 08:25:24 UTC (rev 83420)
> @@ -5285,14 +5285,29 @@
>                           int ev_type __UNUSED__,
>                           void *ev)
>  {
> -   E_Border *bd;
> +   E_Border *bd = NULL;
>     Ecore_X_Event_Window_Hide *e;
>
>     e = ev;
> -//   printf("HIDE: %x, event %x\n", e->win, e->event_win);
> +//   printf("HIDE: %x, event %x send: %i\n", e->win, e->event_win, 
> e->send_event);
>  // not interested in hide events from windows other than the window in 
> question
> -   if (e->win != e->event_win) return ECORE_CALLBACK_PASS_ON;
> -   bd = e_border_find_by_client_window(e->win);
> +   if (e->win != e->event_win)
> +     {
> +#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8)
> +        bd = e_border_find_by_client_window(e->win);
> +        if (!bd) return ECORE_CALLBACK_PASS_ON;
> +        if (!e->send_event) return ECORE_CALLBACK_PASS_ON;
> +        else
> +          {
> +             if (!((bd->zone) &&
> +                   (bd->zone->container->manager->root == e->event_win)))
> +               return ECORE_CALLBACK_PASS_ON;
> +          }
> +#else
> +        return ECORE_CALLBACK_PASS_ON;
> +#endif
> +     }
> +   if (!bd) bd = e_border_find_by_client_window(e->win);
>  //   printf("  bd = %p\n", bd);
>     if (!bd) return ECORE_CALLBACK_PASS_ON;
>  //   printf("  bd->ignore_first_unmap = %i\n", bd->ignore_first_unmap);
>
>
> ------------------------------------------------------------------------------
> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
> MVPs and experts. ON SALE this month only -- learn more at:
> http://p.sf.net/sfu/learnnow-d2d
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>



--
Cedric BAIL

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to