Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: ewins.c Log Message: Ignore bogus unmap events (before window is mapped) and synthetic unmap events. - Either would fix trouble with misbehaving client (gnome-terminal configuration window). =================================================================== RCS file: /cvs/e/e16/e/src/ewins.c,v retrieving revision 1.175 retrieving revision 1.176 diff -u -3 -r1.175 -r1.176 --- ewins.c 26 Oct 2006 20:25:30 -0000 1.175 +++ ewins.c 3 Nov 2006 19:29:17 -0000 1.176 @@ -1151,12 +1151,23 @@ } static void -EwinEventUnmap(EWin * ewin) +EwinEventUnmap(EWin * ewin, XEvent * ev) { if (EventDebug(EDBUG_TYPE_EWINS)) Eprintf("EwinEventUnmap %#lx st=%d: %s\n", EwinGetClientXwin(ewin), ewin->state.state, EwinGetName(ewin)); + if (ewin->state.state == EWIN_STATE_NEW) + { + Eprintf("EwinEventUnmap %#lx: Ignoring bogus Unmap event\n", + EwinGetClientXwin(ewin)); + return; + } + + /* Ignore synthetic events */ + if (ev->xany.send_event) + return; + if (ewin->state.state == EWIN_STATE_WITHDRAWN) return; @@ -2070,15 +2081,7 @@ case EX_EVENT_UNMAP_GONE: EoSetGone(ewin); case UnmapNotify: -#if 0 - if (ewin->state.state == EWIN_STATE_NEW) - { - Eprintf("EwinEventUnmap %#lx: Ignoring bogus Unmap event\n", - EwinGetClientXwin(ewin)); - break; - } -#endif - EwinEventUnmap(ewin); + EwinEventUnmap(ewin, ev); break; case MapNotify: @@ -2194,7 +2197,7 @@ break; if (ev->type == EX_EVENT_UNMAP_GONE) EoSetGone(ewin); - EwinEventUnmap(ewin); + EwinEventUnmap(ewin, ev); break; case DestroyNotify: ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs