Commit b0d04e69 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

wincodecs: Simplify property name allocation.

parent 5107ef75
...@@ -94,7 +94,7 @@ static ULONG WINAPI PropertyBag_Release(IPropertyBag2 *iface) ...@@ -94,7 +94,7 @@ static ULONG WINAPI PropertyBag_Release(IPropertyBag2 *iface)
{ {
for (i=0; i < This->prop_count; i++) for (i=0; i < This->prop_count; i++)
{ {
HeapFree(GetProcessHeap(), 0, This->properties[i].pstrName); CoTaskMemFree(This->properties[i].pstrName);
VariantClear( This->values+i ); VariantClear( This->values+i );
} }
} }
...@@ -213,18 +213,14 @@ static HRESULT WINAPI PropertyBag_CountProperties(IPropertyBag2 *iface, ULONG *p ...@@ -213,18 +213,14 @@ static HRESULT WINAPI PropertyBag_CountProperties(IPropertyBag2 *iface, ULONG *p
return S_OK; return S_OK;
} }
static HRESULT copy_propbag2(PROPBAG2 *dest, PROPBAG2 *src, BOOL useCoAlloc) static HRESULT copy_propbag2(PROPBAG2 *dest, PROPBAG2 *src)
{ {
dest->cfType = src->cfType; dest->cfType = src->cfType;
dest->clsid = src->clsid; dest->clsid = src->clsid;
dest->dwHint = src->dwHint; dest->dwHint = src->dwHint;
dest->dwType = src->dwType; dest->dwType = src->dwType;
dest->vt = src->vt; dest->vt = src->vt;
if(useCoAlloc) dest->pstrName = CoTaskMemAlloc((strlenW(src->pstrName)+1) * sizeof(WCHAR));
dest->pstrName = CoTaskMemAlloc((strlenW(src->pstrName)+1) * sizeof(WCHAR));
else
dest->pstrName = HeapAlloc(GetProcessHeap(), 0, (strlenW(src->pstrName)+1) * sizeof(WCHAR));
if(!dest->pstrName) if(!dest->pstrName)
return E_OUTOFMEMORY; return E_OUTOFMEMORY;
...@@ -251,7 +247,7 @@ static HRESULT WINAPI PropertyBag_GetPropertyInfo(IPropertyBag2 *iface, ULONG iP ...@@ -251,7 +247,7 @@ static HRESULT WINAPI PropertyBag_GetPropertyInfo(IPropertyBag2 *iface, ULONG iP
for (i=0; i < *pcProperties; i++) for (i=0; i < *pcProperties; i++)
{ {
res = copy_propbag2(pPropBag+i, This->properties+iProperty+i, TRUE); res = copy_propbag2(pPropBag+i, This->properties+iProperty+i);
if (FAILED(res)) if (FAILED(res))
{ {
do { do {
...@@ -311,7 +307,7 @@ HRESULT CreatePropertyBag2(PROPBAG2 *options, UINT count, ...@@ -311,7 +307,7 @@ HRESULT CreatePropertyBag2(PROPBAG2 *options, UINT count,
else else
for (i=0; i < count; i++) for (i=0; i < count; i++)
{ {
res = copy_propbag2(This->properties+i, options+i, FALSE); res = copy_propbag2(This->properties+i, options+i);
if (FAILED(res)) if (FAILED(res))
break; break;
This->properties[i].dwHint = i+1; /* 0 means unset, so we start with 1 */ This->properties[i].dwHint = i+1; /* 0 means unset, so we start with 1 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment