From: Piotr Caban <piotr@codeweavers.com> --- dlls/msado15/recordset.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c index f276ffbf625..a324e500e4d 100644 --- a/dlls/msado15/recordset.c +++ b/dlls/msado15/recordset.c @@ -268,12 +268,14 @@ static HRESULT cache_get( struct recordset *recordset, BOOL forward ) if (fetch) { DBCOUNTITEM count; + VARIANT_BOOL b; HROW row = 0; - if (!cache_is_empty( recordset )) + if (!cache_is_empty( recordset ) && + SUCCEEDED(_Recordset_Supports(&recordset->Recordset_iface, adHoldRecords, &b)) && b && + SUCCEEDED(IRowset_AddRefRows(recordset->row_set, 1, &recordset->current_row, NULL, NULL))) { - if (SUCCEEDED(IRowset_AddRefRows(recordset->row_set, 1, &recordset->current_row, NULL, NULL))) - row = recordset->current_row; + row = recordset->current_row; } cache_release( recordset ); recordset->current_row = row; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9929