[haiku-commits] haiku: hrev54420 - src/servers/app/drawing

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 12 Jul 2020 07:13:00 -0400 (EDT)

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);


Other related posts:

  • » [haiku-commits] haiku: hrev54420 - src/servers/app/drawing - Adrien Destugues