Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- dlls/msado15/recordset.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c index 0b91358f83d..6b97e84e41f 100644 --- a/dlls/msado15/recordset.c +++ b/dlls/msado15/recordset.c @@ -461,6 +461,7 @@ static HRESULT Field_create( const WCHAR *name, LONG index, struct recordset *re } field->index = index; field->recordset = recordset; + field->refs = 1;
*obj = &field->Field_iface; TRACE( "returning iface %p\n", *obj );
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=87104
Your paranoid android.
=== debiant2 (32 bit report) ===
msado15: msado15.c:700: Test failed: got 2 msado15.c:711: Test failed: got 3 msado15.c:724: Test failed: got 3 msado15.c:727: Test failed: got 2
=== debiant2 (32 bit Chinese:China report) ===
msado15: msado15.c:700: Test failed: got 2 msado15.c:711: Test failed: got 3 msado15.c:724: Test failed: got 3 msado15.c:727: Test failed: got 2
=== debiant2 (32 bit WoW report) ===
msado15: msado15.c:700: Test failed: got 2 msado15.c:711: Test failed: got 3 msado15.c:724: Test failed: got 3 msado15.c:727: Test failed: got 2
=== debiant2 (64 bit WoW report) ===
msado15: msado15.c:700: Test failed: got 2 msado15.c:711: Test failed: got 3 msado15.c:724: Test failed: got 3 msado15.c:727: Test failed: got 2
Just ignore this for now. Need to think a little more on how this ref value actually works.
The second patch shows that you can get a Field multiple times without issues. The current implementation of the reference counting causes crashes with that patch.
Alistair.
On 17/3/21 9:16 pm, Alistair Leslie-Hughes wrote:
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com
dlls/msado15/recordset.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c index 0b91358f83d..6b97e84e41f 100644 --- a/dlls/msado15/recordset.c +++ b/dlls/msado15/recordset.c @@ -461,6 +461,7 @@ static HRESULT Field_create( const WCHAR *name, LONG index, struct recordset *re } field->index = index; field->recordset = recordset;
field->refs = 1;
*obj = &field->Field_iface; TRACE( "returning iface %p\n", *obj );