[USER32]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Sun, 19 Oct 2014 13:17:49 +0000 (13:17 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Sun, 19 Oct 2014 13:17:49 +0000 (13:17 +0000)
Fix uninitialized variable use/warnings in
- RegisterClassExWOWW (found by MSVC runtime checks)
- IntDrawState (CID-514399)
- IntCallWindowProcA (CID-514389)
- IntCallWindowProcW (CID-414390)
- SendMessageA (CID-514392)
- SendMessageW (CID-514393)
- SendMessageTimeoutA (CID-514441)
- SendMessageCallbackA (CID-514442)
- SendNotifyMessageW (CID-514443)
- SendNotifyMessageA (CID-514444)
- User32CallWindowProcFromKernel (CID-514445)
- DesktopWndProcA (CID-716765)

svn path=/trunk/; revision=64822

reactos/win32ss/user/user32/windows/class.c
reactos/win32ss/user/user32/windows/draw.c
reactos/win32ss/user/user32/windows/message.c

index 00d84cf..7ca7493 100644 (file)
@@ -67,7 +67,7 @@ ClassNameToVersion(
                                                    ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION,
                                                   &SectionName,
                                                   &KeyedData );
+
    if (NT_SUCCESS(Status) && KeyedData.ulDataFormatVersion == 1)
    {
       struct dll_redirect *dll = KeyedData.lpSectionBase;
@@ -165,7 +165,7 @@ Real_VersionRegisterClass(
 Error_Exit:
    if ( Ret || !hLibModule )
    {
-      if ( phLibModule ) *phLibModule = hLibModule;  
+      if ( phLibModule ) *phLibModule = hLibModule;
    }
    else
    {
@@ -173,7 +173,7 @@ Error_Exit:
       FreeLibrary(hLibModule);
       SetLastError(save_error);
    }
-                                  
+
    return Ret;
 }
 
@@ -269,7 +269,7 @@ VersionRegisterClass(
 Error_Exit:
    if ( Ret || !hLibModule )
    {
-      if ( phLibModule ) *phLibModule = hLibModule;  
+      if ( phLibModule ) *phLibModule = hLibModule;
    }
    else
    {
@@ -1022,7 +1022,7 @@ GetClassNameA(
 {
     WCHAR tmpbuf[MAX_ATOM_LEN + 1];
     int len;
-  
+
     if (nMaxCount <= 0) return 0;
     if (!GetClassNameW( hWnd, tmpbuf, sizeof(tmpbuf)/sizeof(WCHAR) )) return 0;
     RtlUnicodeToMultiByteN( lpClassName, nMaxCount - 1, (PULONG)&len, tmpbuf, strlenW(tmpbuf) * sizeof(WCHAR) );
@@ -1256,7 +1256,7 @@ RealGetWindowClassA(
 {
     WCHAR tmpbuf[MAX_ATOM_LEN + 1];
     UINT len;
-  
+
     if ((INT)cchType <= 0) return 0;
     if (!RealGetWindowClassW( hwnd, tmpbuf, sizeof(tmpbuf)/sizeof(WCHAR) )) return 0;
     RtlUnicodeToMultiByteN( pszType, cchType - 1, (PULONG)&len, tmpbuf, strlenW(tmpbuf) * sizeof(WCHAR) );
@@ -1472,6 +1472,7 @@ RegisterClassExWOWW(WNDCLASSEXW *lpwcx,
       WndClass.hIconSm = CreateSmallIcon(WndClass.hIcon);
    }
 */
+   RtlInitEmptyAnsiString(&AnsiMenuName, NULL, 0);
    if (WndClass.lpszMenuName != NULL)
    {
       if (!IS_INTRESOURCE(WndClass.lpszMenuName))
index f082527..d7f07fc 100644 (file)
@@ -1272,6 +1272,10 @@ IntDrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC func, LPARAM lp, WPARAM wp,
 
             case DST_COMPLEX: /* cx and cy must be set in this mode */
                 return FALSE;
+
+            default:
+                ERR("Invalid opcode: %u\n", opcode);
+                return FALSE;
         }
 
         if(!cx)
@@ -1552,7 +1556,7 @@ FillRect(HDC hDC, CONST RECT *lprc, HBRUSH hbr)
         /* Handle system colors */
         if (hbr <= (HBRUSH)(COLOR_MENUBAR + 1))
             hbr = GetSysColorBrush(PtrToUlong(hbr) - 1);
-        
+
         prevhbr = SelectObject(hDC, hbr);
         if (prevhbr == NULL)
             return (INT)FALSE;
index 52e11d5..8c37e37 100644 (file)
@@ -1357,6 +1357,9 @@ DesktopWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
   AnsiMsg.message = message;
   AnsiMsg.wParam = wParam;
   AnsiMsg.lParam = lParam;
+  AnsiMsg.time = 0;
+  AnsiMsg.pt.x = 0;
+  AnsiMsg.pt.y = 0;
 
   // Desktop is always Unicode so convert Ansi here.
   if (!MsgiAnsiToUnicodeMessage(hwnd, &UcMsg, &AnsiMsg))
@@ -1501,7 +1504,10 @@ IntCallWindowProcW(BOOL IsAnsiProc,
       UnicodeMsg.message = Msg;
       UnicodeMsg.wParam = wParam;
       UnicodeMsg.lParam = lParam;
-      if (! MsgiUnicodeToAnsiMessage(hWnd, &AnsiMsg, &UnicodeMsg))
+      UnicodeMsg.time = 0;
+      UnicodeMsg.pt.x = 0;
+      UnicodeMsg.pt.y = 0;
+       if (! MsgiUnicodeToAnsiMessage(hWnd, &AnsiMsg, &UnicodeMsg))
       {
           goto Exit;
       }
@@ -1699,6 +1705,9 @@ IntCallWindowProcA(BOOL IsAnsiProc,
       AnsiMsg.message = Msg;
       AnsiMsg.wParam = wParam;
       AnsiMsg.lParam = lParam;
+      AnsiMsg.time = 0;
+      AnsiMsg.pt.x = 0;
+      AnsiMsg.pt.y = 0;
       if (! MsgiAnsiToUnicodeMessage(hWnd, &UnicodeMsg, &AnsiMsg))
       {
           goto Exit;
@@ -2428,6 +2437,9 @@ SendMessageW(HWND Wnd,
   UMMsg.message = Msg;
   UMMsg.wParam = wParam;
   UMMsg.lParam = lParam;
+  UMMsg.time = 0;
+  UMMsg.pt.x = 0;
+  UMMsg.pt.y = 0;
 
   if (! MsgiUMToKMMessage(&UMMsg, &KMMsg, FALSE))
   {
@@ -2492,6 +2504,9 @@ SendMessageA(HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam)
   AnsiMsg.message = Msg;
   AnsiMsg.wParam = wParam;
   AnsiMsg.lParam = lParam;
+  AnsiMsg.time = 0;
+  AnsiMsg.pt.x = 0;
+  AnsiMsg.pt.y = 0;
 
   if (!MsgiAnsiToUnicodeMessage(Wnd, &UcMsg, &AnsiMsg))
   {
@@ -2548,6 +2563,9 @@ SendMessageCallbackA(
   AnsiMsg.message = Msg;
   AnsiMsg.wParam = wParam;
   AnsiMsg.lParam = lParam;
+  AnsiMsg.time = 0;
+  AnsiMsg.pt.x = 0;
+  AnsiMsg.pt.y = 0;
 
   if (!MsgiAnsiToUnicodeMessage(hWnd, &UcMsg, &AnsiMsg))
   {
@@ -2635,6 +2653,9 @@ SendMessageTimeoutA(
   AnsiMsg.message = Msg;
   AnsiMsg.wParam = wParam;
   AnsiMsg.lParam = lParam;
+  AnsiMsg.time = 0;
+  AnsiMsg.pt.x = 0;
+  AnsiMsg.pt.y = 0;
 
   if (! MsgiAnsiToUnicodeMessage(hWnd, &UcMsg, &AnsiMsg))
   {
@@ -2728,6 +2749,9 @@ SendNotifyMessageA(
   AnsiMsg.message = Msg;
   AnsiMsg.wParam = wParam;
   AnsiMsg.lParam = lParam;
+  AnsiMsg.time = 0;
+  AnsiMsg.pt.x = 0;
+  AnsiMsg.pt.y = 0;
   if (! MsgiAnsiToUnicodeMessage(hWnd, &UcMsg, &AnsiMsg))
   {
      return FALSE;
@@ -2763,6 +2787,9 @@ SendNotifyMessageW(
   UMMsg.message = Msg;
   UMMsg.wParam = wParam;
   UMMsg.lParam = lParam;
+  UMMsg.time = 0;
+  UMMsg.pt.x = 0;
+  UMMsg.pt.y = 0;
   if (! MsgiUMToKMMessage(&UMMsg, &KMMsg, TRUE))
   {
      return FALSE;
@@ -2924,6 +2951,9 @@ User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
   KMMsg.hwnd = CallbackArgs->Wnd;
   KMMsg.message = CallbackArgs->Msg;
   KMMsg.wParam = CallbackArgs->wParam;
+  KMMsg.time = 0;
+  KMMsg.pt.x = 0;
+  KMMsg.pt.y = 0;
   /* Check if lParam is really a pointer and adjust it if it is */
   if (0 <= CallbackArgs->lParamBufferSize)
     {