hoenig@popper.informatik.uni-kl.de (Helmut Hoenig) (10/19/90)
Synchronization after destroying windows (especially popups) After destroying popup-windows with XDestroyWindow or indirectly by destroying a widget, I have the problem, that drawing-requests for windows below the popup are earlier executed than the removal of the popup. When the popup is removed, the background is restored without any exposures. But some of the things I've just drawn are missing. I am doing the following steps in order: 1. destroying a popup-widget p, which overlapped window w partially 2. clearing window w 3. drawing lines to window w 4. copying pixmaps and drawing text to window w If the popup was removed before steps 2-4 are executed, everything is ok. But if the popup is removed delayed by the server (I have eye-whitnesses for this), the copied pixmaps are missing in the area, where the popup was. The other drawing-functions (lines, text) worked correctly, which means they had to draw to the region, where the background was stored. Questions: - Why does the server delay the removal of the windows ? - Is it only a bug in the XCopyArea, since other drawing functions work correctly during the delay-time ? - How can I wait, until a window absolutely is removed. ? I tried XSync before step 2, but this still doesn't work. The missing exposures are just a small problem. I got more trouble with the XQueryPointer-function, which could return child-ids of destroyed windows, if they were not yet removed by the server. I hope somebody could help me, since I already spent too much time with that problem. Helmut Hoenig hoenig@informatik.uni-kl.de