From 1d91c844dacd78157f43f88933f1b1236dd5d27c Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Wed, 20 May 2015 09:13:37 +0300
Subject: [PATCH] oleaut32: Added missing IPersistMemory proxy/stub methods.

---
 dlls/oleaut32/usrmarshal.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/dlls/oleaut32/usrmarshal.c b/dlls/oleaut32/usrmarshal.c
index 32c089c0153..e86b5777f3b 100644
--- a/dlls/oleaut32/usrmarshal.c
+++ b/dlls/oleaut32/usrmarshal.c
@@ -2268,8 +2268,12 @@ HRESULT CALLBACK IPersistMemory_Load_Proxy(
     LPVOID pMem,
     ULONG cbSize)
 {
-    FIXME("not implemented\n");
-    return E_NOTIMPL;
+    TRACE("(%p, %u)\n", pMem, cbSize);
+
+    if (!pMem)
+        return E_POINTER;
+
+    return IPersistMemory_RemoteLoad_Proxy(This, pMem, cbSize);
 }
 
 HRESULT __RPC_STUB IPersistMemory_Load_Stub(
@@ -2277,8 +2281,8 @@ HRESULT __RPC_STUB IPersistMemory_Load_Stub(
     BYTE *pMem,
     ULONG cbSize)
 {
-    FIXME("not implemented\n");
-    return E_NOTIMPL;
+    TRACE("(%p, %u)\n", pMem, cbSize);
+    return IPersistMemory_Load(This, pMem, cbSize);
 }
 
 HRESULT CALLBACK IPersistMemory_Save_Proxy(
@@ -2287,8 +2291,12 @@ HRESULT CALLBACK IPersistMemory_Save_Proxy(
     BOOL fClearDirty,
     ULONG cbSize)
 {
-    FIXME("not implemented\n");
-    return E_NOTIMPL;
+    TRACE("(%p, %d, %u)\n", pMem, fClearDirty, cbSize);
+
+    if (!pMem)
+        return E_POINTER;
+
+    return IPersistMemory_RemoteSave_Proxy(This, pMem, fClearDirty, cbSize);
 }
 
 HRESULT __RPC_STUB IPersistMemory_Save_Stub(
@@ -2297,8 +2305,8 @@ HRESULT __RPC_STUB IPersistMemory_Save_Stub(
     BOOL fClearDirty,
     ULONG cbSize)
 {
-    FIXME("not implemented\n");
-    return E_NOTIMPL;
+    TRACE("(%p, %d, %u)\n", pMem, fClearDirty, cbSize);
+    return IPersistMemory_Save(This, pMem, fClearDirty, cbSize);
 }
 
 void CALLBACK IAdviseSinkEx_OnViewStatusChange_Proxy(
-- 
GitLab