[PATCH] Add IFolderView::GetItemPosition() implementation

Nikolay Sivov nsivov at codeweavers.com
Sun Apr 18 09:56:40 CDT 2010


---
 dlls/shell32/shlview.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
index 77b93de..ca28b39 100644
--- a/dlls/shell32/shlview.c
+++ b/dlls/shell32/shlview.c
@@ -2833,9 +2833,17 @@ static HRESULT WINAPI IFView_GetFocusedItem(IFolderView *iface, int *item)
 
 static HRESULT WINAPI IFView_GetItemPosition(IFolderView *iface, PCUITEMID_CHILD pidl, POINT *ppt)
 {
-	IShellViewImpl *This = impl_from_IFolderView(iface);
-	FIXME("(%p)->(%p %p), stub\n", This, pidl, ppt);
-	return E_NOTIMPL;
+    IShellViewImpl *This = impl_from_IFolderView(iface);
+    INT i;
+
+    TRACE("(%p)->(%p %p)\n", This, pidl, ppt);
+
+    i = LV_FindItemByPidl(This, ILFindLastID(pidl));
+    if (i == -1) return E_FAIL;
+
+    SendMessageW(This->hWndList, LVM_GETITEMPOSITION, i, (LPARAM)ppt);
+
+    return S_OK;
 }
 
 static HRESULT WINAPI IFView_GetSpacing(IFolderView *iface, POINT *pt)
-- 
1.5.6.5


--=-WaGR6Y5On+4Fu+4GocDK--




More information about the wine-patches mailing list