Changed the handling of the blitter function calls in order to take subsequent patches into account. - Improved the immunity of the extended v44 DiskObject structure against degrading to v40 by the WB 3.0/3.1 Icon Information and maybe other tools.

Another attempt to synchronize the parallel handling of the memory freelists by WB 3.0/3.1 and icon.library in two different list structures with the same nodes! I've changed the functions AddFreeList() and FreeRemove() in icon.library in order to update to the latest modifications in the freelists done by WB 3.0/3.1 before the functions are executed and afterwards synchronizing the results back to the list structures managed by the old WB.

So, this is yet another testversion and needs your feedback and bug reports. Something I couldn't fix are the wrong colors after a screenmode change and some instability until you do a reboot. Similar happens under DOpus5 running on OS 3.1. It's very difficult to analyze these problems.

@AMIGASYSTEM
Please, don't sell my testversions as the latest thrillers in Italy, there are too many systems and cats dying in these tragedies. And never publish any direct links to the downloads on the first page. They are very soon getting outdated.

The instability after a screenmode change under WB 3.0/3.1 when you tried to modify the wrong colored icons with Icon Information or CopyIcon seems to be fixed now. The icons screen is set to the actual screen of intuition before any colormapping is done and the internal routine releasepens will no longer be executed under WB 3.0/3.1. No Enforcer hits anymore.

Don't worry, I will try to care about the screenmode change under DOpus5 next. DOpus5 didn't have the highest priority for me in the past, but I also never realized that there was such a problem until I accidentally checked that a few days ago. Why did nobody send me a bug report?

Update1: After trying my old versions I found 46.4.250 being the last one where the DOpus5 screenmode changes on OS 3.1 are still working reliable. Up to 46.4.256 there are the first smaller bugs and in 271 it's completely broken already. Unfortunately, all versions between 256 and 271 are lost since one of my old HDDs died. It might become difficult to analyze the changes now.

Update2: Just found the full version 46.4.270 and it still does the screenmode change without Enforcer hits, but then freezes intuition after openening some windows. 270 was the first Aminet release with WB 3.0/3.1 support and FastColors. This will need some time for investigations.

