Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        iconify.c 


Log Message:
Fix some systray race conditions.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/iconify.c,v
retrieving revision 1.178
retrieving revision 1.179
diff -u -3 -r1.178 -r1.179
--- iconify.c   26 Sep 2005 17:32:09 -0000      1.178
+++ iconify.c   6 Oct 2005 16:56:24 -0000       1.179
@@ -2944,19 +2944,29 @@
 
    swin = ib->objs[i].u.swin;
 
-   SystrayGetXembedInfo(win, xembed_info);
-   if (EventDebug(EDBUG_TYPE_ICONBOX))
-      Eprintf("IconboxObjSwinMapUnmap: _XEMBED_INFO: %#lx: %d %d\n", win,
-             xembed_info[0], xembed_info[1]);
-
-   map = (xembed_info[1] & XEMBED_MAPPED) != 0;
-   if (map == swin->mapped)
-      return;
+   if (SystrayGetXembedInfo(win, xembed_info) >= 0)
+     {
+       if (EventDebug(EDBUG_TYPE_ICONBOX))
+          Eprintf("IconboxObjSwinMapUnmap: _XEMBED_INFO: %#lx: %d %d\n", win,
+                  xembed_info[0], xembed_info[1]);
 
-   if (map)
-      EMapWindow(win);
+       map = (xembed_info[1] & XEMBED_MAPPED) != 0;
+       if (map == swin->mapped)
+          return;
+
+       if (map)
+          EMapWindow(win);
+       else
+          EUnmapWindow(win);
+     }
    else
-      EUnmapWindow(win);
+     {
+       Eprintf("IconboxObjSwinMapUnmap: _XEMBED_INFO: %#lx: gone?\n", win);
+
+       map = 0;
+       if (map == swin->mapped)
+          return;
+     }
 
    swin->mapped = map;
    IconboxRedraw(ib);
@@ -3031,6 +3041,10 @@
 
    switch (ev->type)
      {
+     case MapNotify:
+       EWindowSync(ev->xmap.window);
+       break;
+
      case DestroyNotify:
        win = ev->xdestroywindow.window;
        goto do_terminate;




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to