Signed-off-by: Hans Leidekker hans@codeweavers.com --- dlls/msado15/recordset.c | 8 ++++++-- dlls/msado15/tests/msado15.c | 13 +++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c index f1c864cdd9..0f0cb24759 100644 --- a/dlls/msado15/recordset.c +++ b/dlls/msado15/recordset.c @@ -1075,8 +1075,12 @@ static HRESULT WINAPI recordset_get_Status( _Recordset *iface, LONG *status )
static HRESULT WINAPI recordset_get_State( _Recordset *iface, LONG *state ) { - FIXME( "%p, %p\n", iface, state ); - return E_NOTIMPL; + struct recordset *recordset = impl_from_Recordset( iface ); + + TRACE( "%p, %p\n", recordset, state ); + + *state = recordset->state; + return S_OK; }
static HRESULT WINAPI recordset__xClone( _Recordset *iface, _Recordset **obj ) diff --git a/dlls/msado15/tests/msado15.c b/dlls/msado15/tests/msado15.c index 83bea8ca78..855f138e47 100644 --- a/dlls/msado15/tests/msado15.c +++ b/dlls/msado15/tests/msado15.c @@ -100,8 +100,8 @@ static void test_Recordset(void)
state = -1; hr = _Recordset_get_State( recordset, &state ); - todo_wine ok( hr == S_OK, "got %08x\n", hr ); - todo_wine ok( state == adStateClosed, "got %d\n", state ); + ok( hr == S_OK, "got %08x\n", hr ); + ok( state == adStateClosed, "got %d\n", state );
hr = _Recordset_AddNew( recordset, missing, missing ); ok( hr == MAKE_ADO_HRESULT( adErrObjectClosed ), "got %08x\n", hr ); @@ -124,8 +124,8 @@ static void test_Recordset(void)
state = -1; hr = _Recordset_get_State( recordset, &state ); - todo_wine ok( hr == S_OK, "got %08x\n", hr ); - todo_wine ok( state == adStateOpen, "got %d\n", state ); + ok( hr == S_OK, "got %08x\n", hr ); + ok( state == adStateOpen, "got %d\n", state );
hr = _Recordset_AddNew( recordset, missing, missing ); ok( hr == S_OK, "got %08x\n", hr ); @@ -133,6 +133,11 @@ static void test_Recordset(void) hr = _Recordset_Close( recordset ); ok( hr == S_OK, "got %08x\n", hr );
+ state = -1; + hr = _Recordset_get_State( recordset, &state ); + ok( hr == S_OK, "got %08x\n", hr ); + ok( state == adStateClosed, "got %d\n", state ); + Fields_Release( fields ); _Recordset_Release( recordset ); }