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