Author: dquintana
Date: Sun Nov  2 20:17:23 2014
New Revision: 65194

URL: http://svn.reactos.org/svn/reactos?rev=65194&view=rev
Log:
[RSHELL]
[STOBJECT]
* Some nitpicking.

[SHELL32]
* Fix missing null-termination by using proper string literals.

Modified:
    branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp
    branches/shell-experiments/base/shell/rshell/CStartMenu.cpp
    branches/shell-experiments/dll/shellext/stobject/csystray.cpp
    branches/shell-experiments/dll/win32/shell32/desktop.cpp
    branches/shell-experiments/include/reactos/undocshell.h
    branches/shell-experiments/lib/atl/atlwin.h

Modified: branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp?rev=65194&r1=65193&r2=65194&view=diff
==============================================================================
--- branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp    
[iso-8859-1] (original)
+++ branches/shell-experiments/base/shell/rshell/CDesktopBrowser.cpp    
[iso-8859-1] Sun Nov  2 20:17:23 2014
@@ -26,10 +26,8 @@
 
 #define SHDESK_TAG 0x4b534544
 
-static const WCHAR szProgmanClassName [] = { 'P', 'r', 'o', 'g', 'm', 'a', 'n' 
};
-static const WCHAR szProgmanWindowName [] = {
-    'P', 'r', 'o', 'g', 'r', 'a', 'm', ' ', 'M', 'a', 'n', 'a', 'g', 'e', 'r'
-};
+static const WCHAR szProgmanClassName [] = L"Progman";
+static const WCHAR szProgmanWindowName [] = L"Program Manager";
 
 class CDesktopBrowser :
     public CComObjectRootEx<CComMultiThreadModelNoCS>,
@@ -542,7 +540,7 @@
         rcDesk.bottom = GetSystemMetrics(SM_CYSCREEN);
     }
 
-    hWndDesk = CreateWindowExW(0, szProgmanClassName, szProgmanWindowName,
+    hWndDesk = CreateWindowExW(WS_EX_TOOLWINDOW, szProgmanClassName, 
szProgmanWindowName,
         WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
         rcDesk.left, rcDesk.top, rcDesk.right, rcDesk.bottom,
         NULL, NULL, shell32_hInstance, reinterpret_cast<LPVOID>(ShellDesk));

Modified: branches/shell-experiments/base/shell/rshell/CStartMenu.cpp
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/base/shell/rshell/CStartMenu.cpp?rev=65194&r1=65193&r2=65194&view=diff
==============================================================================
--- branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] 
(original)
+++ branches/shell-experiments/base/shell/rshell/CStartMenu.cpp [iso-8859-1] 
Sun Nov  2 20:17:23 2014
@@ -85,13 +85,20 @@
             return S_OK;
 
         hr = IUnknown_GetSite(m_pDeskBar, IID_PPV_ARG(ITrayPriv, 
&m_pTrayPriv));
+        if (FAILED_UNEXPECTEDLY(hr))
+            return hr;
+
         hr = IUnknown_GetWindow(m_pTrayPriv, &m_hwndTray);
+        if (FAILED_UNEXPECTEDLY(hr))
+            return hr;
+
         hr = m_pTrayPriv->AppendMenuW(&hmenu);
-#ifndef TEST_TRACKPOPUPMENU_SUBMENUS
+        if (FAILED_UNEXPECTEDLY(hr))
+            return hr;
+
         hr = m_pShellMenu->SetMenu(hmenu, NULL, SMSET_BOTTOM);
-#else
-        hr = m_pShellMenu->SetMenu(hmenu, m_hwndTray, SMSET_BOTTOM);
-#endif
+        if (FAILED_UNEXPECTEDLY(hr))
+            return hr;
 
         return hr;
     }

Modified: branches/shell-experiments/dll/shellext/stobject/csystray.cpp
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/dll/shellext/stobject/csystray.cpp?rev=65194&r1=65193&r2=65194&view=diff
==============================================================================
--- branches/shell-experiments/dll/shellext/stobject/csystray.cpp       
[iso-8859-1] (original)
+++ branches/shell-experiments/dll/shellext/stobject/csystray.cpp       
[iso-8859-1] Sun Nov  2 20:17:23 2014
@@ -194,6 +194,7 @@
         UpdateIcons();
         return TRUE;
     case WM_DESTROY:
+        KillTimer(1);
         ShutdownIcons();
         return TRUE;
     }

Modified: branches/shell-experiments/dll/win32/shell32/desktop.cpp
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/dll/win32/shell32/desktop.cpp?rev=65194&r1=65193&r2=65194&view=diff
==============================================================================
--- branches/shell-experiments/dll/win32/shell32/desktop.cpp    [iso-8859-1] 
(original)
+++ branches/shell-experiments/dll/win32/shell32/desktop.cpp    [iso-8859-1] 
Sun Nov  2 20:17:23 2014
@@ -26,10 +26,8 @@
 
 #define SHDESK_TAG 0x4b534544
 
