2010/1/21 Nikolay Sivov <bungleh...@gmail.com>: > 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?
I don't have access to a Windows test machine to try it out, and don't have access to my home Linux dev box, so can't create a patch for the test bot at the moment. - Reece