> 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