From: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> --- dlls/opcservices/package.c | 6 +++--- dlls/opcservices/tests/opcservices.c | 6 ------ 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/dlls/opcservices/package.c b/dlls/opcservices/package.c index bdd06ded69d..17175006433 100644 --- a/dlls/opcservices/package.c +++ b/dlls/opcservices/package.c @@ -260,10 +260,10 @@ static HRESULT WINAPI opc_part_enum_MovePrevious(IOpcPartEnumerator *iface, BOOL if (has_part_collection_changed(part_enum)) return OPC_E_ENUM_COLLECTION_CHANGED; - if (part_enum->pos != ~(size_t)0) - part_enum->pos--; + if (part_enum->pos == ~(size_t)0) + return OPC_E_ENUM_CANNOT_MOVE_PREVIOUS; - *has_previous = part_enum->pos != ~(size_t)0; + *has_previous = --part_enum->pos != ~(size_t)0; return S_OK; } diff --git a/dlls/opcservices/tests/opcservices.c b/dlls/opcservices/tests/opcservices.c index 94f977f8228..396364037b8 100644 --- a/dlls/opcservices/tests/opcservices.c +++ b/dlls/opcservices/tests/opcservices.c @@ -674,9 +674,7 @@ static void test_part_enumerator(void) ret = 123; hr = IOpcPartEnumerator_MovePrevious(partenum, &ret); - todo_wine ok(hr == OPC_E_ENUM_CANNOT_MOVE_PREVIOUS, "Unexpected hr %#lx.\n", hr); - todo_wine ok(ret == 123, "Unexpected result %d.\n", ret); ret = TRUE; @@ -696,9 +694,7 @@ static void test_part_enumerator(void) ret = 123; hr = IOpcPartEnumerator_MovePrevious(partenum, &ret); - todo_wine ok(hr == OPC_E_ENUM_CANNOT_MOVE_PREVIOUS, "Unexpected hr %#lx.\n", hr); - todo_wine ok(ret == 123, "Unexpected result %d.\n", ret); hr = IOpcFactory_CreatePartUri(factory, L"/uri", &part_uri); @@ -788,9 +784,7 @@ static void test_part_enumerator(void) ret = 123; hr = IOpcPartEnumerator_MovePrevious(partenum, &ret); - todo_wine ok(hr == OPC_E_ENUM_CANNOT_MOVE_PREVIOUS, "Unexpected hr %#lx.\n", hr); - todo_wine ok(ret == 123, "Unexpected result %d.\n", ret); hr = IOpcPartEnumerator_Clone(partenum, &partenum2); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/8856