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

Reply via email to