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
signature.asc
Description: PGP signature