reactos/win32ss/gdi
Oleg Dubinskiy dc483bd700
[WIN32SS:ENG] EngCreateBitmap: mark created bitmaps as API bitmaps (#4146)
CORE-17561

Set the API_BITMAP flag for bitmaps created by EngCreateBitmap().

This avoids failure when created bitmap is passed to NtGdiSelectBitmap(), since it checks for this flag and fails if it isn't set.
Otherwise, if failure occurs, the bitmap is hot handled properly.
Setting this flag outside of that function is not an option at all, because it is a public (exported) function, and in many cases it's called directly by the caller (in case with MS DDraw stack, it can be called also by dxg.sys from dxgthk!EngCreateBitmap, which directly calls win32k!EngCreateBitmap).

In particular, it allows Windows XP/2003 DirectDraw stack (ddraw.dll & dxg.sys) to properly work in ReactOS (in software emulation mode), even on real hardware. So now, a lot of DirectX 1-7 apps and games (whose can work withoug hardware acceleation), are working properly with ddraw.dll + dxg.sys replacement! Also Justin Miller (DarkFire01) confirmed that even Direct3D software emulation now also works correctly on real hardware!
2021-12-29 16:51:23 +01:00
..
dib [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
diblib
eng [WIN32SS:ENG] EngCreateBitmap: mark created bitmaps as API bitmaps (#4146) 2021-12-29 16:51:23 +01:00
gdi32 [GDI32] Fix rectangle flag issues. 2021-10-16 11:16:43 -05:00
ntgdi [NTGDI] Strictly check pen style (#4164) 2021-12-16 10:47:57 +09:00