Tested 457 with my DO5 setup and it had no problems really.
Screenmode changes work perfectly.
The very first time I change the screenmode, I get a warning that intuition has not done something yet, I click cancel and all is fine. Further screenmode changes close the warning requester automatically if it appears at all. (CGX does take time to reserve memory for large screens, so I guess that's why the warning popsup)

No crashes, no locks, no pen damage or overuse, all pens released and updated properly.

But these screenmode problems could be limited to a few special system configurations, like DOpus5 running on WB 3.0/3.1 and maybe in some other cases. I also couldn't remember that I had these problems before with DOpus5, but perhaps I've always tested the screenmode changes in combination with workbench.library v45 installed. It's time to check out all possible setups now.

Further testing with 460, under CGX 8/15/16/24 bit modes, screenmode changes in any combination multiple times. Even DO + WB on own screens with different modes work fine simultaneously on two monitors

WB - works
DO custom - works
DO on WB - works
DO in WBR - works

Compared to 457, in 460 you now properly relock the colours on 15+ screens, in 457 it simply freed them all, so if drag selected without full refresh the icons could loose proper colours, with 460 this does not happen, colours are relocked properly (same number, no enforcer hits) GREAT!

So what is supposed to be wrong ?

There is one feature in DO that effects MWB icons that needs to be switched on/off (icon remapping) and this depends if we are running on WB screen or on custom.

The only side effect I have spotted so far, and it happened only once so far, I lost mouse pointer colour (my default white became brown) but relaunching pointer prefs quickly fixed that. So what happened there is a mystery. And yes I have Fullpalette (some locked colours, mouse unlocked), Birdie and VisualPrefs among other GUI candy running.

Warning! Do not hit repeat on wb intuition refresh requester before all has refreshed (slow large background images) or you will crash picture.datatype! Wait a second later and no problems.

I experience something strange with the 68020 version of the library (OS3.1 / RemLib). The icon jumps a little to the bottom right when I do a single click (as can be seen in the second shot). This is not the case when using the 68000 version. The image also jumps back when releasing the mouse.

@Michael
Are you using WB 3.1 and DOpus5 ?
I just ask that because all my latest changes since 457 are related to WB 3.0/3.1 and should cause no effects on workbench.library 3.9.

Meanwhile I suspect my test system to be broken in some unknown way, and I've reloaded my backup from my old harddisk, because I'm pretty sure that there were no problems with screenmode changes in the last 5 years. I will see soon.

@Amiga68k
When the an icon jumps a few pixels while pressing the mouse button down then there must be a difference between the normal and the dragging position.

Compared to 457, in 460 you now properly relock the colours on 15+ screens, in 457 it simply freed them all, so if drag selected without full refresh the icons could loose proper colours, with 460 this does not happen, colours are relocked properly (same number, no enforcer hits) GREAT!

The oldest WB I tried was 45.132, no reason for me to go older.
I wonder how it behaves with built in kickstart version...

Now I don't understand anymore what's going on on your system with workbench.library v45 and/or DOpus5, because all my changes since 457 were made for the old Workbench v39/40 only. How can these modifications improve anything on WB v45 ?? I must have done another mistake!

And why are the screenmode changes working for you and Retrofan but not on my system (no AmiDock) like they did in the past. Sigh, I'm slowly getting desperate.

Update:
Hey guys, please don't tell me that you are using this crazy little patch called "MemTrailer" on your systems. Don't use that, it's evil, it may eat Enforcer hits sometimes or hides memory trashings, and thus could even avoid crashes or freezes in some cases. I never use that damned tool, because I want to know what's going wrong with my library. With "MemTrailer 96" the screenmode changes are suddenly working. I hate this proggy! Who has written such a crap? It's hiding bugs and may prevent bug reports.

thank you for your detailed system information. I could reproduce this problem which is caused by the missing IPrefs v44+ and ENVARC:Sys/workbench.prefs. But IPrefs v44+ won't work properly on this configuration. It will set the icons frame size correct, but the Ram Disk icon starts jumping up and down on the Workbench.

There is a much simpler solution: You can find the 3 commands PlanarFrames1/2/3 in my Aminet release in the /c drawer. Copy them to C: and call one of them in your startup-sequence above LoadWB. The number at the end of the name controls the frame size in pixels for the planar icons. I prefer to use PlanarFrames2. Color icons won't get a frame.

There is a much simpler solution: You can find the 3 commands PlanarFrames1/2/3 in my Aminet release in the /c drawer. Copy them to C: and call one of them in your startup-sequence above LoadWB. The number at the end of the name controls the frame size in pixels for the planar icons. I prefer to use PlanarFrames2. Color icons won't get a frame.

PlanarFrames1/2/3 does correct the issue with the GlowIcons indeed. The downside however is that the old WB 3.1 icons are now presented with a frame and I liked them better without one ;-)

Also, this doesn't explain why the issue is not present with the 68000 version of the library, or does it...?

Ok, to get completely rid of all frames you could use AllFramesOff, but unfortunately I just noticed that this command will not notify the workbench.library about the new frame settings like PlanarFrames1/2/3. The icon is still moving. I need to modify the code of AllFramesOff just a bit to notify the WB.

An update of AllFramesOff is attached at the first page now.

The invisible frame size around the icons is important for adjusting their image position when direct drawing on gfx cards is done in Hi/TrueColor modes. The 68000 version has no support for gfx cards and thus will never do direct drawing. It has to use the normal blitter functions for drawing like on AGA screens.

The invisible frame size around the icons is important for adjusting their image position when direct drawing on gfx cards is done in Hi/TrueColor modes. The 68000 version has no support for gfx cards and thus will never do direct drawing. It has to use the normal blitter functions for drawing on AGA screens.

Ah, thanks for the explanation why the 68000 version is not affected.

I can confirm the new AllFramesOff is working properly now on my setup, the wobbly icons are gone while using the 68020 version, thanks for your swift response