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