Alexandre Julliard : gdi32: Don' t hold the GDI lock while calling the driver path functions.

Alexandre Julliard julliard at winehq.org
Tue Sep 25 07:50:46 CDT 2007


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Sep 24 18:16:29 2007 +0200

gdi32: Don't hold the GDI lock while calling the driver path functions.

---

 dlls/gdi32/path.c |   48 ++++++++++++++++++++++++------------------------
 1 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/dlls/gdi32/path.c b/dlls/gdi32/path.c
index b887a86..683bdba 100644
--- a/dlls/gdi32/path.c
+++ b/dlls/gdi32/path.c
@@ -129,7 +129,7 @@ static inline void INTERNAL_LPTODP_FLOAT(DC *dc, FLOAT_POINT *point)
 BOOL WINAPI BeginPath(HDC hdc)
 {
     BOOL ret = TRUE;
-    DC *dc = DC_GetDCPtr( hdc );
+    DC *dc = get_dc_ptr( hdc );
 
     if(!dc) return FALSE;
 
@@ -148,7 +148,7 @@ BOOL WINAPI BeginPath(HDC hdc)
             dc->path.state=PATH_Open;
         }
     }
-    DC_ReleaseDCPtr( dc );
+    release_dc_ptr( dc );
     return ret;
 }
 
@@ -159,7 +159,7 @@ BOOL WINAPI BeginPath(HDC hdc)
 BOOL WINAPI EndPath(HDC hdc)
 {
     BOOL ret = TRUE;
-    DC *dc = DC_GetDCPtr( hdc );
+    DC *dc = get_dc_ptr( hdc );
 
     if(!dc) return FALSE;
 
@@ -176,7 +176,7 @@ BOOL WINAPI EndPath(HDC hdc)
         /* Set flag to indicate that path is finished */
         else dc->path.state=PATH_Closed;
     }
-    DC_ReleaseDCPtr( dc );
+    release_dc_ptr( dc );
     return ret;
 }
 
@@ -198,7 +198,7 @@ BOOL WINAPI EndPath(HDC hdc)
 BOOL WINAPI AbortPath( HDC hdc )
 {
     BOOL ret = TRUE;
-    DC *dc = DC_GetDCPtr( hdc );
+    DC *dc = get_dc_ptr( hdc );
 
     if(!dc) return FALSE;
 
@@ -206,7 +206,7 @@ BOOL WINAPI AbortPath( HDC hdc )
         ret = dc->funcs->pAbortPath(dc->physDev);
     else /* Remove all entries from the path */
         PATH_EmptyPath( &dc->path );
-    DC_ReleaseDCPtr( dc );
+    release_dc_ptr( dc );
     return ret;
 }
 
@@ -219,7 +219,7 @@ BOOL WINAPI AbortPath( HDC hdc )
 BOOL WINAPI CloseFigure(HDC hdc)
 {
     BOOL ret = TRUE;
-    DC *dc = DC_GetDCPtr( hdc );
+    DC *dc = get_dc_ptr( hdc );
 
     if(!dc) return FALSE;
 
@@ -245,7 +245,7 @@ BOOL WINAPI CloseFigure(HDC hdc)
             }
         }
     }
-    DC_ReleaseDCPtr( dc );
+    release_dc_ptr( dc );
     return ret;
 }
 
@@ -258,7 +258,7 @@ INT WINAPI GetPath(HDC hdc, LPPOINT pPoints, LPBYTE pTypes,
 {
    INT ret = -1;
    GdiPath *pPath;
-   DC *dc = DC_GetDCPtr( hdc );
+   DC *dc = get_dc_ptr( hdc );
 
    if(!dc) return -1;
 
@@ -293,7 +293,7 @@ INT WINAPI GetPath(HDC hdc, LPPOINT pPoints, LPBYTE pTypes,
      else ret = pPath->numEntriesUsed;
    }
  done:
-   DC_ReleaseDCPtr( dc );
+   release_dc_ptr( dc );
    return ret;
 }
 
@@ -311,7 +311,7 @@ HRGN WINAPI PathToRegion(HDC hdc)
 {
    GdiPath *pPath;
    HRGN  hrgnRval = 0;
-   DC *dc = DC_GetDCPtr( hdc );
+   DC *dc = get_dc_ptr( hdc );
 
    /* Get pointer to path */
    if(!dc) return 0;
@@ -328,7 +328,7 @@ HRGN WINAPI PathToRegion(HDC hdc)
        else
            hrgnRval=0;
    }
-   DC_ReleaseDCPtr( dc );
+   release_dc_ptr( dc );
    return hrgnRval;
 }
 
