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