[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 18:09:46 UTC 2022


Hi Eliot --

> You *cannot* just break older images.  This constitutes a fork in the VM.

Well, I did not. And it is not. We seem to have a different idea on the severity of this change.

It is not viable to introduce a bit in the image header for a feature in Morphic that can already be configured since 1999. That would be kind of crazy. ;-)

Again, older images are not broken.

Well, I can flip the pointer and say that the VM broke the image when Metal-support was introduced years ago without maintaining a proper video cache on its own. THAT was even worse because it broke all images for macOS in the sense that it made Morphic really slow.

So I finally fixed the regression. This is bogus. Potato, potato. :-)

Best,
Marcel

P.S.: This thing here is way (!) less problematic than the current 64-bit OSVM not being able to just open 32-bit images. Now that I would call a breaking change that was not quite necessary. =)
Am 27.04.2022 19:58:24 schrieb Eliot Miranda <eliot.miranda at gmail.com>:


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

 
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.

You *cannot* just break older images.  This constitutes a fork in the VM.

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].

If it can be fixed easily at the image level then it can be fixed at the VM level, for example, by adding a status bit to new images which invokes the new behaviour in the VM.  Haivng to modify old images is ass backwards.;
> 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 [mailto: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/730934b5/attachment.html>


More information about the Squeak-dev mailing list