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