From 5b1c34518ea31b1e137f4188dc200d21aa64745b Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Fri, 13 Feb 2009 16:40:19 -0600 Subject: [PATCH] shell32: implement Get/SetIDList on ShellItem objects --- dlls/shell32/shellitem.c | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/dlls/shell32/shellitem.c b/dlls/shell32/shellitem.c index 62c6504..73128b1 100644 --- a/dlls/shell32/shellitem.c +++ b/dlls/shell32/shellitem.c @@ -204,8 +204,14 @@ static HRESULT WINAPI ShellItem_IPersistIDList_SetIDList(IPersistIDList* iface, { ShellItem *This = impl_from_IPersistIDList(iface); - FIXME("(%p,%p)\n", This, pidl); - return E_NOTIMPL; + TRACE("(%p,%p)\n", This, pidl); + + ILFree(This->pidl); + This->pidl = ILClone(pidl); + if (This->pidl) + return S_OK; + else + return E_OUTOFMEMORY; } static HRESULT WINAPI ShellItem_IPersistIDList_GetIDList(IPersistIDList* iface, @@ -213,8 +219,13 @@ static HRESULT WINAPI ShellItem_IPersistIDList_GetIDList(IPersistIDList* iface, { ShellItem *This = impl_from_IPersistIDList(iface); - FIXME("(%p,%p)\n", This, ppidl); - return E_NOTIMPL; + TRACE("(%p,%p)\n", This, ppidl); + + *ppidl = ILClone(This->pidl); + if (ppidl) + return S_OK; + else + return E_OUTOFMEMORY; } static const IPersistIDListVtbl ShellItem_IPersistIDList_Vtbl = { -- 1.5.4.3