[PATCH 2/5] urlmon: Use BSCF_ values passed to report_data to keep track of download state.

Misha Koshelev mk144210 at bcm.edu
Thu Aug 2 19:57:34 CDT 2007


> Hi Misha,
> 
> Misha Koshelev wrote:
> > This simplifies the code a bit by getting rid of an enum and a corresponding variable in the IBinding
> > implementation, as we can successfully use the bscf values that are passed to report_data to get all
> > the information.
> >
> > Additionally, the original implementation was somewhat incorrect at least for the case of the Http protocol
> > as far as sending OnStopBinding
> 
> This patch is already accepted, but unfortunately it's wrong. Tests 
> changed in the attached patch succeed on native urlmon.dll and fail on 
> current Wine. Probably only BSCF_LASTDATANOTIFICATION flag should be 
> used. Other OnProgress callbacks should be called depending on the real 
> binding state, not the one reported by protocol handler.
> 
> Jacek
> -------------- next part --------------
> diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c
> index 187fb03..dcae846 100644
> --- a/dlls/urlmon/tests/url.c
> +++ b/dlls/urlmon/tests/url.c
> @@ -255,6 +255,7 @@ static HRESULT WINAPI Protocol_Start(IInternetProtocol *iface, LPCWSTR szUrl,
>      SET_EXPECT(OnDataAvailable);
>      SET_EXPECT(OnStopBinding);
>  
> +    bscf = BSCF_LASTDATANOTIFICATION;
>      hres = IInternetProtocolSink_ReportData(pOIProtSink, bscf, 13, 13);
>      ok(hres == S_OK, "ReportData failed: %08x\n", hres);
>  
Yes, I am sorry about this patch. I actually figured out that it was wrong this morning and
was going to send an email out to wine-devel but since it was already committed just decided to send out
a revert patch + more conservative fixes that are necessary tonight. I will prob be sending them
soon. Again, sorry about the patch. Thanks for the email.

Misha



More information about the wine-devel mailing list