When calling drawImageTransformed (with an image that has non-zero dimensions), I’m getting on some occasions an assertion failed at the line jassert ((x >> 8) >= bounds.getX() && (x >> 8) < bounds.getRight()); in EdgeTable::iterate. This happens when the ‘bound’ rect is zero width. Adding a if (bounds.getWidth()==0) return; at the top avoids that jassert failed.
Ok… since I can’t reproduce this, could you do me a favour and see whether this fixes it? I’d rather prevent the condition happening before it gets as far as the iteration stage.
[code]bool EdgeTable::isEmpty() noexcept
{
if (needToCheckEmptinesss)
{
if (bounds.getWidth() > 0)
{
needToCheckEmptinesss = false;
int* t = table;
for (int i = bounds.getHeight(); --i >= 0;)
{
if (t[0] > 1)
return false;
t += lineStrideElements;
}
}
bounds.setHeight (0);
}
return bounds.getHeight() == 0;
in SavedState::renderImage , the ClipRegionBase c is contructed as the empty intersection of two rectangles:
SoftwareRendererClasses::ClipRegionBase::Ptr c (new SoftwareRendererClasses::ClipRegion_EdgeTable (Rectangle (tx, ty, sourceImage.getWidth(), sourceImage.getHeight()).getIntersection (image.getBounds())));
These two rectangles do not intersect, they are just adjacent (for example r1 = (x=-10, y=0, w=10, h=10) r2 = (x=0, y=0, w=10, h=10) )