[WIN32K]
[reactos.git] / reactos / win32ss / user / ntuser / ntuser.c
index 87a285a..d86e563 100644 (file)
@@ -14,6 +14,7 @@ BOOL FASTCALL RegisterControlAtoms(VOID);
 
 PTHREADINFO gptiCurrent = NULL;
 PPROCESSINFO gppiInputProvider = NULL;
+BOOL g_AlwaysDisplayVersion = FALSE;
 ERESOURCE UserLock;
 ATOM AtomMessage;       // Window Message atom.
 ATOM AtomWndObj;        // Window Object atom.
@@ -76,6 +77,7 @@ NTAPI
 InitUserImpl(VOID)
 {
     NTSTATUS Status;
+    HKEY hKey;
 
     ExInitializeResourceLite(&UserLock);
 
@@ -94,6 +96,16 @@ InitUserImpl(VOID)
 
     InitUserAtoms();
 
+    Status = RegOpenKey(L"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows",
+                        &hKey);
+    if (NT_SUCCESS(Status))
+    {
+        DWORD dwValue = 0;
+        RegReadDWORD(hKey, L"DisplayVersion", &dwValue);
+        g_AlwaysDisplayVersion = !!dwValue;
+        ZwClose(hKey);
+    }
+
     InitSysParams();
 
     return STATUS_SUCCESS;
@@ -142,9 +154,8 @@ UserInitialize(VOID)
         if (hPattern55AABitmap == NULL)
             return STATUS_INSUFFICIENT_RESOURCES;
 
-        //NT_VERIFY(GreSetBitmapOwner(hPattern55AABitmap, GDI_OBJ_HMGR_PUBLIC));
         gpsi->hbrGray = IntGdiCreatePatternBrush(hPattern55AABitmap);
-        GreDeleteObject(hPattern55AABitmap);
+
         if (gpsi->hbrGray == NULL)
             return STATUS_INSUFFICIENT_RESOURCES;
     }