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