>From 555ca4a7a3b8e8065cbaa3ba6d3558cf42b3bc07 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Mon, 2 Jan 2012 15:12:26 +0300
Subject: [PATCH 09/10] Implement IWshShortcut::Save()

---
 dlls/wshom.ocx/shell.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/wshom.ocx/shell.c b/dlls/wshom.ocx/shell.c
index 121d3e7..4d0c266 100644
--- a/dlls/wshom.ocx/shell.c
+++ b/dlls/wshom.ocx/shell.c
@@ -504,8 +504,16 @@ static HRESULT WINAPI WshShortcut_Load(IWshShortcut *iface, BSTR PathLink)
 static HRESULT WINAPI WshShortcut_Save(IWshShortcut *iface)
 {
     WshShortcut *This = impl_from_IWshShortcut(iface);
-    FIXME("(%p): stub\n", This);
-    return E_NOTIMPL;
+    IPersistFile *file;
+    HRESULT hr;
+
+    TRACE("(%p)\n", This);
+
+    IShellLinkW_QueryInterface(This->link, &IID_IPersistFile, (void**)&file);
+    hr = IPersistFile_Save(file, This->path_link, TRUE);
+    IPersistFile_Release(file);
+
+    return hr;
 }
 
 static const IWshShortcutVtbl WshShortcutVtbl = {
-- 
1.5.6.5


