urlmon: Fix a few failing tests in win2k3

Jacek Caban jacek at codeweavers.com
Fri Jun 6 14:08:52 CDT 2008


James Hawkins wrote:
> On Fri, Jun 6, 2008 at 1:25 PM, Jacek Caban <jacek at codeweavers.com> wrote:
>   
>> James Hawkins wrote:
>>     
>>> Hi,
>>>
>>> Changelog:
>>> * Fix a few failing tests in win2k3.
>>>       
>> You've fixed tests on IE7, not only win2k3. It would be better to change
>> Wine to behave like IE7. Also your patch lefts some variables in wrong
>> state. I will send patches to fix it.
>>
>>     
>
> Can you take a look at the urlmon:url tests as well?  I sent in a
> patch for one of the failures recently, but failed to see that it
> makes the tests crash in wine.
>
> http://test.winehq.org/data/b483b680136944bdb59be89c27960906278c52b2/2003_jh-win2k3-vm/urlmon:url.txt
>   

The way you tried to fix it looks good, but it has a serious problem:

>      }else todo_wine {
>          ok(IMoniker_Release(mon) == 0, "mon should be destroyed here\n");
> -        ok(IBindCtx_Release(bctx) == 0, "bctx should be destroyed here\n");
> +
> +        if(bindf & BINDF_ASYNCHRONOUS) {
> +            ok(IBindCtx_Release(bctx) == 1, "bctx should not be destroyed here\n");

It would be better to check if ref count is not 0 IMO.

> +            IBindCtx_Release(bctx); /* actually destroy it */


You can't do it! The remaining reference is not owned by us so we can't do anything with it (unless it's a leak on tests, but it's probably not). I guess urlmon will release this object after completing some async operations.

> +        }
> +        else
> +            ok(IBindCtx_Release(bctx) == 0, "bctx should be destroyed here\n");
>      }



Jacek



More information about the wine-devel mailing list