On Sat 06 Jul 2019 at 23:34:07 -0500, Matthew D. Fuller wrote:
> Sigh.  The whole way we look for the transients is wonky, because of
> the assumptions it makes about where they already are.  So we just
> have to expand it and search the whole thing.  So, new iteration: the

An obvious change here would to link all transients for a window to that
window. Although transients for transients (if those would occur) should
probably be linked to the "master intransient" (or whatshallwecallit).

A less drastic way might be to just add a boolean to each window,
indicating if it is a "master intransient" window or not. That would
save searching in case it isn't.

> === modified file 'otp.c'
> --- otp.c     2018-08-19 22:50:13 +0000
> +++ otp.c     2019-07-07 04:23:24 +0000
> @@ -1579,6 +1579,99 @@

The code for OtpFocusWindowBE() could avoid a copy of
TryToMoveTransientsOfTo() if that function got an extra parameter: the
old_priority, equal to PRI(owl) (or in case of OtpFocusWindowBE(), equal
to oldprio). Since it calls PRI(owl) several times, and that is more
expensive than it looks, it is even a good thing to turn that into a
parameter. There is also less risk that PRI(owl) would change somehow
through the list iteration.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- "What good is a Ring of Power
\X/ rhialto/at/falu.nl      -- if you're unable...to Speak." - Agent Elrond

Attachment: signature.asc
Description: PGP signature

Reply via email to