Huw Davies : gdi32: Don't create the outline region twice.

Alexandre Julliard julliard at winehq.org
Mon Jan 9 14:24:30 CST 2012


Module: wine
Branch: master
Commit: 7994f2c03b6a555a57b29cbfc7db0be34ab5f068
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7994f2c03b6a555a57b29cbfc7db0be34ab5f068

Author: Huw Davies <huw at codeweavers.com>
Date:   Mon Jan  9 14:20:22 2012 +0000

gdi32: Don't create the outline region twice.

---

 dlls/gdi32/dibdrv/graphics.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c
index 766514f..166c577 100644
--- a/dlls/gdi32/dibdrv/graphics.c
+++ b/dlls/gdi32/dibdrv/graphics.c
@@ -271,11 +271,10 @@ static BOOL draw_arc( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
         !(interior = CreatePolygonRgn( points, count, WINDING )))
     {
         HeapFree( GetProcessHeap(), 0, points );
+        if (outline) DeleteObject( outline );
         return FALSE;
     }
 
-    if (pdev->pen_uses_region) outline = CreateRectRgn( 0, 0, 0, 0 );
-
     /* if not using a region, paint the interior first so the outline can overlap it */
     if (interior && !outline)
     {
@@ -1036,11 +1035,10 @@ BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom,
                                          ellipse_width, ellipse_height )))
     {
         HeapFree( GetProcessHeap(), 0, points );
+        if (outline) DeleteObject( outline );
         return FALSE;
     }
 
-    if (pdev->pen_uses_region) outline = CreateRectRgn( 0, 0, 0, 0 );
-
     /* if not using a region, paint the interior first so the outline can overlap it */
     if (interior && !outline)
     {




More information about the wine-cvs mailing list