diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c index 46cbca78679..e949df62946 100644 --- a/dlls/ntdll/sync.c +++ b/dlls/ntdll/sync.c @@ -510,7 +510,7 @@ NTSTATUS WINAPI NtReleaseMutant( IN HANDLE handle, OUT PLONG prev_count OPTIONAL { req->handle = wine_server_obj_handle( handle ); status = wine_server_call( req ); - if (prev_count) *prev_count = reply->prev_count; + if (prev_count) *prev_count = 1 - reply->prev_count; } SERVER_END_REQ; return status; diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c index 2bc4ccdcafd..64a16abb624 100644 --- a/dlls/ntdll/tests/om.c +++ b/dlls/ntdll/tests/om.c @@ -1942,12 +1942,12 @@ static void test_mutant(void) prev = 0xdeadbeef; status = pNtReleaseMutant(mutant, &prev); ok( status == STATUS_SUCCESS, "NtQueryRelease failed %08x\n", status ); - todo_wine ok( prev == -1, "NtQueryRelease failed, expected -1, got %d\n", prev ); + ok( prev == -1, "NtQueryRelease failed, expected -1, got %d\n", prev ); prev = 0xdeadbeef; status = pNtReleaseMutant(mutant, &prev); ok( status == STATUS_SUCCESS, "NtQueryRelease failed %08x\n", status ); - todo_wine ok( prev == 0, "NtQueryRelease failed, expected 0, got %d\n", prev ); + ok( prev == 0, "NtQueryRelease failed, expected 0, got %d\n", prev ); memset(&info, 0xcc, sizeof(info)); status = pNtQueryMutant(mutant, MutantBasicInformation, &info, sizeof(info), NULL);