Alexandre Julliard : gdi32: Avoid locking in BITMAP_CopyBitmap.

Alexandre Julliard julliard at winehq.org
Wed Feb 6 07:27:45 CST 2008


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Feb  5 18:26:25 2008 +0100

gdi32: Avoid locking in BITMAP_CopyBitmap.

---

 dlls/gdi32/bitmap.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/dlls/gdi32/bitmap.c b/dlls/gdi32/bitmap.c
index a873457..c468920 100644
--- a/dlls/gdi32/bitmap.c
+++ b/dlls/gdi32/bitmap.c
@@ -510,14 +510,10 @@ LONG WINAPI SetBitmapBits(
  */
 HBITMAP BITMAP_CopyBitmap(HBITMAP hbitmap)
 {
-    BITMAPOBJ *bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
     HBITMAP res = 0;
     BITMAP bm;
 
-    if(!bmp) return 0;
-
-    bm = bmp->bitmap;
-    bm.bmBits = NULL;
+    if (!GetObjectW( hbitmap, sizeof(bm), &bm )) return 0;
     res = CreateBitmapIndirect(&bm);
 
     if(res) {
@@ -527,8 +523,6 @@ HBITMAP BITMAP_CopyBitmap(HBITMAP hbitmap)
 	SetBitmapBits (res, bm.bmWidthBytes * bm.bmHeight, buf);
 	HeapFree( GetProcessHeap(), 0, buf );
     }
-
-    GDI_ReleaseObj( hbitmap );
     return res;
 }
 




More information about the wine-cvs mailing list