sw_engine: fixed a a regression bug during main dev

borker by 176573ff25
This commit is contained in:
Hermet Park 2025-05-08 21:51:03 +09:00 committed by Hermet Park
parent 2e03fbd630
commit df8d327ebb

View file

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