sw_engine: fixed a a regression bug during main dev

borker by 14130e7e72afaecff2dd091e5e272169c79515b9
This commit is contained in:
Hermet Park 2025-05-08 21:51:03 +09:00
parent a6898ccf42
commit bb6458b50a

View file

@ -118,7 +118,7 @@ struct SwShapeTask : SwTask
auto strokeWidth = validStrokeWidth();
SwBBox renderRegion{};
auto updateShape = (RenderUpdateFlag::Path | RenderUpdateFlag::Transform | RenderUpdateFlag::Clip);
auto updateShape = flags & (RenderUpdateFlag::Path | RenderUpdateFlag::Transform | RenderUpdateFlag::Clip);
auto updateFill = false;
//Shape
@ -145,7 +145,8 @@ struct SwShapeTask : SwTask
}
}
//Stroke
if ((updateShape || flags & RenderUpdateFlag::Stroke) && (strokeWidth > 0.0f)) {
if (updateShape || flags & RenderUpdateFlag::Stroke) {
if (strokeWidth > 0.0f) {
shapeResetStroke(&shape, rshape, transform);
if (!shapeGenStrokeRle(&shape, rshape, transform, bbox, renderRegion, mpool, tid)) goto err;
if (auto fill = rshape->strokeFill()) {
@ -153,6 +154,9 @@ struct SwShapeTask : SwTask
if (ctable) shapeResetStrokeFill(&shape);
if (!shapeGenStrokeFillColors(&shape, fill, transform, surface, opacity, ctable)) goto err;
}
} else {
shapeDelStroke(&shape);
}
}
//Clear current task memorypool here if the clippers would use the same memory pool