-static const WCHAR szProgmanClassName[] = {'P','r','o','g','m','a','n'};
-static const WCHAR szProgmanWindowName[] = {
-    'P','r','o','g','r','a','m',' ','M','a','n','a','g','e','r'
-};
+static const WCHAR szProgmanClassName [] = L"Progman";
+static const WCHAR szProgmanWindowName [] = L"Program Manager";
 
 class CDesktopBrowser :
     public CComObjectRootEx<CComMultiThreadModelNoCS>,
@@ -543,7 +541,7 @@
         rcDesk.bottom = GetSystemMetrics(SM_CYSCREEN);
     }
 
-    hWndDesk = CreateWindowExW(0, szProgmanClassName, szProgmanWindowName,
+    hWndDesk = CreateWindowExW(WS_EX_TOOLWINDOW, szProgmanClassName, 
szProgmanWindowName,
         WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
         rcDesk.left, rcDesk.top, rcDesk.right, rcDesk.bottom,
         NULL, NULL, shell32_hInstance, (LPVOID)ShellDesk);

Modified: branches/shell-experiments/include/reactos/undocshell.h
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/include/reactos/undocshell.h?rev=65194&r1=65193&r2=65194&view=diff
==============================================================================
--- branches/shell-experiments/include/reactos/undocshell.h     [iso-8859-1] 
(original)
+++ branches/shell-experiments/include/reactos/undocshell.h     [iso-8859-1] 
Sun Nov  2 20:17:23 2014
@@ -823,6 +823,29 @@
     return S_OK;
 }
 
+template<class T, class T1>
+HRESULT inline ShellObjectCreatorInit(T1 initArg1, REFIID riid, void ** ppv)
+{
+    CComPtr<T>  obj;
+    HRESULT     hResult;
+
+    if (ppv == NULL)
+        return E_POINTER;
+    *ppv = NULL;
+    ATLTRY(obj = new _CComObject<T>);
+    if (obj.p == NULL)
+        return E_OUTOFMEMORY;
+    hResult = obj->QueryInterface(riid, ppv);
+    if (FAILED(hResult))
+        return hResult;
+
+    hResult = obj->Initialize(initArg1);
+    if (FAILED(hResult))
+        return hResult;
+
+    return S_OK;
+}
+
 template<class T, class T1, class R>
 HRESULT inline ShellObjectCreatorInit(T1 initArg1, REFIID riid, R ** ppv)
 {
@@ -926,6 +949,32 @@
 
     return S_OK;
 }
+
+template<class T, class T1, class T2, class T3, class T4, class T5, class R>
+HRESULT inline ShellObjectCreatorInit(T1 initArg1, T2 initArg2, T3 initArg3, 
T4 initArg4, T5 initArg5, REFIID riid, R ** ppv)
+{
+    CComPtr<T>  obj;
+    CComPtr<R>  result;
+    HRESULT     hResult;
+
+    if (ppv == NULL)
+        return E_POINTER;
+    *ppv = NULL;
+    ATLTRY(obj = new _CComObject<T>);
+    if (obj.p == NULL)
+        return E_OUTOFMEMORY;
+    hResult = obj->QueryInterface(riid, reinterpret_cast<void **>(&result));
+    if (FAILED(hResult))
+        return hResult;
+
+    hResult = obj->Initialize(initArg1, initArg2, initArg3, initArg4, 
initArg5);
+    if (FAILED(hResult))
+        return hResult;
+
+    *ppv = result.Detach();
+
+    return S_OK;
+}
 #endif /* __cplusplus */
 
 #endif /* __WINE_UNDOCSHELL_H */

Modified: branches/shell-experiments/lib/atl/atlwin.h
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/lib/atl/atlwin.h?rev=65194&r1=65193&r2=65194&view=diff
==============================================================================
--- branches/shell-experiments/lib/atl/atlwin.h [iso-8859-1] (original)
+++ branches/shell-experiments/lib/atl/atlwin.h [iso-8859-1] Sun Nov  2 
20:17:23 2014
@@ -696,6 +696,10 @@
                {                                                               
                                                                                
                                                                                
        \
                case 0:
 
+#define ALT_MSG_MAP(map)                                                       
                                                                                
        \
+            break;                                                             
                                                                                
                \
+        case map:
+
 #define END_MSG_MAP()                                                          
                                                                                
        \
                        break;                                                  
                                                                                
                        \
                default:                                                        
                                                                                
                        \


Reply via email to