From: Piotr Caban <piotr(a)codeweavers.com> --- dlls/msado15/rowset.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/dlls/msado15/rowset.c b/dlls/msado15/rowset.c index 589bbae66d8..937b14bd62d 100644 --- a/dlls/msado15/rowset.c +++ b/dlls/msado15/rowset.c @@ -736,16 +736,11 @@ static HRESULT WINAPI rowset_change_InsertRow(IRowsetChange *iface, HCHAPTER res { struct rowset *rowset = impl_from_IRowsetChange(iface); struct data *val; + HRESULT hr; int i; TRACE("%p, %Iu, %Id, %p, %p\n", rowset, reserved, accessor, data, row); - if (data) - { - FIXME("setting data not implemented\n"); - return E_NOTIMPL; - } - if (rowset->row_cnt == rowset->rows_alloc) { int rows_alloc = max(8, max(rowset->row_cnt + 1, rowset->rows_alloc * 2)); @@ -770,6 +765,12 @@ static HRESULT WINAPI rowset_change_InsertRow(IRowsetChange *iface, HCHAPTER res val->status = DBSTATUS_E_UNAVAILABLE; } + if (data) + { + hr = rowset_change_SetData(iface, rowset->row_cnt + 1, accessor, data); + if (FAILED(hr)) return hr; + } + rowset->row_cnt++; if (row) *row = rowset->row_cnt; return S_OK; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9691