On 1/21/2010 20:41, Reece Dunn wrote:
2010/1/21 Nikolay Sivov<bungleh...@gmail.com>:
On 1/21/2010 19:49, Paul Vriens wrote:
On 21 jan 2010, at 17:26, Nikolay Sivov<bungleh...@gmail.com>  wrote:

On 1/21/2010 19:19, Paul Vriens wrote:
On 01/18/2010 10:28 PM, Nikolay Sivov wrote:
Add basic test structure for IXmlReader

Hi Nikolay,

This one crashes on Vista without a servicepack at:

+    IXmlReader_Release(reader);
+}

All the calls before that one look ok (they produce the expected
output).

I guess "vista without an SP" can be considered broken(), but how do
deal with that?

That's a bit strange. Could you test for reader pointer around this:
---
   hr = pCreateXmlReader(&IID_IXmlReader, (LPVOID*)&reader, NULL);
   ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
---
Add reader = 0xdeadbeef; and test what is reader after a call.



See https://winetestbot.geldorp.nl/JobDetails.pl?Key=386
Hm. So it's created ok, at least looks so.

I don't see how to fix this. We could remove this _Release of course, but
will leak.
Can't you do something like:

    ULONG count;
    count = IXmlReader_AddRef(reader);
    ok (count == 2, "Expected AddRef to return 2, got: %d\n", count)
    while (count>  0)
       count = IXmlReader_Release(reader);
Maybe. It's ugly of course, cause it's not clear at all why refcount could be zero just after creation
with success code and not zero pointer.
Btw, could you try it?
?

- Reece




Reply via email to