| 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); |