Re: Found Bug But Not Sure How to Proceed To Fix
Jeremy Landry <[email protected]> Fri, 2 Mar 2018 19:11:55 -0800
| Newsgroups | gmane.comp.lang.smalltalk.squeak.squeakland |
|---|---|
| Message-ID | <CAMYa41nqgLsHpsp=jtRtPm0yEUkVk9SvdSb9PkNqMUY_j8mk2w@mail.gmail.com> |
--===============9158725147034977919== Content-Type: multipart/alternative; boundary="001a1149c73a8cc2200566797465" --001a1149c73a8cc2200566797465 Content-Type: text/plain; charset="UTF-8" Update: I've traced it down to bitBlt destRect:. Not only is it affecting how sketches (which would be scaled/rotated items) are drawn and aligned to real shapes (like rectangles) but it's also having an effect on how the cursor in playfield is drawn. I'm adding small 'offsets' in-code for now, but I suspect there's something else at play here, possible with some rotation/scaling math handing off bad values? But then again, this would mean that cursors would not leave trails for rectangles and WOULD leave trails for rotated ones...hmmm... On Fri, Mar 2, 2018 at 6:18 PM, Jeremy Landry <[email protected]> wrote: > And I can back that up, now... > > PasteUpMorph cursor _also_ uses the expandBy: method and has redrawing > issues. > > Somehow I think morphs are either giving wrong information to the the > expandBy: method or expandBy: is doing it's own calculations incorrectly.... > > Change the expandBy: to any number and the cursor square will change (use > a larger number, btw) and it will still not erase correctly. It has a 2 > pixel offset, the same as the thickness of the cursor. > > On Fri, Mar 2, 2018 at 5:59 PM, Jeremy Landry <[email protected]> wrote: > >> So far, with a little testing, everything lines up much better with .1 >> instead of removing it. removing that offset still sees to make it offset, >> but .1 lines everything up visually more...still not perfect, but much less >> flagrant. It still has a clipping glitch (you can see it with a rectangle >> when rotating: the border gets clipped off) but it does visually appear >> more 'solid' and expected when aligning rectangular shapes together. >> >> I'm going to keep experimenting to find something that keeps the rotated >> bitmap in tact while still aligning properly. I feel like I probably >> glanced at a method that needs an edit over and over but haven't realized >> which one it is yet. I still need to look into the cursor not being >> properly redrawn as well. I might be stretching or trying to make a >> connection that isn't there, but something 'feels' related to this and the >> cursor, like some common reference point is being shifted so that the >> cursor's area for drawing doesn't reach the left and bottom edges just like >> the origin doesn't reach the left and bottom edges correctly for the this >> rotation issue. >> >> >> >> >> >> On Fri, Mar 2, 2018 at 5:37 PM, David T. Lewis <[email protected]> >> wrote: >> >>> Does anything bad happen if the "expandBy: 1" is removed? I tried >>> removing it >>> in my Squeak trunk image, and "CompassDialMorph new openInWorld" (which >>> is one >>> user of TransformationMorph) seems to work nicely. >>> >>> And if the "expandBy: 1" is removed in an Etoys image, does anything bad >>> happen? >>> Does it fix the issue that Jeremy is seeing? >>> >>> This would be an easy thing to fix in Squeak trunk, which hopefully will >>> become >>> part of future Etoys releases, knock wood. >>> >>> Dave >>> >>> >>> On Fri, Mar 02, 2018 at 03:19:54PM -0500, Bob Arning wrote: >>> > TransformationMorph>>computeBounds >>> > ?????? self hasSubmorphs ifTrue: >>> > ?????? ?????? [bounds _ (transform localBoundsToGlobal: >>> > ?????? ?????? ?????? ?????? ?????? (Rectangle merging: >>> > ?????? ?????? ?????? ?????? ?????? ?????? (self submorphs collect: [:m >>> | m >>> > fullBounds]))) truncated >>> > ?????? ?????? ?????? ?????? expandBy: 1]. >>> > ?????? fullBounds _ bounds. >>> > >>> > Note the expandBy: 1 >>> > >>> > >>> > On 3/2/18 1:59 PM, Jeremy Landry wrote: >>> > >Actually to add a little more insight if possible, you can create bug >>> > >with the following actions: >>> > > >>> > >make a new playfield >>> > >make 2 new rectangles and place them into the playfield. >>> > >Rotate one of them 90 degrees. >>> > >Turn gridding on in the playfield. >>> > > >>> > >The rotated and unscaled rectangle will not align with the non-rotated >>> > >one with gridding.?? Something about making a bitmap copy is >>> offsetting >>> > >the values, my guess is there's a rounding problem that is popping up >>> > >on these objects, thus scale and rotation get offset for some reason, >>> > >and specifically changes the origin by 1@-1 somewhere...it causes >>> > >graphical glitches leaving 'garbage' with playfield indicators when >>> > >the object that has the indicator is moved and also shows up with >>> > >rotated ellipses.?? What is the common thread through them all??? What >>> > >method are they all accessing? >>> > > >>> > >On Fri, Mar 2, 2018 at 10:45 AM, Jeremy Landry <[email protected] >>> > ><mailto:[email protected]>> wrote: >>> > > >>> > > You will also notice if you rotate any shape, it becomes a bit >>> > > map.?? Scale it and you will see that problem re-occur even with >>> > > built-in objects.?? Could it be the masking offset, too??? that >>> > > causes this??? I'm still investigating, but I'm not sure how to >>> > > step through 'already working' things specifically related to what >>> > > I'm trying to look at. >>> > > >>> > > On Fri, Mar 2, 2018 at 10:42 AM, Jeremy Landry <[email protected] >>> > > <mailto:[email protected]>> wrote: >>> > > >>> > > Hi, it only appears when scaling a morph.?? Here is >>> > > example...it is my belief (how does one step through code with >>> > > debugger if there's no bug happening?); >>> > > >>> > > Whatever code is common that scales morphs is being offset >>> > > incorrectly. The first image shows the 'garbage' left behind >>> > > by playfield indicator if that option is set.?? It seems it >>> was >>> > > only tested in 'holders' and thus likely not picked up during >>> > > 'intended' use. >>> > > >>> > > Next, two pictures show scaling as where the misalignment >>> > > starts.?? This might be why you could not recreate bug; >>> > > resizing rectangle changes rectangle morph extent, whereas >>> > > scaling is a differnet piece of code and therefore different >>> > > outcome. >>> > > >>> > > Image included.?? This works with *anything* scaled. >>> > > https://imgur.com/a/6zEWq >>> > > >>> > > On Fri, Mar 2, 2018 at 10:20 AM, Bob Arning >>> > > <[email protected] <mailto:[email protected]>> wrote: >>> > > >>> > > I tried to recreate your example and could not. How did >>> > > you create the two morphs in your example? Are you certain >>> > > the read/gray morph does not have some transparent pixels >>> > > along the top and left? >>> > > >>> > > >>> > > On 3/2/18 12:50 PM, Jeremy Landry wrote: >>> > >> I did a little more digging, just for the record...and it >>> > >> turns out it's scaling error.?? No matter what, scaling >>> > >> offsets morphs by 1@-1.?? I'm still looking for where >>> this >>> > >> occurs and why.?? So far, injecting intentionally bad >>> > >> values into bordered morph and sketch classes hasn't >>> > >> produced any change.?? It 'feels' like most of that code >>> > >> isn't even used, but then again, I might not have >>> > >> genuinely created a new object with that code and system >>> > >> might have been giving me what was already in system... >>> > >> >>> > >> >>> > >> On Fri, Mar 2, 2018 at 7:15 AM, Bert Freudenberg >>> > >> <[email protected] <mailto:[email protected]>> >>> wrote: >>> > >> >>> > >> That bug tracker is pretty much dead, since all >>> > >> ongoing development moved to squeak.org >>> > >> <http://squeak.org>. >>> > >> >>> > >> The plan was to make a new Etoys release based on the >>> > >> latest Squeak source base, but we have not have >>> > >> enough developer time to make that actually happen. >>> > >> >>> > >> - Bert - >>> > >> >>> > >> On 1 March 2018 at 06:03, Nicco Kunzmann (rambler) >>> > >> <[email protected] >>> > >> <mailto:[email protected]>> wrote: >>> > >> >>> > >> Hi, >>> > >> >>> > >> I found a bug tracker on the squeakland site: >>> > >> http://tracker.squeakland.org/ >>> secure/Dashboard.jspa >>> > >> <http://tracker.squeakland.org >>> /secure/Dashboard.jspa> >>> > >> >>> > >> I think, you can describe the problem there as an >>> > >> issue and hand in the fix. >>> > >> They may also know how to guide you further if >>> > >> the code base is somewhere else. >>> > >> If you have problems there (login, no response), >>> > >> I guess, this mailing list is one place to ask >>> > >> for help. >>> > >> >>> > >> Best, >>> > >> Nicco >>> > >> >>> > >> >>> > >> On 03/01/2018 03:34 AM, Jeremy Landry wrote: >>> > >>> Hi, while working on a project needing precise >>> > >>> alignment of sketches/bitmaps and rectangles >>> > >>> using playfield 'use gridding', it seems that >>> > >>> there's a difference of detected origin. >>> > >>> >>> > >>> Here's a screenshot with magnifier showing the >>> > >>> discrepency. >>> > >>> https://imgur.com/a/tcaRu >>> > >>> >>> > >>> I'm quite certain this bug is the one that >>> > >>> causes bad redrawing, especially when showing a >>> > >>> cursor move when 'indicate cursor' is activated >>> > >>> in a playfield. >>> > >>> >>> > >>> If I correct this bug inside of a project, will >>> > >>> it load into an image where it has not been >>> > >>> fixed and be fixed? >>> > >>> >>> > >>> I haven't actually fixed the bug yet, but didn't >>> > >>> want to waste time on it if the fix will not >>> > >>> travel with the project. >>> > >>> >>> > >>> Thanks in advance for any input. >>> > >>> >>> > >>> >>> > >>> _______________________________________________ >>> > >>> squeakland mailing list >>> > >>> squeakland-bD51WKytQuId/fn+uklp/[email protected] >>> > >>> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> >>> > >>> http://lists.squeakland.org/ma >>> ilman/listinfo/squeakland >>> > >>> <http://lists.squeakland.org/m >>> ailman/listinfo/squeakland> >>> > >> >>> > >> >>> > >> _______________________________________________ >>> > >> squeakland mailing list >>> > >> squeakland-bD51WKytQuId/fn+uklp/[email protected] >>> > >> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> >>> > >> http://lists.squeakland.org/ma >>> ilman/listinfo/squeakland >>> > >> <http://lists.squeakland.org/m >>> ailman/listinfo/squeakland> >>> > >> >>> > >> >>> > >> >>> > >> _______________________________________________ >>> > >> squeakland mailing list >>> > >> squeakland-bD51WKytQuId/fn+uklp/[email protected] >>> > >> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> >>> > >> http://lists.squeakland.org/ma >>> ilman/listinfo/squeakland >>> > >> <http://lists.squeakland.org/m >>> ailman/listinfo/squeakland> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> _______________________________________________ >>> > >> squeakland mailing list >>> > >> squeakland-bD51WKytQuId/fn+uklp/[email protected] >>> > >> <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> >>> > >> http://lists.squeakland.org/mailman/listinfo/squeakland >>> > >> <http://lists.squeakland.org/mailman/listinfo/squeakland >>> > >>> > > >>> > > >>> > > _______________________________________________ >>> > > squeakland mailing list >>> > > squeakland-bD51WKytQuId/fn+uklp/[email protected] >>> > > <mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]> >>> > > http://lists.squeakland.org/mailman/listinfo/squeakland >>> > > <http://lists.squeakland.org/mailman/listinfo/squeakland> >>> > > >>> > > >>> > > >>> > > >>> > >>> >>> > _______________________________________________ >>> > squeakland mailing list >>> > squeakland-bD51WKytQuId/fn+uklp/[email protected] >>> > http://lists.squeakland.org/mailman/listinfo/squeakland >>> >>> _______________________________________________ >>> squeakland mailing list >>> squeakland-bD51WKytQuId/fn+uklp/[email protected] >>> http://lists.squeakland.org/mailman/listinfo/squeakland >>> >> >> > --001a1149c73a8cc2200566797465 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"> <span style=3D"color:rgb(34,34,34);font-family:arial,sans-serif;font-size:s= mall;font-style:normal;font-variant-ligatures:normal;font-variant-caps:norm= al;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;t= ext-transform:none;white-space:normal;word-spacing:0px;background-color:rgb= (255,255,255);text-decoration-style:initial;text-decoration-color:initial;f= loat:none;display:inline">Update:=C2=A0 I've traced it down to bitBlt d= estRect:.=C2=A0=C2=A0</span><div style=3D"color:rgb(34,34,34);font-family:a= rial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:no= rmal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-al= ign:start;text-indent:0px;text-transform:none;white-space:normal;word-spaci= ng:0px;text-decoration-style:initial;text-decoration-color:initial"><br></d= iv><div style=3D"color:rgb(34,34,34);font-family:arial,sans-serif;font-size= :small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:no= rmal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px= ;text-transform:none;white-space:normal;word-spacing:0px;text-decoration-st= yle:initial;text-decoration-color:initial">Not only is it affecting how ske= tches (which would be scaled/rotated items) are drawn and aligned to real s= hapes (like rectangles) but it's also having an effect on how the curso= r in playfield is drawn.=C2=A0 I'm adding small 'offsets' in-co= de for now, but I suspect there's something else at play here, possible= with some rotation/scaling math handing off bad values?=C2=A0 But then aga= in, this would mean that cursors would not leave trails for rectangles and = WOULD leave trails for rotated ones...hmmm...</div> <br></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Fri,= Mar 2, 2018 at 6:18 PM, Jeremy Landry <span dir=3D"ltr"><<a href=3D"mai= lto:[email protected]" target=3D"_blank">[email protected]</a>></span> w= rote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde= r-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">And I can back tha= t up, now...<div><br></div><div>PasteUpMorph cursor=C2=A0 _also_ uses the e= xpandBy: method and has redrawing issues.</div><div><br></div><div>Somehow = I think morphs are either giving wrong information to the the expandBy: met= hod or expandBy: is doing it's own calculations incorrectly....</div><d= iv><br></div><div>Change the expandBy: to any number and the cursor square = will change (use a larger number, btw) and it will still not erase correctl= y.=C2=A0 It has a 2 pixel offset, the same as the thickness of the cursor.<= /div></div><div class=3D"HOEnZb"><div class=3D"h5"><div class=3D"gmail_extr= a"><br><div class=3D"gmail_quote">On Fri, Mar 2, 2018 at 5:59 PM, Jeremy La= ndry <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_= blank">[email protected]</a>></span> wrote:<br><blockquote class=3D"gmai= l_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left= :1ex"><div dir=3D"ltr">So far, with a little testing, everything lines up m= uch better with .1 instead of removing it.=C2=A0 removing that offset still= sees to make it offset, but .1 lines everything up visually more...still n= ot perfect, but much less flagrant.=C2=A0 It still has a clipping glitch (y= ou can see it with a rectangle when rotating: the border gets clipped off) = but it does visually appear more 'solid' and expected when aligning= rectangular shapes together.<div><br></div><div>I'm going to keep expe= rimenting to find something that keeps the rotated bitmap in tact while sti= ll aligning properly.=C2=A0 I feel like I probably glanced at a method that= needs an edit over and over but haven't realized which one it is yet. = I still need to look into the cursor not being properly redrawn as well.=C2= =A0 I might be stretching or trying to make a connection that isn't the= re, but something 'feels' related to this and the cursor, like some= common reference point is being shifted so that the cursor's area for = drawing doesn't reach the left and bottom edges just like the origin do= esn't reach the left and bottom edges correctly for the this rotation i= ssue.</div><div><br></div><div><br></div><div><br></div><div><br></div></di= v><div class=3D"m_-3220180386521783406HOEnZb"><div class=3D"m_-322018038652= 1783406h5"><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Fri= , Mar 2, 2018 at 5:37 PM, David T. Lewis <span dir=3D"ltr"><<a href=3D"m= ailto:[email protected]" target=3D"_blank">[email protected]</a>></s= pan> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex= ;border-left:1px #ccc solid;padding-left:1ex">Does anything bad happen if t= he "expandBy: 1" is removed? I tried removing it<br> in my Squeak trunk image, and "CompassDialMorph new openInWorld" = (which is one<br> user of TransformationMorph) seems to work nicely.<br> <br> And if the "expandBy: 1" is removed in an Etoys image, does anyth= ing bad happen?<br> Does it fix the issue that Jeremy is seeing?<br> <br> This would be an easy thing to fix in Squeak trunk, which hopefully will be= come<br> part of future Etoys releases, knock wood.<br> <br> Dave<br> <br> <br> On Fri, Mar 02, 2018 at 03:19:54PM -0500, Bob Arning wrote:<br> > TransformationMorph>>computeBo<wbr>unds<br> > ?????? self hasSubmorphs ifTrue:<br> > ?????? ?????? [bounds _ (transform localBoundsToGlobal:<br> > ?????? ?????? ?????? ?????? ?????? (Rectangle merging:<br> > ?????? ?????? ?????? ?????? ?????? ?????? (self submorphs collect: [:m= | m<br> > fullBounds]))) truncated<br> > ?????? ?????? ?????? ?????? expandBy: 1].<br> > ?????? fullBounds _ bounds.<br> <span>><br> > Note the expandBy: 1<br> ><br> ><br> > On 3/2/18 1:59 PM, Jeremy Landry wrote:<br> > >Actually to add a little more insight if possible, you can create = bug<br> > >with the following actions:<br> > ><br> > >make a new playfield<br> > >make 2 new rectangles and place them into the playfield.<br> > >Rotate one of them 90 degrees.<br> > >Turn gridding on in the playfield.<br> > ><br> > >The rotated and unscaled rectangle will not align with the non-rot= ated<br> </span>> >one with gridding.?? Something about making a bitmap copy i= s offsetting<br> <span>> >the values, my guess is there's a rounding problem that = is popping up<br> > >on these objects, thus scale and rotation get offset for some reas= on,<br> > >and specifically changes the origin by 1@-1 somewhere...it causes<= br> > >graphical glitches leaving 'garbage' with playfield indica= tors when<br> > >the object that has the indicator is moved and also shows up with<= br> </span>> >rotated ellipses.?? What is the common thread through them = all??? What<br> <span>> >method are they all accessing?<br> > ><br> > >On Fri, Mar 2, 2018 at 10:45 AM, Jeremy Landry <<a href=3D"mail= to:[email protected]" target=3D"_blank">[email protected]</a><br> </span><span>> ><mailto:<a href=3D"mailto:[email protected]" targe= t=3D"_blank">[email protected]</a>>> wrote:<br> > ><br> > >=C2=A0 =C2=A0 You will also notice if you rotate any shape, it bec= omes a bit<br> </span>> >=C2=A0 =C2=A0 map.?? Scale it and you will see that problem= re-occur even with<br> > >=C2=A0 =C2=A0 built-in objects.?? Could it be the masking offset, = too??? that<br> > >=C2=A0 =C2=A0 causes this??? I'm still investigating, but I= 9;m not sure how to<br> <span>> >=C2=A0 =C2=A0 step through 'already working' things = specifically related to what<br> > >=C2=A0 =C2=A0 I'm trying to look at.<br> > ><br> > >=C2=A0 =C2=A0 On Fri, Mar 2, 2018 at 10:42 AM, Jeremy Landry <<= a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>= <br> </span>> >=C2=A0 =C2=A0 <mailto:<a href=3D"mailto:[email protected]= m" target=3D"_blank">[email protected]</a>>> wrote:<br> > ><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Hi, it only appears when scaling a mor= ph.?? Here is<br> <span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 example...it is my belief (how d= oes one step through code with<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 debugger if there's no bug happeni= ng?);<br> > ><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Whatever code is common that scales mo= rphs is being offset<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 incorrectly. The first image shows the= 'garbage' left behind<br> </span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 by playfield indicator if that = option is set.?? It seems it was<br> <span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 only tested in 'holders'= and thus likely not picked up during<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 'intended' use.<br> > ><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Next, two pictures show scaling as whe= re the misalignment<br> </span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 starts.?? This might be why you= could not recreate bug;<br> <span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 resizing rectangle changes recta= ngle morph extent, whereas<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 scaling is a differnet piece of code a= nd therefore different<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 outcome.<br> > ><br> </span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 Image included.?? This works wi= th *anything* scaled.<br> <span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"https://imgur.com/a/6= zEWq" rel=3D"noreferrer" target=3D"_blank">https://imgur.com/a/6zEWq</a><br= > > ><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 On Fri, Mar 2, 2018 at 10:20 AM, Bob A= rning<br> </span><span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 <<a href=3D"mailto:arn= [email protected]" target=3D"_blank">[email protected]</a> <mailto:= <a href=3D"mailto:[email protected]" target=3D"_blank">arning315@comcas= t.net</a>><wbr>> wrote:<br> > ><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 I tried to recreate your= example and could not. How did<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 you create the two morph= s in your example? Are you certain<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 the read/gray morph does= not have some transparent pixels<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 along the top and left?<= br> > ><br> > ><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 On 3/2/18 12:50 PM, Jere= my Landry wrote:<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 I did a little more = digging, just for the record...and it<br> </span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 turns out it&= #39;s scaling error.?? No matter what, scaling<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 offsets morphs by 1@= -1.?? I'm still looking for where this<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 occurs and why.?? So= far, injecting intentionally bad<br> <span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 values into bo= rdered morph and sketch classes hasn't<br> </span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 produced any = change.?? It 'feels' like most of that code<br> <span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 isn't even= used, but then again, I might not have<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 genuinely created a = new object with that code and system<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 might have been givi= ng me what was already in system...<br> > >><br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 On Fri, Mar 2, 2018 = at 7:15 AM, Bert Freudenberg<br> </span><span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <<a = href=3D"mailto:[email protected]" target=3D"_blank">[email protected]= </a> <mailto:<a href=3D"mailto:[email protected]" target=3D"_blank">b= [email protected]</a>>> wrote:<br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 That b= ug tracker is pretty much dead, since all<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ongoin= g development moved to <a href=3D"http://squeak.org" rel=3D"noreferrer" tar= get=3D"_blank">squeak.org</a><br> </span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= <<a href=3D"http://squeak.org" rel=3D"noreferrer" target=3D"_blank">htt= p://squeak.org</a>>.<br> <span>> >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 The pl= an was to make a new Etoys release based on the<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 latest= Squeak source base, but we have not have<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 enough= developer time to make that actually happen.<br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 - Bert= -<br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 On 1 M= arch 2018 at 06:03, Nicco Kunzmann (rambler)<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <<a= href=3D"mailto:[email protected]" target=3D"_blank">niccokunzmann@r= ambler.ru</a><br> </span><div><div class=3D"m_-3220180386521783406m_-1416106533699505376h5">&= gt; >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <mai= lto:<a href=3D"mailto:[email protected]" target=3D"_blank">niccokunz= mann@rambler.<wbr>ru</a>>> wrote:<br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 Hi,<br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 I found a bug tracker on the squeakland site:<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 <a href=3D"http://tracker.squeakland.org/secure/Dashboard.jspa" rel= =3D"noreferrer" target=3D"_blank">http://tracker.squeakland.org/<wbr>secure= /Dashboard.jspa</a><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 <<a href=3D"http://tracker.squeakland.org/secure/Dashboard.jspa"= rel=3D"noreferrer" target=3D"_blank">http://tracker.squeakland.org<wbr>/se= cure/Dashboard.jspa</a>><br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 I think, you can describe the problem there as an<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 issue and hand in the fix.<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 They may also know how to guide you further if<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 the code base is somewhere else.<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 If you have problems there (login, no response),<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 I guess, this mailing list is one place to ask<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 for help.<br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 Best,<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 Nicco<br> > >><br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 On 03/01/2018 03:34 AM, Jeremy Landry wrote:<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 Hi, while working on a project needing precise<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 alignment of sketches/bitmaps and rectangles<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 using playfield 'use gridding', it seems that<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 there's a difference of detected origin.<br> > >>><br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 Here's a screenshot with magnifier showing the<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 discrepency.<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 <a href=3D"https://imgur.com/a/tcaRu" rel=3D"noreferrer" targ= et=3D"_blank">https://imgur.com/a/tcaRu</a><br> > >>><br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 I'm quite certain this bug is the one that<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 causes bad redrawing, especially when showing a<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 cursor move when 'indicate cursor' is activated<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 in a playfield.<br> > >>><br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 If I correct this bug inside of a project, will<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 it load into an image where it has not been<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 fixed and be fixed?<br> > >>><br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 I haven't actually fixed the bug yet, but didn't<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 want to waste time on it if the fix will not<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 travel with the project.<br> > >>><br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 Thanks in advance for any input.<br> > >>><br> > >>><br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 ______________________________<wbr>_________________<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 squeakland mailing list<br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 <a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"= _blank">squeakland-bD51WKytQuId/fn+uklp/[email protected]<wbr>g</a><br> </div></div>> >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 <mailto:<a href=3D"mailto:[email protected]= akland.org" target=3D"_blank">[email protected]<wbr>kland.org</a>><= br> > >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 <a href=3D"http://lists.squeakland.org/mailman/listinfo/squea= kland" rel=3D"noreferrer" target=3D"_blank">http://lists.squeakland.org/ma<= wbr>ilman/listinfo/squeakland</a><br> <span>> >>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 <<a href=3D"http://lists.squeakland.org/mailman/listin= fo/squeakland" rel=3D"noreferrer" target=3D"_blank">http://lists.squeakland= .org/m<wbr>ailman/listinfo/squeakland</a>><br> > >><br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 ______________________________<wbr>_________________<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 squeakland mailing list<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 <a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank= ">squeakland-bD51WKytQuId/fn+uklp/[email protected]<wbr>g</a><br> </span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 <mailto:<a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]= " target=3D"_blank">[email protected]<wbr>kland.org</a>><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 <a href=3D"http://lists.squeakland.org/mailman/listinfo/squeakland"= rel=3D"noreferrer" target=3D"_blank">http://lists.squeakland.org/ma<wbr>il= man/listinfo/squeakland</a><br> <span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 <<a href=3D"http://lists.squeakland.org/mailman/listinfo/s= queakland" rel=3D"noreferrer" target=3D"_blank">http://lists.squeakland.org= /m<wbr>ailman/listinfo/squeakland</a>><br> > >><br> > >><br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ______= ________________________<wbr>_________________<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 squeak= land mailing list<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a hre= f=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank">squeakland@l= ists.squeakland.or<wbr>g</a><br> </span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= <mailto:<a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_b= lank">[email protected]<wbr>kland.org</a>><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a hre= f=3D"http://lists.squeakland.org/mailman/listinfo/squeakland" rel=3D"norefe= rrer" target=3D"_blank">http://lists.squeakland.org/ma<wbr>ilman/listinfo/s= queakland</a><br> <span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = <<a href=3D"http://lists.squeakland.org/mailman/listinfo/squeakland" rel= =3D"noreferrer" target=3D"_blank">http://lists.squeakland.org/m<wbr>ailman/= listinfo/squeakland</a>><br> > >><br> > >><br> > >><br> > >><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ____________________= __________<wbr>_________________<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 squeakland mailing l= ist<br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"mailto:sq= ueakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank">[email protected]= d.or<wbr>g</a><br> </span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <mailto:<a= href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank">squeakla= [email protected]<wbr>kland.org</a>><br> > >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"http://li= sts.squeakland.org/mailman/listinfo/squeakland" rel=3D"noreferrer" target= =3D"_blank">http://lists.squeakland.org/ma<wbr>ilman/listinfo/squeakland</a= ><br> <span>> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <<a href=3D= "http://lists.squeakland.org/mailman/listinfo/squeakland" rel=3D"noreferrer= " target=3D"_blank">http://lists.squeakland.org/m<wbr>ailman/listinfo/squea= kland</a>><br> > ><br> > ><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ________________________= ______<wbr>_________________<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 squeakland mailing list<= br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"mailto:squeak= land-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank">squeakland-bD51WKytQuId/fn+uklp/[email protected]= <wbr>g</a><br> </span>> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <mailto:<a hre= f=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank">squeakland@l= ists.squea<wbr>kland.org</a>><br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"http://lists.= squeakland.org/mailman/listinfo/squeakland" rel=3D"noreferrer" target=3D"_b= lank">http://lists.squeakland.org/ma<wbr>ilman/listinfo/squeakland</a><br> <div class=3D"m_-3220180386521783406m_-1416106533699505376HOEnZb"><div clas= s=3D"m_-3220180386521783406m_-1416106533699505376h5">> >=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 <<a href=3D"http://lists.squeakland.org/mai= lman/listinfo/squeakland" rel=3D"noreferrer" target=3D"_blank">http://lists= .squeakland.org/m<wbr>ailman/listinfo/squeakland</a>><br> > ><br> > ><br> > ><br> > ><br> ><br> <br> > ______________________________<wbr>_________________<br> > squeakland mailing list<br> > <a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank">s= queakland-bD51WKytQuId/fn+uklp/[email protected]<wbr>g</a><br> > <a href=3D"http://lists.squeakland.org/mailman/listinfo/squeakland" re= l=3D"noreferrer" target=3D"_blank">http://lists.squeakland.org/ma<wbr>ilman= /listinfo/squeakland</a><br> <br> ______________________________<wbr>_________________<br> squeakland mailing list<br> <a href=3D"mailto:squeakland-bD51WKytQuId/fn+uklp/[email protected]" target=3D"_blank">squeak= land-bD51WKytQuId/fn+uklp/[email protected]<wbr>g</a><br> <a href=3D"http://lists.squeakland.org/mailman/listinfo/squeakland" rel=3D"= noreferrer" target=3D"_blank">http://lists.squeakland.org/ma<wbr>ilman/list= info/squeakland</a><br> </div></div></blockquote></div><br></div> </div></div></blockquote></div><br></div> </div></div></blockquote></div><br></div> --001a1149c73a8cc2200566797465-- --===============9158725147034977919== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Kc3F1ZWFrbGFu ZCBtYWlsaW5nIGxpc3QKc3F1ZWFrbGFuZEBsaXN0cy5zcXVlYWtsYW5kLm9yZwpodHRwOi8vbGlz dHMuc3F1ZWFrbGFuZC5vcmcvbWFpbG1hbi9saXN0aW5mby9zcXVlYWtsYW5kCg== --===============9158725147034977919==--