Hi Tim --
> Given that this flag appears to be ignored in Mac code,> how is it involved in the window dragging?
The image always tries to set this flag to "true", the primitive126 never fails. So the image assumes that deferredupdating is supported.
After drawing all morphs onto Display, the patch under theHandMorph is then saved. Then the HandMorph (and thesubmorphs/windows it is dragging) will be drawn ontoDisplay. Then that saved patch will be restored BUT withouttelling the VM via primitive 127.
Then the image is done and tells the VM to show everythingon the video buffer. Without proper support of primitive 126,the VM platform code starts reading the displayBits directlyonly then. That is, without deferred updating, that saved patchunder the HandMorph is already restored when the graphicsbackend starts reading the displayBits.
That's why the entire thing becomes invisible. Does notaffect HandMorph without dragging anything becausewe show a hardware cursor then.
Dragging via Morphic halo is also not affected becausethe hardware cursor will still be used and the morphdirectly be moved.
The entire thing is a performance optimization becausethe HandMorph caches the pixels of the submorphs it drags.
Best,MarcelAm 27.04.2022 23:49:51 schrieb tim Rowledge <tim@rowledge.org>:
Please let's talk live on this; email is crap for debating this sort of thing and far too often just gets everyone cross.
Whilst it's certainly true that the prim 126 has failed to return any useful flag value since at least 1998 (the earliest mention I have in email/source) it *does* set a value that is freely available to platform specific code. Mind you, the value is not initialised by default, which could cause much fun.
The only platform code I see that does reference it is Windows in ioForceDisplayUpdate(). Many platform versions of that do nothing, others actually move bits.
Given that this flag appears to be ignored in Mac code, how is it involved in the window dragging?
tim
--
tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: XYZZY: Branch and Play Adventure
-- Juan Vuletich www.cuis-smalltalk.org https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev https://github.com/jvuletich https://www.linkedin.com/in/juan-vuletich-75611b3 https://independent.academia.edu/JuanVuletich https://www.researchgate.net/profile/Juan-Vuletich https://patents.justia.com/inventor/juan-manuel-vuletich https://twitter.com/JuanVuletich