>> From what I remember of the time I wrote and debugged OTP, these
>> problems were invariably due to things like calling RaiseWindow
>> instead of OtpRaiseWindow.
>
> That would lead to assertion failures where it compares against the X
> window stack.  These troubles are triggering a bit earlier, on the
>
>     assert(PRI(owl) >= priority);
>
> e.g., the priority isn't monotonically increasing from the bottom->top
> of the OWL.

Hmm... so is it because we changed PRI(owl) without changing the
OtpWinList accordingly, or is it because we changed OtpWinList without
changing PRI(owl)?

> This got trickier with the _FULLSCREEN stuff, where the
> effective OTP of a window now depends on whether it has focus or not,

I missed this change.  I'm not very familiar with FULLSCREEN.  Why do we
need to change the OTP depending on focus?

Can you point me to the code which changes the "OTP" in response to
focus change?

> And, in this case, DOUBLE tricky, because its transients have to move
> with it;

IIRC we already had code doing something along those lines, more
specifically code that raises its transients when we raise a normal
window (see RaiseSmallTransientsOfAbove).


        Stefan

Reply via email to