[ros-diffs] [greatlrd] 28473: Remove redirect of CreateDIBitmap at 24 to NtGdiCreateDIBitmap at 24, and create stub for it. we need do some stuff in user mode Fix : CreateDiscardableBitmap shall be call on CreateCompatibleBitmap not the NtGdiCreateCompatibleBitmap, for we need do some thing in user mode Fix : CreateEllipticRgnIndirect it crash now, if the param is NULL, that goes same for all windows NT I tested
greatlrd at svn.reactos.org
greatlrd at svn.reactos.org
Thu Aug 23 17:03:13 CEST 2007
Author: greatlrd
Date: Thu Aug 23 19:03:13 2007
New Revision: 28473
URL: http://svn.reactos.org/svn/reactos?rev=28473&view=rev
Log:
Remove redirect of CreateDIBitmap at 24 to NtGdiCreateDIBitmap at 24, and create stub for it. we need do some stuff in user mode
Fix : CreateDiscardableBitmap shall be call on CreateCompatibleBitmap not the NtGdiCreateCompatibleBitmap, for we need do some thing in user mode
Fix : CreateEllipticRgnIndirect it crash now, if the param is NULL, that goes same for all windows NT I tested
Modified:
trunk/reactos/dll/win32/gdi32/gdi32.def
trunk/reactos/dll/win32/gdi32/misc/stubs.c
trunk/reactos/dll/win32/gdi32/objects/bitmap.c
trunk/reactos/dll/win32/gdi32/objects/region.c
Modified: trunk/reactos/dll/win32/gdi32/gdi32.def
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?rev=28473&r1=28472&r2=28473&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/gdi32.def (original)
+++ trunk/reactos/dll/win32/gdi32/gdi32.def Thu Aug 23 19:03:13 2007
@@ -56,14 +56,7 @@
CreateDIBPatternBrush at 8
CreateDIBPatternBrushPt at 8
CreateDIBSection at 24
-
-ClearBitmapAttributes at 8
-ClearBrushAttributes at 8
-CopyMetaFileA at 8
-CopyMetaFileW at 8
-CreateBrushIndirect at 4
-CreateDIBSection at 24
-CreateDIBitmap at 24=NtGdiCreateDIBitmap at 24
+CreateDIBitmap at 24
CreateDiscardableBitmap at 12
CreateEllipticRgn at 16=NtGdiCreateEllipticRgn at 16
CreateEllipticRgnIndirect at 4
@@ -73,6 +66,13 @@
CreateFontIndirectA at 4
CreateFontIndirectExA at 4
CreateFontIndirectExW at 4
+
+ClearBitmapAttributes at 8
+ClearBrushAttributes at 8
+CopyMetaFileA at 8
+CopyMetaFileW at 8
+CreateBrushIndirect at 4
+CreateDIBSection at 24
CreateFontIndirectW at 4
CreateFontW at 56
CreateHalftonePalette at 4=NtGdiCreateHalftonePalette at 4
Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs.c?rev=28473&r1=28472&r2=28473&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/misc/stubs.c (original)
+++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Thu Aug 23 19:03:13 2007
@@ -2432,6 +2432,18 @@
return 0;
}
+
+HBITMAP
+STDCALL
+CreateDIBitmap(HDC
+ hDc, const BITMAPINFOHEADER *Header,
+ DWORD Init, LPCVOID Bits, const BITMAPINFO *Data,
+ UINT ColorUse)
+{
+ /* FIMXE we need do more thing in user mode */
+ return NtGdiCreateDIBitmap(hDc, Header, Init, Bits, Data, ColorUse);
+}
+
/*
* @unimplemented
*/
Modified: trunk/reactos/dll/win32/gdi32/objects/bitmap.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/bitmap.c?rev=28473&r1=28472&r2=28473&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/bitmap.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/bitmap.c Thu Aug 23 19:03:13 2007
@@ -135,7 +135,7 @@
INT Width,
INT Height)
{
- return NtGdiCreateCompatibleBitmap(hDC, Width, Height);
+ return CreateCompatibleBitmap(hDC, Width, Height);
}
Modified: trunk/reactos/dll/win32/gdi32/objects/region.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/region.c?rev=28473&r1=28472&r2=28473&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/region.c (original)
+++ trunk/reactos/dll/win32/gdi32/objects/region.c Thu Aug 23 19:03:13 2007
@@ -56,11 +56,9 @@
const RECT *prc
)
{
- if (prc)
- {
- return NtGdiCreateEllipticRgn(prc->left, prc->top, prc->right, prc->bottom);
- }
- return NULL;
+ /* Notes if prc is NULL it will crash on All Windows NT I checked 2000/XP/VISTA */
+ return NtGdiCreateEllipticRgn(prc->left, prc->top, prc->right, prc->bottom);
+
}
HRGN
More information about the Ros-diffs
mailing list