Nikolay Sivov : shell32: Stub IShellView2::SelectAndPositionItem() over IFolderView::SelectAndPositionItems().

Alexandre Julliard julliard at winehq.org
Fri Mar 5 09:42:55 CST 2010


Module: wine
Branch: master
Commit: 072951e2f8a46269b46ca5acd42a6bd976f96d2d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=072951e2f8a46269b46ca5acd42a6bd976f96d2d

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Mar  4 22:36:27 2010 +0300

shell32: Stub IShellView2::SelectAndPositionItem() over IFolderView::SelectAndPositionItems().

---

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

diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
index 8114546..80c4c3a 100644
--- a/dlls/shell32/shlview.c
+++ b/dlls/shell32/shlview.c
@@ -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 =




More information about the wine-cvs mailing list