[squeak-dev] [Vm-dev] new VM breaks window dragging in old images. that's not backwards compatibility in my book.

Eliot Miranda eliot.miranda at gmail.com
Wed Apr 27 18:07:59 UTC 2022


On Wed, Apr 27, 2022 at 12:56 AM Marcel Taeumel <marcel.taeumel at hpi.de>
wrote:

>
> Hi all --
>
> In addition to my previous response, we can schedule a Zoom/Jitsi session
> if you want me to go into more details what the overall issue here is.
>
> Otherwise, I documented the situation in the code:
>
>
> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/97324043f5749da751ad2a060460092cac2e8190/platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m#L238
>
>
> https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/97324043f5749da751ad2a060460092cac2e8190/platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m#L260
>
> https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/620
>
> During the last years, we had so many complaints about the Morphic
> performance on macOS in our University courses. This fix is overdue and
> very (!) valuable.
>
> Again, this is an image-side concern. It's not a VM issue. Backwards
> compatibility can *very easily* be preserved in older images from within
> those images. See my previous response here.
>

One cannot redefine backwards compatibility to mean "you have to change old
images to run on the new VM".  Backwards compatibility of the VM implies
that old images continue to run *without change* and without change in
semantics.


> Best,
> Marcel
>
> Am 27.04.2022 09:19:12 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
> Hi Eliot --
>
> No, this cannot be preserved on the VM side without again introducing that
> major performance regression that has been there for several years now on
> the macOS platform. I strongly argue that we keep the VM platform code this
> way.
>
> However, it can *very easily* be fixed in most (if not all) older images.
> Just disable deferred (display) updates as it was not supported on macOS
> for a very (!) long time:
>
>    PasteUpMorph disableDeferredUpdates: true.
>    Project allMorphicProjects do: [:ea | ea world canvas: nil].
>
> > To reproduce take e.g. Squeak 6.0 alpha [...]
>
> No, Squeak6.0alpha (Trunk) does not show this issue unless it is not an
> updated image. Still, this update has been part of the update stream for
> several weeks now.
>
> > [...] or the ;ast of the 5.x line [...]
>
> The above snippet accounts for this *very easily*. It even works in Squeak
> 4.x. This is an image-side thing. It always has been. Since 1999. This is
> not a VM issue.
>
> Best,
> Marcel
>
> P.S.: Keep in mind that ST80-style "Fast dragging" is always an
> alternative in older images:
>    Preferences enable: #fastDragWindowForMorphic.
>
> Am 27.04.2022 03:29:31 schrieb Eliot Miranda <eliot.miranda at gmail.com>:
> Hi Marcel,
>
> the issue of windows being invisible when dragged in the new VM is a
> major bug. The VM needs to be backwards compatible. It souldn't break old
> images. So we need to find a way of restoring the default behaviour in
> images that don't set the relevant preference.
>
> To reproduce take e.g. Squeak 6.0 alpha or the ;ast of the 5.x line and
> simply try and move a window about As soon as the window starts to move it
> disappears and then reappears when the mouse button is released. This must
> be fixed.
> _,,,^..^,,,_
> best, Eliot
> Hi Marcel,
>
>     the issue of windows being invisible when dragged in the new VM is a
> major bug.  The VM needs to be backwards compatible.  It souldn't break old
> images.  So we need to find a way of restoring the default behaviour in
> images that don't set the relevant preference.
>
> To reproduce take e.g. Squeak 6.0 alpha or the ;ast of the 5.x line and
> simply try and move a window about  As soon as the window starts to move it
> disappears and then reappears when the mouse button is released.  This must
> be fixed.
> _,,,^..^,,,_
> best, Eliot
>
>

-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220427/85e058de/attachment.html>


More information about the Squeak-dev mailing list