Commit 697e529c authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

shdocvw: Take the riid parameter to TaskbarList_Create() into account.

parent 936713fe
...@@ -130,12 +130,14 @@ static const struct ITaskbarListVtbl taskbar_list_vtbl = ...@@ -130,12 +130,14 @@ static const struct ITaskbarListVtbl taskbar_list_vtbl =
HRESULT TaskbarList_Create(IUnknown *outer, REFIID riid, void **taskbar_list) HRESULT TaskbarList_Create(IUnknown *outer, REFIID riid, void **taskbar_list)
{ {
struct taskbar_list *object; struct taskbar_list *object;
HRESULT hr;
TRACE("outer %p, riid %s, taskbar_list %p\n", outer, debugstr_guid(riid), taskbar_list); TRACE("outer %p, riid %s, taskbar_list %p\n", outer, debugstr_guid(riid), taskbar_list);
if (outer) if (outer)
{ {
WARN("Aggregation not supported\n"); WARN("Aggregation not supported\n");
*taskbar_list = NULL;
return CLASS_E_NOAGGREGATION; return CLASS_E_NOAGGREGATION;
} }
...@@ -143,15 +145,21 @@ HRESULT TaskbarList_Create(IUnknown *outer, REFIID riid, void **taskbar_list) ...@@ -143,15 +145,21 @@ HRESULT TaskbarList_Create(IUnknown *outer, REFIID riid, void **taskbar_list)
if (!object) if (!object)
{ {
ERR("Failed to allocate taskbar list object memory\n"); ERR("Failed to allocate taskbar list object memory\n");
*taskbar_list = NULL;
return E_OUTOFMEMORY; return E_OUTOFMEMORY;
} }
object->lpVtbl = &taskbar_list_vtbl; object->lpVtbl = &taskbar_list_vtbl;
object->refcount = 1; object->refcount = 0;
*taskbar_list = object;
TRACE("Created ITaskbarList %p\n", object); TRACE("Created ITaskbarList %p\n", object);
hr = ITaskbarList_QueryInterface((ITaskbarList *)object, riid, taskbar_list);
if (FAILED(hr))
{
HeapFree(GetProcessHeap(), 0, object);
return hr;
}
return S_OK; return S_OK;
} }
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