https://git.reactos.org/?p=reactos.git;a=commitdiff;h=58daf942fe153c151996464d4f5d64cc2ee8e2d7

commit 58daf942fe153c151996464d4f5d64cc2ee8e2d7
Author:     Oleg Dubinskiy <[email protected]>
AuthorDate: Mon May 3 19:11:18 2021 +0300
Commit:     GitHub <[email protected]>
CommitDate: Mon May 3 18:11:18 2021 +0200

    [GDI32] Fix wrong ordering of parameters in NtGdiDdGetDC call (#3637)
    
    It allows to properly pass the surface handle (and palette entry pointer) 
from MS ddraw into win32k.
    Otherwise, they are passing into the wrong parameters of actual NtGdi* 
function, and due to this,
    since they're detected as invalid, they become NULL, and that function does 
not work correctly.
    
    See 
https://docs.microsoft.com/en-us/windows/win32/devnotes/-dxgkernel-ntgdiddgetdc 
for the reference
    (and confirmed by our headers).
    
    Required by MS DirectDraw stack (ddraw.dll & dxg.sys).
    CORE-17561
---
 win32ss/gdi/gdi32/misc/gdientry.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/win32ss/gdi/gdi32/misc/gdientry.c 
b/win32ss/gdi/gdi32/misc/gdientry.c
index dffa8ab63f7..aff5ddd1cfd 100644
--- a/win32ss/gdi/gdi32/misc/gdientry.c
+++ b/win32ss/gdi/gdi32/misc/gdientry.c
@@ -1924,7 +1924,7 @@ DdGetDC(LPDDRAWI_DDRAWSURFACE_LCL pSurfaceLocal,
         LPPALETTEENTRY pColorTable)
 {
     /* Call win32k directly */
-    return NtGdiDdGetDC(pColorTable, (HANDLE) pSurfaceLocal->hDDSurface);
+    return NtGdiDdGetDC((HANDLE)pSurfaceLocal->hDDSurface, pColorTable);
 }
 
 /*
@@ -2082,4 +2082,3 @@ DdSetGammaRamp(LPDDRAWI_DIRECTDRAW_LCL pDDraw,
 
 
 
-

Reply via email to