hrev54420 adds 1 changeset to branch 'master'
old head: c97647019c659f231f090eba4031c04346fc6b78
new head: 4ad808b67d63a3f631b6caebf72c25726eaef6ce
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=4ad808b67d63+%5Ec97647019c65
----------------------------------------------------------------------------
4ad808b67d63: app_server: Fix clipping computation in DrawArc
The clipped rect was extended with the stroke width, and then the result
was overwritten.
Fixes #3130.
[ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev54420
Commit: 4ad808b67d63a3f631b6caebf72c25726eaef6ce
URL: https://git.haiku-os.org/haiku/commit/?id=4ad808b67d63
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sun Jul 12 11:11:11 2020 UTC
Ticket: https://dev.haiku-os.org/ticket/3130
----------------------------------------------------------------------------
1 file changed, 3 insertions(+), 6 deletions(-)
src/servers/app/drawing/DrawingEngine.cpp | 9 +++------
----------------------------------------------------------------------------
diff --git a/src/servers/app/drawing/DrawingEngine.cpp
b/src/servers/app/drawing/DrawingEngine.cpp
index 8d50de84a5..7824f72306 100644
--- a/src/servers/app/drawing/DrawingEngine.cpp
+++ b/src/servers/app/drawing/DrawingEngine.cpp
@@ -649,12 +649,11 @@ DrawingEngine::DrawArc(BRect r, const float& angle, const
float& span,
make_rect_valid(r);
fPainter->AlignEllipseRect(&r, filled);
- BRect clipped(r);
if (!filled)
- extend_by_stroke_width(clipped, fPainter->PenSize());
+ extend_by_stroke_width(r, fPainter->PenSize());
- clipped = fPainter->TransformAndClipRect(r);
+ BRect clipped(fPainter->TransformAndClipRect(r));
if (clipped.IsValid()) {
AutoFloatingOverlaysHider _(fGraphicsCard, clipped);
@@ -682,9 +681,7 @@ DrawingEngine::FillArc(BRect r, const float& angle, const
float& span,
make_rect_valid(r);
fPainter->AlignEllipseRect(&r, true);
- BRect clipped(r);
-
- clipped = fPainter->TransformAndClipRect(r);
+ BRect clipped(fPainter->TransformAndClipRect(r));
if (clipped.IsValid()) {
AutoFloatingOverlaysHider _(fGraphicsCard, clipped);