mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-01 07:37:02 +00:00
shdocvw: Take the riid parameter to TaskbarList_Create() into account.
This commit is contained in:
parent
936713fe33
commit
697e529c19
1 changed files with 11 additions and 3 deletions
|
@ -130,12 +130,14 @@ static const struct ITaskbarListVtbl taskbar_list_vtbl =
|
|||
HRESULT TaskbarList_Create(IUnknown *outer, REFIID riid, void **taskbar_list)
|
||||
{
|
||||
struct taskbar_list *object;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("outer %p, riid %s, taskbar_list %p\n", outer, debugstr_guid(riid), taskbar_list);
|
||||
|
||||
if (outer)
|
||||
{
|
||||
WARN("Aggregation not supported\n");
|
||||
*taskbar_list = NULL;
|
||||
return CLASS_E_NOAGGREGATION;
|
||||
}
|
||||
|
||||
|
@ -143,15 +145,21 @@ HRESULT TaskbarList_Create(IUnknown *outer, REFIID riid, void **taskbar_list)
|
|||
if (!object)
|
||||
{
|
||||
ERR("Failed to allocate taskbar list object memory\n");
|
||||
*taskbar_list = NULL;
|
||||
return E_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
object->lpVtbl = &taskbar_list_vtbl;
|
||||
object->refcount = 1;
|
||||
|
||||
*taskbar_list = object;
|
||||
object->refcount = 0;
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue