Commit b4ea7d32 authored by Vincent Povirk's avatar Vincent Povirk Committed by Alexandre Julliard

shell32: Implement Get/SetIDList on ShellItem objects.

parent affd20d9
...@@ -204,9 +204,20 @@ static HRESULT WINAPI ShellItem_IPersistIDList_SetIDList(IPersistIDList* iface, ...@@ -204,9 +204,20 @@ static HRESULT WINAPI ShellItem_IPersistIDList_SetIDList(IPersistIDList* iface,
LPCITEMIDLIST pidl) LPCITEMIDLIST pidl)
{ {
ShellItem *This = impl_from_IPersistIDList(iface); ShellItem *This = impl_from_IPersistIDList(iface);
LPITEMIDLIST new_pidl;
FIXME("(%p,%p)\n", This, pidl); TRACE("(%p,%p)\n", This, pidl);
return E_NOTIMPL;
new_pidl = ILClone(pidl);
if (new_pidl)
{
ILFree(This->pidl);
This->pidl = new_pidl;
return S_OK;
}
else
return E_OUTOFMEMORY;
} }
static HRESULT WINAPI ShellItem_IPersistIDList_GetIDList(IPersistIDList* iface, static HRESULT WINAPI ShellItem_IPersistIDList_GetIDList(IPersistIDList* iface,
...@@ -214,8 +225,13 @@ static HRESULT WINAPI ShellItem_IPersistIDList_GetIDList(IPersistIDList* iface, ...@@ -214,8 +225,13 @@ static HRESULT WINAPI ShellItem_IPersistIDList_GetIDList(IPersistIDList* iface,
{ {
ShellItem *This = impl_from_IPersistIDList(iface); ShellItem *This = impl_from_IPersistIDList(iface);
FIXME("(%p,%p)\n", This, ppidl); TRACE("(%p,%p)\n", This, ppidl);
return E_NOTIMPL;
*ppidl = ILClone(This->pidl);
if (*ppidl)
return S_OK;
else
return E_OUTOFMEMORY;
} }
static const IPersistIDListVtbl ShellItem_IPersistIDList_Vtbl = { static const IPersistIDListVtbl ShellItem_IPersistIDList_Vtbl = {
......
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