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); ? - Reece