Index: src/plugin/SinkPolicy.inl |
=================================================================== |
--- a/src/plugin/SinkPolicy.inl |
+++ b/src/plugin/SinkPolicy.inl |
@@ -362,9 +362,10 @@ |
{ |
ATLASSERT(pTargetProtocol != 0); |
+ bool handled = false; |
Sink* pSink = GetSink(static_cast<const Protocol*>(this)); |
HRESULT hr = pSink->OnStart(szUrl, pOIProtSink, pOIBindInfo, grfPI, |
- dwReserved, pTargetProtocol); |
+ dwReserved, pTargetProtocol, handled); |
CComPtr<IInternetProtocolSink> spSink; |
CComPtr<IInternetBindInfo> spBindInfo; |
@@ -380,7 +381,7 @@ |
reinterpret_cast<void**>(&spBindInfo)); |
ATLASSERT(SUCCEEDED(hr) && spBindInfo != 0); |
} |
- if (SUCCEEDED(hr)) |
+ if (SUCCEEDED(hr) && !handled) |
{ |
hr = pTargetProtocol->Start(szUrl, spSink, spBindInfo, grfPI, |
dwReserved); |