shell32/shellview: Remove unneeded memset, release browser reference on failure.

This commit is contained in:
Nikolay Sivov 2010-03-06 23:53:38 +03:00 committed by Alexandre Julliard
parent 537e3821d5
commit 4261aaffd7
1 changed files with 6 additions and 3 deletions

View File

@ -2068,7 +2068,7 @@ static HRESULT WINAPI IShellView2_fnCreateViewWindow2(IShellView2* iface, LPSV2C
/* Get our parent window */ /* Get our parent window */
IShellBrowser_AddRef(This->pShellBrowser); IShellBrowser_AddRef(This->pShellBrowser);
IShellBrowser_GetWindow(This->pShellBrowser, &(This->hWndParent)); IShellBrowser_GetWindow(This->pShellBrowser, &This->hWndParent);
/* Try to get the ICommDlgBrowserInterface, adds a reference !!! */ /* Try to get the ICommDlgBrowserInterface, adds a reference !!! */
This->pCommDlgBrowser = NULL; This->pCommDlgBrowser = NULL;
@ -2079,7 +2079,6 @@ static HRESULT WINAPI IShellView2_fnCreateViewWindow2(IShellView2* iface, LPSV2C
/* If our window class has not been registered, then do so */ /* If our window class has not been registered, then do so */
if (!GetClassInfoW(shell32_hInstance, SV_CLASS_NAME, &wc)) if (!GetClassInfoW(shell32_hInstance, SV_CLASS_NAME, &wc))
{ {
ZeroMemory(&wc, sizeof(wc));
wc.style = CS_HREDRAW | CS_VREDRAW; wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = ShellView_WndProc; wc.lpfnWndProc = ShellView_WndProc;
wc.cbClsExtra = 0; wc.cbClsExtra = 0;
@ -2102,7 +2101,11 @@ static HRESULT WINAPI IShellView2_fnCreateViewWindow2(IShellView2* iface, LPSV2C
CheckToolbar(This); CheckToolbar(This);
if (!wnd) return E_FAIL; if (!wnd)
{
IShellBrowser_Release(This->pShellBrowser);
return E_FAIL;
}
SetWindowPos(wnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); SetWindowPos(wnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
UpdateWindow(wnd); UpdateWindow(wnd);