Huw Davies : ole32: When releasing marshal data of a normal ref ignore any remaining weak refs .

Alexandre Julliard julliard at winehq.org
Thu Oct 24 13:18:56 CDT 2013


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

Author: Huw Davies <huw at codeweavers.com>
Date:   Thu Oct 24 16:16:50 2013 +0100

ole32: When releasing marshal data of a normal ref ignore any remaining weak refs.

---

 dlls/ole32/stubmanager.c   |    2 +-
 dlls/ole32/tests/marshal.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/ole32/stubmanager.c b/dlls/ole32/stubmanager.c
index 973114e..9f33056 100644
--- a/dlls/ole32/stubmanager.c
+++ b/dlls/ole32/stubmanager.c
@@ -578,7 +578,7 @@ void stub_manager_release_marshal_data(struct stub_manager *m, ULONG refs, const
     else if (ifstub->flags & MSHLFLAGS_TABLESTRONG)
         refs = 1;
 
-    stub_manager_ext_release(m, refs, tableweak, FALSE);
+    stub_manager_ext_release(m, refs, tableweak, !tableweak);
 }
 
 /* is an ifstub table marshaled? */
diff --git a/dlls/ole32/tests/marshal.c b/dlls/ole32/tests/marshal.c
index d0865f3..cd49a7c 100644
--- a/dlls/ole32/tests/marshal.c
+++ b/dlls/ole32/tests/marshal.c
@@ -1399,12 +1399,12 @@ static void test_tableweak_and_normal_marshal_and_releasedata(void)
 
     if (with_external_conn)
     {
+todo_wine
         ok_more_than_one_lock();
         IStream_Seek(data.pStream1, ullZero, STREAM_SEEK_SET, NULL);
         release_host_object(tid, 1);
     }
 
-else todo_wine
     ok_no_locks();
 
     IStream_Release(data.pStream1);




More information about the wine-cvs mailing list