heurisko bug no. 6088

This applies to heurisko 5.2.1 and higher.

Symptoms

The blue channel of a 2-D inspector window of type ispector cannot be scrolled horizontally if three atoms are inspected.

Cause

If an image is scrolled horizontally, the first displayed pixel of an image row is no longer the first pixel in the row of the inspected object. Instead, the display starts at an offset that is determined by the slider in the scrolling bar. Erroneously, this offset is ignored in the blue channel of an inspector window. However, this is only true, if three atoms are inspected. Examples:
ubyte3 ub3[300][400]; struct st[300][400] {ubyte r, g, b}; ubyte list/3/[300][400]; display dub3, type "inspector", ub3; # 1 atom -> no scrolling error display dst, type"inspector", st; # 3 atoms -> scrolling error display dlist, type"inspector", list/0/@list/1/@list/2/; # 3 atoms -> scrolling errorIf an image is scrolled horizontally, the first displayed pixel of an image row is no longer the first pixel in the row of the inspected object. Instead, the display starts at an offset that is determined by the slider in the scrolling bar. Erroneously, this offset is ignored in the blue channel of an inspector window. However, this is only true, if three atoms are inspected. Examples: ubyte3 ub3[300][400]; struct st[300][400] {ubyte r, g, b}; ubyte list/3/[300][400]; display dub3, type "inspector", ub3; # 1 atom -> no scrolling error display dst, type"inspector", st; # 3 atoms -> scrolling error display dlist, type"inspector", list/0/@list/1/@list/2/; # 3 atoms -> scrolling error

Workaround

You may copy the data of the three atoms into a single atom with a packed data type such as ubyte3.

Fix

6.3.1./6.4.0.1

Back to overview