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@24 to NtGdiCreateDIBitmap@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?…
==============================================================================
--- 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@8
CreateDIBPatternBrushPt@8
CreateDIBSection@24
-
-ClearBitmapAttributes@8
-ClearBrushAttributes@8
-CopyMetaFileA@8
-CopyMetaFileW@8
-CreateBrushIndirect@4
-CreateDIBSection@24
-CreateDIBitmap@24=NtGdiCreateDIBitmap@24
+CreateDIBitmap@24
CreateDiscardableBitmap@12
CreateEllipticRgn@16=NtGdiCreateEllipticRgn@16
CreateEllipticRgnIndirect@4
@@ -73,6 +66,13 @@
CreateFontIndirectA@4
CreateFontIndirectExA@4
CreateFontIndirectExW@4
+
+ClearBitmapAttributes@8
+ClearBrushAttributes@8
+CopyMetaFileA@8
+CopyMetaFileW@8
+CreateBrushIndirect@4
+CreateDIBSection@24
CreateFontIndirectW@4
CreateFontW@56
CreateHalftonePalette@4=NtGdiCreateHalftonePalette@4
Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
==============================================================================
--- 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/bi…
==============================================================================
--- 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/re…
==============================================================================
--- 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