[PATCH 5/6] urlmon: Add new on_error function to protocol vtbl.

Jacek Caban jacek at codeweavers.com
Wed Dec 22 06:24:07 CST 2010


Hi David

On 12/22/10 12:50 AM, David Hedberg wrote:
> ---
>   dlls/urlmon/protocol.c    |    6 +++++-
>   dlls/urlmon/urlmon_main.h |    1 +
>   2 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/dlls/urlmon/protocol.c b/dlls/urlmon/protocol.c
> index 669343b..bb17453 100644
> --- a/dlls/urlmon/protocol.c
> +++ b/dlls/urlmon/protocol.c
> @@ -107,7 +107,11 @@ static void request_complete(Protocol *protocol, INTERNET_ASYNC_RESULT *ar)
>       TRACE("(%p)->(%p)\n", protocol, ar);
>
>       if(!ar->dwResult) {
> -        WARN("request failed: %d\n", ar->dwError);
> +        if(protocol->vtbl->on_error)
> +            protocol->vtbl->on_error(protocol, ar->dwError);
> +        else
> +            WARN("request failed: %d\n", ar->dwError);

We want it in all protocol handlers. Please add stubs (with FIXME) to 
all of them and remove NULL-check here.

Also you will leave the object in an invalid state if we're in a middle 
of downloading at this point. You can limit this patch to the first 
request_complete notification (using FLAG_FIRST_CONTINUE_COMPLETE flag) 
or make sure we're doing things right.

Cheers,
     Jacek



More information about the wine-devel mailing list