On Thu, Dec 12, 2002 at 03:46:18PM -0500, Dan Espen wrote:
> Dan Espen <[EMAIL PROTECTED]> writes:
> > 
> > I've been trying to debug this, but I'm pretty much stuck.
> > I've been working off the workers list, but in this case,
> > I'm copying the list since I'm out of ideas, and I see something
> > pretty strange.
> 
> Further developments:
> 
> I find I can't create the problem in an Xnest window,
> but I can on :0.  Thats seems very consistent.
> 
> Using prints, I see that HandleUnmapNotify calls
> destroy_window leading to the window the main window
> being destroyed.
> 
> HandleUnmapNotify doesn't seem to get called inside Xnest.
> 
> I think what I need to do is print more of the information
> about the event.  Right now, I have no idea how to do that,
> or what to look for,
> so I have to do more research.  Of course, hints would be
> appreciated.

Add this after the "if (!fw)" clause in HandleUnmalNotify():

  fprintf(stderr,
        "hun: w=0x%08x f=0x%08x, synthetic=%d '%s'\n",
        (int)te->xunmap.event, te->xunmap.send_event,
        (int)fw, (fw) ? fw->visible_name : "(null");

te->xunmap.event is the client window id that was unmapped.  If
te->xunmap.send_event is true, the client requested transition to
withdrawn state.

> Doesn't an Unmap event indicate the application has unmapped
> itself?

No, fvwm gets an XUnmapNotify when the X server unmaps a client
window.  It does not matter why the window was unmapped..  I can't
think of anything else but to find all places where
XUnmapWindow(), XDestroyWindow() or XWithdrawWindow() is called for
a client window throughout the fvwm core and print debug output for
each (et least the window id and the title).  But to be honest, I
don't expect much to come out of the whole debug session.  Since
you said that the app tries to be its own window manager, I
strongly suspect that its doing something terribly wrong.

It may help to watch the events flying around prior to the window
being unmapped.

> Looking at the logic in HandleUnmapNotify, it looks
> like its not that simple.

Bye

Dominik ^_^  ^_^
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to