On 8 May 2015 at 00:43, Nicolai Hess <[email protected]> wrote: > > Some testers needed! > > I can not reproduce the BitBlt bug and I would like to get this right, so > that surface pattern > paints use the correct form dimension. > > Be sure, my fried, the bug is there, sitting in VM. Bitblt implementation prereads a pixel from bitmap *before* checking the loop bounds, meaning that it reads at least a single byte beyond the actual contents of the bitmap. It is not harmful in cases when bitmap is allocated in object memory since VM memory design actually guarantees, that there are at least certain amount of bytes in form of breathing space always available, so reading single word past any allocated object is not hurts.. But not in case, when bitmap residing in external heap.. because reading beyond allocated space might cause segmentation fault.. and it was, until i figured what was causing it and where the bug is.
> Prefered test setup: > a (fresh) pharo image > load bleeding edge from Bloc (because with bloc the whole (morphic) world > is drawn with athens). > change to watery theme ( because it makes some heavy use of form fills) > verify that vertical scrollbars have this artifact (blank lines). > load the attached code (this code reverts igors change for the 1 pixel > extra height. > > please report back > what platform windows/linux/mac 32/64 bit > what pharo vm and image version. > > For me > Windows 7 32 bit > Win32 built on Apr 9 2015 21:05:04 Compiler: 4.6.2 > Latest update: #50039 > > -> no segfault > > thanks in advance > > > 2015-03-13 21:22 GMT+01:00 stepharo <[email protected]>: > >> I do not know. May be igor is reading this mailing-list but I doubt. >> >> >> 2015-01-27 21:46 GMT+01:00 Nicolai Hess <[email protected]>: >> >> Anyone knows what this BitBlt bug is or was? >>> 12818 <https://pharo.fogbugz.com/default.asp?12818> Last row missing >>> 13236 <https://pharo.fogbugz.com/default.asp?13236> Fix 1 extra height >>> for Cairo surface >>> >>> Because with the fix in 13236, it is not (easily) possible to make >>> a repeating (vertical) pattern paint with 1 pixel height: >>> 14813 <https://pharo.fogbugz.com/default.asp?14813> Wrong size for >>> Athens surface pattern paint from a Form >>> >>> >>> nicolai >>> >>> >>> >> BUMP >> >> >> >> >> >> > -- Best regards, Igor Stasenko.
