2009/4/17 Jason Weber <bab...@imonk.com>:
> Attached in function Restack().  Work in progress, etc.
>
> -- Jason Weber
>
> On Fri, Apr 17, 2009 at 10:30 AM, Thomas Adam <thomas.ada...@gmail.com> wrote:
>> 2009/4/17 Jason Weber <baboon.im...@gmail.com>:
>>> I've been trying to switch series of XRaiseWindow/XLowerWindow calls
>>> to a singular XRestackWindows,
>>> but it doesn't seem to have any affect.  I send it an array of Window 
>>> values.
>>> It just responds with a bunch of:
>>>
>>> non-fatal X error as follows, display 0xe8e500 op 12:0
>>> "X_ConfigureWindow" serial 183 error 8

So I added the following debug:

@@ -703,6 +734,8 @@
                error_event->request_code,error_event->minor_code,
                function,(unsigned int)error_event->serial,
                error_event->error_code);
+       if( error_event->error_code == BadMatch &&
error_event->request_code == X_ConfigureWindow )
+               fprintf(stderr, "BadMatch Raised!  This shouldn't happen!\n");


... to FvwmProxy.c:myXErrorHandler().  From the XRestackWindows man
page (and my dusted-off XLib programmers' reference manual):

You seem to be hitting the BadMatch error which suggests that the
window specified aren't a sibling of one another.  Coupled with the
fact you're only receiving ConfigureNotify requests with this
condition suggests that:

    If the override-redirect attribute of a window is False and some
other client has selected SubstructureRedirectMask on the parent, the X
server generates ConfigureRequest events for each window whose
override-redirect flag is not set, and no further processing is
performed.  Otherwise, the windows will be restacked in top-to-bottom
order.


I am not sure who's at fault here -- I suspect FVWM is to blame.

-- Thomas Adam

Reply via email to