Author: hbelusca
Date: Tue Mar 17 01:17:26 2015
New Revision: 66750
URL:
http://svn.reactos.org/svn/reactos?rev=66750&view=rev
Log:
[WIN32K]: Since I don't have time to properly fix the desktop version painting for the
CLT 2015 release, I hackfix that by printing a hardcoded version string built up from our
static build numbers.
Modified:
trunk/reactos/win32ss/user/ntuser/desktop.c
Modified: trunk/reactos/win32ss/user/ntuser/desktop.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/deskto…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/desktop.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/desktop.c [iso-8859-1] Tue Mar 17 01:17:26 2015
@@ -10,6 +10,8 @@
#include <win32k.h>
DBG_DEFAULT_CHANNEL(UserDesktop);
+
+#include <reactos/buildno.h>
static NTSTATUS
UserInitializeDesktop(PDESKTOP pdesk, PUNICODE_STRING DesktopName, PWINSTATION_OBJECT
pwinsta);
@@ -241,23 +243,27 @@
static int GetSystemVersionString(LPWSTR buffer)
{
- RTL_OSVERSIONINFOEXW versionInfo;
- int len;
-
- versionInfo.dwOSVersionInfoSize = sizeof(RTL_OSVERSIONINFOEXW);
-
- if (!NT_SUCCESS(RtlGetVersion((PRTL_OSVERSIONINFOW)&versionInfo)))
- return 0;
-
- if (versionInfo.dwMajorVersion <= 4)
- len = swprintf(buffer,
- L"ReactOS Version %lu.%lu %s Build %lu",
- versionInfo.dwMajorVersion, versionInfo.dwMinorVersion,
- versionInfo.szCSDVersion, versionInfo.dwBuildNumber&0xFFFF);
- else
- len = swprintf(buffer,
- L"ReactOS %s (Build %lu)",
- versionInfo.szCSDVersion, versionInfo.dwBuildNumber&0xFFFF);
+ int len;
+#if 0 // Disabled until versioning in win32k gets correctly implemented (hbelusca).
+ RTL_OSVERSIONINFOEXW versionInfo;
+
+ versionInfo.dwOSVersionInfoSize = sizeof(RTL_OSVERSIONINFOEXW);
+
+ if (!NT_SUCCESS(RtlGetVersion((PRTL_OSVERSIONINFOW)&versionInfo)))
+ return 0;
+
+ if (versionInfo.dwMajorVersion <= 4)
+ len = swprintf(buffer,
+ L"ReactOS Version %lu.%lu %s Build %lu",
+ versionInfo.dwMajorVersion, versionInfo.dwMinorVersion,
+ versionInfo.szCSDVersion, versionInfo.dwBuildNumber &
0xFFFF);
+ else
+ len = swprintf(buffer,
+ L"ReactOS %s (Build %lu)",
+ versionInfo.szCSDVersion, versionInfo.dwBuildNumber &
0xFFFF);
+#else
+ len = swprintf(buffer, L"ReactOS Version %S %S", KERNEL_VERSION_STR,
KERNEL_VERSION_BUILD_STR);
+#endif
return len;
}
@@ -988,37 +994,33 @@
BOOL FASTCALL
IntPaintDesktop(HDC hDC)
{
- RECTL Rect;
- HBRUSH DesktopBrush, PreviousBrush;
- HWND hWndDesktop;
- BOOL doPatBlt = TRUE;
- PWND WndDesktop;
- static WCHAR s_wszSafeMode[] = L"Safe Mode";
- int len;
- COLORREF color_old;
- UINT align_old;
- int mode_old;
-
- if (GdiGetClipBox(hDC, &Rect) == ERROR)
- {
- return FALSE;
- }
-
- hWndDesktop = IntGetDesktopWindow(); // rpdesk->DesktopWindow;
-
- WndDesktop = UserGetWindowObject(hWndDesktop); // rpdesk->pDeskInfo->spwnd;
- if (!WndDesktop)
- {
- return FALSE;
- }
+ RECTL Rect;
+ HBRUSH DesktopBrush, PreviousBrush;
+ HWND hWndDesktop;
+ BOOL doPatBlt = TRUE;
+ PWND WndDesktop;
+ static WCHAR s_wszSafeMode[] = L"Safe Mode";
+ int len;
+ COLORREF color_old;
+ UINT align_old;
+ int mode_old;
+
+ if (GdiGetClipBox(hDC, &Rect) == ERROR)
+ return FALSE;
+
+ hWndDesktop = IntGetDesktopWindow(); // rpdesk->DesktopWindow;
+
+ WndDesktop = UserGetWindowObject(hWndDesktop); // rpdesk->pDeskInfo->spwnd;
+ if (!WndDesktop)
+ return FALSE;
if (!UserGetSystemMetrics(SM_CLEANBOOT))
{
DesktopBrush = (HBRUSH)WndDesktop->pcls->hbrBackground;
/*
- * Paint desktop background
- */
+ * Paint desktop background
+ */
if (gspv.hbmWallpaper != NULL)
{
SIZE sz;
@@ -1077,7 +1079,6 @@
gspv.cyWallpaper,
SRCCOPY,
0);
-
}
else if (gspv.WallpaperMode == wmTile)
{
@@ -1124,43 +1125,43 @@
/* Black desktop background in Safe Mode */
DesktopBrush = StockObjects[BLACK_BRUSH];
}
- /* Back ground is set to none, clear the screen */
+ /* Background is set to none, clear the screen */
if (doPatBlt)
{
- PreviousBrush = NtGdiSelectBrush(hDC, DesktopBrush);
- NtGdiPatBlt(hDC, Rect.left, Rect.top, Rect.right, Rect.bottom, PATCOPY);
- NtGdiSelectBrush(hDC, PreviousBrush);
- }
-
- /*
- * Display system version on the desktop background
- */
-
- if (g_PaintDesktopVersion || UserGetSystemMetrics(SM_CLEANBOOT))
- {
- static WCHAR s_wszVersion[256] = {0};
- RECTL rect;
-
- if (*s_wszVersion)
- {
- len = wcslen(s_wszVersion);
- }
- else
- {
- len = GetSystemVersionString(s_wszVersion);
- }
-
- if (len)
- {
- if (!UserSystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0))
- {
- rect.right = UserGetSystemMetrics(SM_CXSCREEN);
- rect.bottom = UserGetSystemMetrics(SM_CYSCREEN);
- }
-
- color_old = IntGdiSetTextColor(hDC, RGB(255,255,255));
- align_old = IntGdiSetTextAlign(hDC, TA_RIGHT);
- mode_old = IntGdiSetBkMode(hDC, TRANSPARENT);
+ PreviousBrush = NtGdiSelectBrush(hDC, DesktopBrush);
+ NtGdiPatBlt(hDC, Rect.left, Rect.top, Rect.right, Rect.bottom, PATCOPY);
+ NtGdiSelectBrush(hDC, PreviousBrush);
+ }
+
+ /*
+ * Display system version on the desktop background
+ */
+
+ if (g_PaintDesktopVersion || UserGetSystemMetrics(SM_CLEANBOOT))
+ {
+ static WCHAR s_wszVersion[256] = {0};
+ RECTL rect;
+
+ if (*s_wszVersion)
+ {
+ len = wcslen(s_wszVersion);
+ }
+ else
+ {
+ len = GetSystemVersionString(s_wszVersion);
+ }
+
+ if (len)
+ {
+ if (!UserSystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0))
+ {
+ rect.right = UserGetSystemMetrics(SM_CXSCREEN);
+ rect.bottom = UserGetSystemMetrics(SM_CYSCREEN);
+ }
+
+ color_old = IntGdiSetTextColor(hDC, RGB(255,255,255));
+ align_old = IntGdiSetTextAlign(hDC, TA_RIGHT);
+ mode_old = IntGdiSetBkMode(hDC, TRANSPARENT);
if(!UserGetSystemMetrics(SM_CLEANBOOT))
{
@@ -1186,12 +1187,12 @@
GreExtTextOutW(hDC, rect.right, rect.bottom - 5, 0, NULL, s_wszSafeMode,
len, NULL, 0);
}
- IntGdiSetBkMode(hDC, mode_old);
- IntGdiSetTextAlign(hDC, align_old);
- IntGdiSetTextColor(hDC, color_old);
- }
- }
- return TRUE;
+ IntGdiSetBkMode(hDC, mode_old);
+ IntGdiSetTextAlign(hDC, align_old);
+ IntGdiSetTextColor(hDC, color_old);
+ }
+ }
+ return TRUE;
}
static NTSTATUS