Module: wine Branch: master Commit: 8235b55917e74a3be687e3be36670bf328569f0b URL: http://source.winehq.org/git/wine.git/?a=commit;h=8235b55917e74a3be687e3be36...
Author: Huw Davies huw@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);