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(); auto strokeWidth = validStrokeWidth();
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
@ -145,7 +145,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()) {
@ -153,6 +154,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