Hi Thomas. Thomas DeWeese: > How are things going?
Not bad. Forever a uni student, but what can you do? :) > I probably can't give you a brief run down but here we go anyway... > … Thanks, that was useful. > The Renderer just swaps back and forth between the two rasters most of > the time. However if the window size _grows_ then it will allocate at > least one new raster. This I think is where we get into trouble. If we > have just grown the Raster then the working/copyRaster will have larger > bounds than the currentRaster. This is critical because when we go > to copy the previous dirty regions we only intersect the copying rect > against the working/copyRaster (r = dr.intersection(r) line 218). I > didn't think of intersecting with the currentRaster since that dirty > rectangle came from the update of that Raster. Ah, understood. > I'm having a little trouble associating the anti-alias outset with > the problem. However I'm fairly certain that if we clip the copy rects > against the currentRasters bounds it will fix the problem. > > Rectangle dr = copyRaster.getBounds(); > + Rectangle sr = null; > + if (currentRaster != null) > + sr = currentRaster.getBounds(); > > ---- > > Rectangle r = (Rectangle)iter.next(); > if (!dr.intersects(r)) continue; > r = dr.intersection(r); > + if (!sr.intersects(r)) continue; > + r = sr.intersection(r); That does seem to fix the problem (adding an extra null check for sr in there), so I’ve just committed it. Thanks! Cameron -- Cameron McCormack ≝ http://mcc.id.au/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