@@ -414,7 +414,7 @@ static BOOL PATH_FillPath(DC *dc, GdiPath *pPath)
  */
 BOOL WINAPI FillPath(HDC hdc)
 {
-    DC *dc = DC_GetDCPtr( hdc );
+    DC *dc = get_dc_ptr( hdc );
     BOOL bRet = FALSE;
 
     if(!dc) return FALSE;
@@ -431,7 +431,7 @@ BOOL WINAPI FillPath(HDC hdc)
             PATH_EmptyPath(&dc->path);
         }
     }
-    DC_ReleaseDCPtr( dc );
+    release_dc_ptr( dc );
     return bRet;
 }
 
@@ -446,7 +446,7 @@ BOOL WINAPI SelectClipPath(HDC hdc, INT iMode)
    GdiPath *pPath;
    HRGN  hrgnPath;
    BOOL  success = FALSE;
-   DC *dc = DC_GetDCPtr( hdc );
+   DC *dc = get_dc_ptr( hdc );
 
    if(!dc) return FALSE;
 
@@ -471,7 +471,7 @@ BOOL WINAPI SelectClipPath(HDC hdc, INT iMode)
            /* FIXME: Should this function delete the path even if it failed? */
        }
    }
-   DC_ReleaseDCPtr( dc );
+   release_dc_ptr( dc );
    return success;
 }
 
@@ -1698,7 +1698,7 @@ static void PATH_NormalizePoint(FLOAT_POINT corners[],
 BOOL WINAPI FlattenPath(HDC hdc)
 {
     BOOL ret = FALSE;
-    DC *dc = DC_GetDCPtr( hdc );
+    DC *dc = get_dc_ptr( hdc );
 
     if(!dc) return FALSE;
 
@@ -1709,7 +1709,7 @@ BOOL WINAPI FlattenPath(HDC hdc)
         if(pPath->state != PATH_Closed)
 	    ret = PATH_FlattenPath(pPath);
     }
-    DC_ReleaseDCPtr( dc );
+    release_dc_ptr( dc );
     return ret;
 }
 
@@ -2191,7 +2191,7 @@ static BOOL PATH_WidenPath(DC *dc)
  */
 BOOL WINAPI StrokeAndFillPath(HDC hdc)
 {
-   DC *dc = DC_GetDCPtr( hdc );
+   DC *dc = get_dc_ptr( hdc );
    BOOL bRet = FALSE;
 
    if(!dc) return FALSE;
@@ -2204,7 +2204,7 @@ BOOL WINAPI StrokeAndFillPath(HDC hdc)
        if(bRet) bRet = PATH_StrokePath(dc, &dc->path);
        if(bRet) PATH_EmptyPath(&dc->path);
    }
-   DC_ReleaseDCPtr( dc );
+   release_dc_ptr( dc );
    return bRet;
 }
 
@@ -2216,7 +2216,7 @@ BOOL WINAPI StrokeAndFillPath(HDC hdc)
  */
 BOOL WINAPI StrokePath(HDC hdc)
 {
-    DC *dc = DC_GetDCPtr( hdc );
+    DC *dc = get_dc_ptr( hdc );
     GdiPath *pPath;
     BOOL bRet = FALSE;
 
@@ -2231,7 +2231,7 @@ BOOL WINAPI StrokePath(HDC hdc)
         bRet = PATH_StrokePath(dc, pPath);
         PATH_EmptyPath(pPath);
     }
-    DC_ReleaseDCPtr( dc );
+    release_dc_ptr( dc );
     return bRet;
 }
 
@@ -2243,7 +2243,7 @@ BOOL WINAPI StrokePath(HDC hdc)
  */
 BOOL WINAPI WidenPath(HDC hdc)
 {
-   DC *dc = DC_GetDCPtr( hdc );
+   DC *dc = get_dc_ptr( hdc );
    BOOL ret = FALSE;
 
    if(!dc) return FALSE;
@@ -2252,6 +2252,6 @@ BOOL WINAPI WidenPath(HDC hdc)
       ret = dc->funcs->pWidenPath(dc->physDev);
    else
       ret = PATH_WidenPath(dc);
-   DC_ReleaseDCPtr( dc );
+   release_dc_ptr( dc );
    return ret;
 }




More information about the wine-cvs mailing list