shell32: Stub IShellView2::SelectAndPositionItem() over IFolderView::SelectAndPositio...
authorNikolay Sivov <nsivov@codeweavers.com>
Thu, 4 Mar 2010 19:36:27 +0000 (22:36 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 5 Mar 2010 11:40:54 +0000 (12:40 +0100)
dlls/shell32/shlview.c

index 8114546c8a76c847e3ad6a074abd7f02f4c71ed6..80c4c3a67576f940bf48041e50402fa428fe1135 100644 (file)
@@ -2111,10 +2111,26 @@ static HRESULT WINAPI IShellView2_fnHandleRename(IShellView2* iface, LPCITEMIDLI
     return E_NOTIMPL;
 }
 
-static HRESULT WINAPI IShellView2_fnSelectAndPositionItem(IShellView2* iface, LPCITEMIDLIST item, UINT flags, POINT *point)
+static HRESULT WINAPI IShellView2_fnSelectAndPositionItem(
+    IShellView2* iface,
+    LPCITEMIDLIST item,
+    UINT flags,
+    POINT *point)
 {
-    FIXME("(%p)->(item %p, flags %#x, point %p) stub!\n", iface, item, flags, point);
-    return E_NOTIMPL;
+    IShellViewImpl *This = (IShellViewImpl *)iface;
+    IFolderView *view;
+    HRESULT hr;
+
+    TRACE("(%p)->(item %p, flags %#x, point %p)\n", This, item, flags, point);
+
+    hr = IShellView2_QueryInterface(iface, &IID_IFolderView, (void**)&view);
+    if (hr == S_OK)
+    {
+        hr = IFolderView_SelectAndPositionItems(view, 1, &item, point, flags);
+        IFolderView_Release(view);
+    }
+
+    return hr;
 }
 
 static const IShellView2Vtbl svvt =