Article View: comp.sys.amiga.tech
Article #11026Re: Amiga Layers Library -- ANNOYING BUG
From: Dale Luck
Date: Tue, 17 Jan 1989 18:48
Date: Tue, 17 Jan 1989 18:48
58 lines
2911 bytes
2911 bytes
In article <3704@crash.cts.com> billk@pnet01.cts.com (Bill W. Kelly) writes:
>
>There's an annoying "bug" in the layers library that, to my knowledge, has
>been in every release version of the Amiga's operating system.
Not really a bug. It is the way the dedicer coallescs contiguous cliprects
when a delete operation occurs. Move and Size call create/delete.
The operation of creating cliprects for layer A, then B, then C. Then
deleting B is not the same as creating cliprects for layer A then layer C.
The operation is non associative. communitive? or nonreversable?
>
>I kept hoping someone at Commodore-Amiga would fix it but I suppose it's
>possible that noone's noticed this. (Or that nobody cares?)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I assume you mean :-) here.
>
>I will explain what to do to get this "bug" to appear. (BTW, don't worry--
>there's no danger of crashing; this is just a visual thing.)
< description of problem omitted >
>
>What I want to know is: WHY???? I figure it must be something related to
>the LayerInfo structure for the screen, since it applies to ALL
>smart_refresh layers on the screen. Why does sizing a layer get rid of the
>problem, while adding/deleting new layers does not???
Because the size of the layer changed, therefore the amount of space
covered by more than 1 layer decreased allowing the routines to remove
more unused cliprects.
>
>SUGGESTION: Whatever piece of code in SizeLayer() that fixes the problem
>should be duplicated and stuck in MoveLayer(). :-)
ha
>If someone could tell me why this happens and how to fix it, I'd be happy to
>write a little patch that SetFunction()'s MoveLayer(). (A temporary patch --
The proper solution to the problem is entirely more complex then what you
propose. SetFunction MoveLayer won't help as you stated above since the
same problem occurs when creating/deleting layers.
>I would think this could be fixed in 1.4?!?!!)
A new redicing algorithm is already in V1.4. You alpha testers out
there should notice some difference. Unfortunately one of the side affects
of the new routine is a transient need for more memory than any previous
release of the layer library.
>
>Bill W. Kelly
>{nosc ucsd hplabs!hp-sdd}!crash!pnet01!billk crash!pnet01!billk@nosc.mil
> billk@pnet01.cts.com
--
Dale Luck GfxBase/Boing, Inc.
{uunet!cbmvax|pyramid}!amiga!boing!dale
Technical Details
Message-ID:
<594@boing.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!attcan!uunet!super!udel!rochester!cornell!mailrus!ncar!ames!oliveb!amiga!boing!daleReferences:
<3704@crash.cts.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!super!udel!rochester!cornell!mailrus!ncar!ames!oliveb!amiga!boing!dale From: dale@boing.UUCP (Dale Luck) Newsgroups: comp.sys.amiga.tech Subject: Re: Amiga Layers Library -- ANNOYING BUG Message-ID: <594@boing.UUCP> Date: 17 Jan 89 18:48:23 GMT References: <3704@crash.cts.com> Reply-To: dale@boing.UUCP (Dale Luck) Organization: Boing, Milpitas, Ca. Lines: 58