PWND ParentWindow,
PWND OwnerWindow,
PVOID acbiBuffer,
- PDESKTOP pdeskCreated)
+ PDESKTOP pdeskCreated,
+ DWORD dwVer )
{
PWND pWnd = NULL;
HWND hWnd;
pWnd->spwndOwner = OwnerWindow;
pWnd->fnid = 0;
pWnd->spwndLastActive = pWnd;
- pWnd->state2 |= WNDS2_WIN40COMPAT; // FIXME!!!
+ // Ramp up compatible version sets.
+ if ( dwVer >= WINVER_WIN31 )
+ {
+ pWnd->state2 |= WNDS2_WIN31COMPAT;
+ if ( dwVer >= WINVER_WINNT4 )
+ {
+ pWnd->state2 |= WNDS2_WIN40COMPAT;
+ if ( dwVer >= WINVER_WIN2K )
+ {
+ pWnd->state2 |= WNDS2_WIN50COMPAT;
+ }
+ }
+ }
pWnd->pcls = Class;
pWnd->hModule = Cs->hInstance;
pWnd->style = Cs->style & ~WS_VISIBLE;
co_UserCreateWindowEx(CREATESTRUCTW* Cs,
PUNICODE_STRING ClassName,
PLARGE_STRING WindowName,
- PVOID acbiBuffer)
+ PVOID acbiBuffer,
+ DWORD dwVer )
{
ULONG style;
PWND Window = NULL, ParentWindow = NULL, OwnerWindow;
ParentWindow,
OwnerWindow,
acbiBuffer,
- NULL);
+ NULL,
+ dwVer );
if(!Window)
{
ERR("IntCreateWindow failed!\n");
UserEnterExclusive();
/* Call the internal function */
- pwnd = co_UserCreateWindowEx(&Cs, &ustrClsVersion, plstrWindowName, acbiBuffer);
+ pwnd = co_UserCreateWindowEx(&Cs, &ustrClsVersion, plstrWindowName, acbiBuffer, dwFlags);
if(!pwnd)
{