mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +00:00
- Check for NULL before releasing INetCfg and INetCfgLock interface
- ONLY destroy property sheet page on success !!! - Fix registration of LANStatusUI LANPropertyUI interfaces - Fix creating LanPropertyUI interface - Release LANPropertyUI interface when finished svn path=/trunk/; revision=36079
This commit is contained in:
parent
a0c4f776f2
commit
fd6ffc2459
4 changed files with 27 additions and 10 deletions
|
@ -433,9 +433,19 @@ INetConnectionPropertyUi2_fnRelease(
|
|||
|
||||
if (!refCount)
|
||||
{
|
||||
INetCfg_Release(This->pNCfg);
|
||||
INetCfgLock_Release(This->NCfgLock);
|
||||
NcFreeNetconProperties(This->pProperties);
|
||||
if (This->pNCfg)
|
||||
{
|
||||
INetCfg_Uninitialize(This->pNCfg);
|
||||
INetCfg_Release(This->pNCfg);
|
||||
}
|
||||
if (This->NCfgLock)
|
||||
{
|
||||
INetCfgLock_Release(This->NCfgLock);
|
||||
}
|
||||
if (This->pProperties)
|
||||
{
|
||||
NcFreeNetconProperties(This->pProperties);
|
||||
}
|
||||
CoTaskMemFree (This);
|
||||
}
|
||||
return refCount;
|
||||
|
@ -486,7 +496,7 @@ INetConnectionPropertyUi2_fnAddPages(
|
|||
if (FAILED(hr))
|
||||
return hr;
|
||||
|
||||
hProp = InitializePropertySheetPage(MAKEINTRESOURCEW(IDD_NETPROPERTIES), LANPropertiesUIDlg, (LPARAM)This, This->pProperties->pszwName);
|
||||
hProp = InitializePropertySheetPage(MAKEINTRESOURCEW(IDD_NETPROPERTIES), LANPropertiesUIDlg, (LPARAM)This, This->pProperties->pszwName);
|
||||
if (hProp)
|
||||
{
|
||||
ret = (*pfnAddPage)(hProp, lParam);
|
||||
|
@ -494,7 +504,10 @@ INetConnectionPropertyUi2_fnAddPages(
|
|||
{
|
||||
hr = NOERROR;
|
||||
}
|
||||
DestroyPropertySheetPage(hProp);
|
||||
else
|
||||
{
|
||||
DestroyPropertySheetPage(hProp);
|
||||
}
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
|
|
|
@ -8,8 +8,8 @@ const GUID CLSID_NetworkConnections = {0x7007ACC7, 0x3202, 0x11D1, {0xAA, 0
|
|||
const GUID CLSID_LanConnectStatusUI = {0x7007ACCF, 0x3202, 0x11D1, {0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E}};
|
||||
|
||||
static const WCHAR szNetConnectClass[] = L"CLSID\\{7007ACC7-3202-11D1-AAD2-00805FC1270E}";
|
||||
static const WCHAR szLanConnectUI[] = L"CLSID\\{7007ACC5-3202-11D1-AA-D200805FC1270E}";
|
||||
static const WCHAR szLanConnectStatusUI[] = L"CLSID\\{7007ACCF-3202-11D1-AA-D200805FC1270E}";
|
||||
static const WCHAR szLanConnectUI[] = L"CLSID\\{7007ACC5-3202-11D1-AAD2-00805FC1270E}";
|
||||
static const WCHAR szLanConnectStatusUI[] = L"CLSID\\{7007ACCF-3202-11D1-AAD2-00805FC1270E}";
|
||||
static const WCHAR szNamespaceKey[] = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ControlPanel\\NameSpace\\{7007ACC7-3202-11D1-AAD2-00805FC1270E}";
|
||||
|
||||
static INTERFACE_TABLE InterfaceTable[] =
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include <docobj.h>
|
||||
#include <netcfgx.h>
|
||||
#include <netcfgn.h>
|
||||
#include <prsht.h>
|
||||
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
|
|
@ -745,7 +745,7 @@ PropSheetExCallback(HPROPSHEETPAGE hPage, LPARAM lParam)
|
|||
pinfo->u3.phpage[pinfo->nPages++] = hPage;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
|
@ -788,7 +788,7 @@ static HRESULT WINAPI ISF_NetConnect_IContextMenu2_InvokeCommand(
|
|||
if (SUCCEEDED(hr))
|
||||
{
|
||||
/* FIXME perform version checks */
|
||||
hr = CoCreateInstance(&ClassID, NULL, 0, &IID_INetConnectionPropertyUi, (LPVOID)&pNCP);
|
||||
hr = CoCreateInstance(&ClassID, NULL, CLSCTX_INPROC_SERVER, &IID_INetConnectionPropertyUi, (LPVOID)&pNCP);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = INetConnectionPropertyUi_SetConnection(pNCP, val->pItem);
|
||||
|
@ -799,8 +799,9 @@ static HRESULT WINAPI ISF_NetConnect_IContextMenu2_InvokeCommand(
|
|||
pinfo.dwSize = sizeof(PROPSHEETHEADERW);
|
||||
pinfo.dwFlags = PSH_NOCONTEXTHELP | PSH_PROPTITLE | PSH_NOAPPLYNOW;
|
||||
pinfo.u3.phpage = hppages;
|
||||
pinfo.pszCaption = pProperties->pszwName;
|
||||
pinfo.hwndParent = lpcmi->hwnd;
|
||||
|
||||
pinfo.pszCaption = pProperties->pszwName;
|
||||
hr = INetConnectionPropertyUi_AddPages(pNCP, lpcmi->hwnd, PropSheetExCallback, (LPARAM)&pinfo);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
|
@ -808,7 +809,9 @@ static HRESULT WINAPI ISF_NetConnect_IContextMenu2_InvokeCommand(
|
|||
hr = E_FAIL;
|
||||
}
|
||||
}
|
||||
INetConnectionPropertyUi_Release(pNCP);
|
||||
}
|
||||
|
||||
}
|
||||
NcFreeNetconProperties(pProperties);
|
||||
return hr;
|
||||
|
|
Loading…
Reference in a new issue