gdi32: Make BitBlt and StretchDIBits hotpatchable.

Sebastian Lackner sebastian at fds-team.de
Sun Oct 4 17:30:41 CDT 2015


From: Michael Müller <michael at fds-team.de>

Signed-off-by: Michael Müller <michael at fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---

For the game Bad Mojo.

 dlls/gdi32/bitblt.c |    4 ++--
 dlls/gdi32/dib.c    |    9 ++++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/dlls/gdi32/bitblt.c b/dlls/gdi32/bitblt.c
index 08ebfd9..d427070 100644
--- a/dlls/gdi32/bitblt.c
+++ b/dlls/gdi32/bitblt.c
@@ -559,8 +559,8 @@ BOOL WINAPI PatBlt( HDC hdc, INT left, INT top, INT width, INT height, DWORD rop
 /***********************************************************************
  *           BitBlt    (GDI32.@)
  */
-BOOL WINAPI BitBlt( HDC hdcDst, INT xDst, INT yDst, INT width,
-                    INT height, HDC hdcSrc, INT xSrc, INT ySrc, DWORD rop )
+BOOL WINAPI DECLSPEC_HOTPATCH BitBlt( HDC hdcDst, INT xDst, INT yDst, INT width,
+                                      INT height, HDC hdcSrc, INT xSrc, INT ySrc, DWORD rop )
 {
     if (!rop_uses_src( rop )) return PatBlt( hdcDst, xDst, yDst, width, height, rop );
     else return StretchBlt( hdcDst, xDst, yDst, width, height,
diff --git a/dlls/gdi32/dib.c b/dlls/gdi32/dib.c
index 708a9a8..2817ede 100644
--- a/dlls/gdi32/dib.c
+++ b/dlls/gdi32/dib.c
@@ -59,6 +59,8 @@
     Search for "Bitmap Structures" in MSDN
 */
 
+#include "config.h"
+
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
@@ -602,9 +604,10 @@ done:
 /***********************************************************************
  *           StretchDIBits   (GDI32.@)
  */
-INT WINAPI StretchDIBits(HDC hdc, INT xDst, INT yDst, INT widthDst, INT heightDst,
-                         INT xSrc, INT ySrc, INT widthSrc, INT heightSrc, const void *bits,
-                         const BITMAPINFO *bmi, UINT coloruse, DWORD rop )
+INT WINAPI DECLSPEC_HOTPATCH StretchDIBits( HDC hdc, INT xDst, INT yDst, INT widthDst, INT heightDst,
+                                            INT xSrc, INT ySrc, INT widthSrc, INT heightSrc,
+                                            const void *bits, const BITMAPINFO *bmi, UINT coloruse,
+                                            DWORD rop )
 {
     char buffer[FIELD_OFFSET( BITMAPINFO, bmiColors[256] )];
     BITMAPINFO *info = (BITMAPINFO *)buffer;
-- 
2.6.0



More information about the wine-patches mailing list