I encouter serious problem because xserver send me
expose event randomly.

When moving massively a huge amount of windows, the xserver forget to send me back some expose event.
eg: moving 100 child windows 20 times by using function XMoveWindow(). After that, launch my own event handler function to catch and treat Expose event.

Sometimes xserver backups contents of windows, sometimes it destroy and does not send me back expose event.

The backing_store element of window attributes is NotUseful because no window are obscured by another one. All my Windows are sibling and arranged to
avoid to hide others. Some are moved beyond the visible area but I don't expect any event for them, event are for those visible only.

First question, could someone explain me why xserver does not send event for some erased windows?

Second question, why content of some windows are not
erased ?

Third question, what are the rules and things to understand?


I use slackware 10.1,
kernel 2.6.12
x11-6.8.1 (may be an Xorg release),