Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#157 closed bug (fixed)

More image corruption (Prefs 8bit screen)

Reported by: Mikhail Malyshev Owned by:
Priority: normal Milestone: 4.0-2015R2
Component: foreign class Version: 4.0-nightly build
Severity: minor Keywords:
Cc: OS Platform: AmigaOS4
Blocked By: Blocking:
Release Notes:


Some external mcc classes prefs got corrupt images in MUI/Prefs

AOS4 in P96/8bit mode

Attachments (2)

image-bugs.png (38.7 KB) - added by Mikhail Malyshev 6 years ago.
nbitmap.lha (12.7 KB) - added by Thore Böckelmann 6 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 51 years ago by Mikhail Malyshev

Status: pendingnew

Changed 6 years ago by Mikhail Malyshev

Attachment: image-bugs.png added

comment:1 Changed 6 years ago by Thore Böckelmann

Component: undefinedforeign class
Priority: undecidednormal

I just changed the color reduction process in NBitmap.mcc which is responsible for the page images. Please try the attached version.

Changed 6 years ago by Thore Böckelmann

Attachment: nbitmap.lha added

comment:2 Changed 6 years ago by Mikhail Malyshev

No effect, same results.

comment:3 Changed 6 years ago by Thore Böckelmann

Status: newpending

Any news on this issue since the recent release of NList 0.120?

comment:4 Changed 6 years ago by Mikhail Malyshev

Seems to be ok for now (OS41FE).

But there is yet another problem with cached images.

ie. WB in 8bit, load MUI, OS4 button images are black (no alpha), all seems to be logical (shame that it does it the way it does it, but that's life). Quit MUI
Now change screen to 16bit, run MUI, OS4 button images are still black,
plus the window filled background pattern is corrupt.

Doing AVAIL FLUSH does not seem to clear mui from ram. (between screenmode switches)

comment:5 Changed 6 years ago by Thore Böckelmann

Milestone: 4.0-2015R2
Resolution: fixed
Status: newclosed

To make it short: the original issue is fixed now.

"avail flush" does no longer flush anything from memory since AmigaOS4 got its new memory system, which has been around by now for several years. That's why the SDK includes the Expunge command to remove single libraries or devices instead of removing everything. Additionally MUI has its own FlushMUI tool which tries to terminate all running MUI applications and then tries to remove all MUI classes and libraries from memory.

As you know already the other problem should be a separate ticket. It sounds very similar to #152 and #156, which address exactly the same problem. You never reported any problem since these were closed. However, closing a screen will flush all images loaded for that screen from memory. You can check this yourself by using the debug version of muimaster.library and setting ENV:muidebug to "screen image". Closing the Workbench should produce lines like these:

flush Workbench <address> <address>
flushed <count> images, <count> remaining

Finally there should be no image remaining in case MUI was running on the Workbench only.

comment:6 Changed 6 years ago by Mikhail Malyshev

Checked with latest nightly, all works as expected now

Note: See TracTickets for help on using tickets.