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

Marcel Taeumel marcel.taeumel at hpi.de
Wed Apr 27 11:02:09 UTC 2022


Hi all --

One more thing. :-)

The compatibility fix for the macOS platform for the newest OSVM got already backported to Squeak 5.3. Just hit the update button. It is not that hard.

I can backport this to Squeak 5.2 and 5.1 as well if you want me to do so.

Best,
Marcel
Am 27.04.2022 09:55:50 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:
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.

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20220427/58da019b/attachment.html>


More information about the Squeak-dev mailing list