Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!think.com!mintaka!bloom-beacon!dont-send-mail-to-path-lines From: mouse@lightning.mcrcim.mcgill.EDU (der Mouse) Newsgroups: comp.windows.x Subject: Re: PC X servers / backing store Message-ID: <9103060612.AA19880@lightning.McRCIM.McGill.EDU> Date: 6 Mar 91 06:12:28 GMT Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 42 > [C]ould someone throw some light on why setting backing store to > "always" as opposed to "not useful" or "when mapped" breaks many > clients written in the standard fashion. Well, if you go in and bash one small item in a program without understanding how it interacts with the rest of the program, you deserve to lose. > What seems to happen is that since the backing pixmap is created on > window creation, then raising the window doesn't generate an expose, > so the client never draws anything to the window. The client should have drawn when the first Expose event was generated, back when the backing-store was created at the same time the window was. If the client didn't select for ExposureMask at create time, that's the reason: setting backing-store to Always is incompatible with selecting for ExposureMask only after window creation. > In other words, the server seems to go to extremes in avoiding > sending expose events to the client, to the point where it is not > initialising the backing pixmap ! This seems like a bug in the > server backing store code. If you *did* include ExposureMask in the event-mask when the window was created and *still* don't see the Expose event, yes, your server is buggy. But this seems doubtful. > (This would be to prevent breaking any clients that only expect > expose events when the window is raised.) Such clients shouldn't exist. Even if the server doesn't do backing-store at all, such an expectation may (and therefore eventually *will*) break. Your `only' is ambiguously placed, but I can't find a place to attach it that doesn't make the expectation dangerous: Expose events can be sent at any time due to other windows disappearing, and may not be sent on window raise if the window was unobscured to begin with. der Mouse old: mcgill-vision!mouse new: mouse@larry.mcrcim.mcgill.edu