Pete French <[EMAIL PROTECTED]> writes:

> > Sequence that will lead to NOT unmapping window (theory)
> > --------------------------------------------------------
> >
> > A - XMapWindow (..., WINDOW)
> > B - WINDOW is toplevel window, now this request is redirected
> >     to the window manager.   
> > C - XUnmapWIndow (..., WINDOW)
> > D - X server notice that the window is not yet mapped, the request
> >     for mapping is somewhere in the window manager and not honored 
> >     yet.  Not that the X server cares, it sees an unmap request
> >     on an unmapped window so it will DROP the unmap request.
> > E - The window manager finally gets around considering the request
> >     and it will map the window.
> 
> So this isnt just a GNUstep problem surely ? Cannot the above sequence of
> events hapen to any X app ?

Yes, it could happen to any X app.  But it is very very unlikely.
How many applications do map/unmap windows in quick succession?
Of course other programs also have menus which are mapped/unmapped 
quickly,  but I suspect that they will set the override_redirect flag to TRUE.
Setting the override_redirect to TRUE will make sure that redirection
does not happen.  
 
> Also, if the MapWindow event is being redirected to the window manager to
> handle, why is it that the Unmap request is not similarly redirected ?

I do not know.  I am just reading the documentation.

> If the window manager dealt with both then the problem goes away too
> doesnt it ?

I suspect so, but the documentation for the XUnmapWindow states that:
        
        If /w/ is already unmapped, XUnmapWindow () has no effect.

And the unmap events are not redirected, so the point is moot.

> Why is a matched pair of events being dealt with by two
> different pieces of code anyway ?

The philosophy of the redirection is that when an application 
maps a window on the screen it is the windowmanager that 
decides the placement policy.  For this the windowmanager
needs to intercept the request.  Removing does not really 
need redirection, so I guess they did put unmap redirection
in the standard.  

Wim Oudshoorn.



_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to