X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=activex%2Fsupporterrorinfo.cpp;h=531a567fdacf62b3ea4111860f1ccf7ce93197cd;hb=aefd2b47f38da2406bad34b9582194c02bce326a;hp=1dbc9a5df51be5e9731f01b606098a8bebf04608;hpb=acb895005c2578e0c1c9de09253ed0ff89075638;p=vlc diff --git a/activex/supporterrorinfo.cpp b/activex/supporterrorinfo.cpp old mode 100755 new mode 100644 index 1dbc9a5df5..531a567fda --- a/activex/supporterrorinfo.cpp +++ b/activex/supporterrorinfo.cpp @@ -24,20 +24,30 @@ #include "supporterrorinfo.h" #include "utils.h" +#include "axvlc_idl.h" using namespace std; STDMETHODIMP VLCSupportErrorInfo::InterfaceSupportsErrorInfo(REFIID riid) { - if( IID_NULL == riid ) - return S_FALSE; - - return riid == _riid ? S_OK : S_FALSE; + if( (riid == IID_IVLCAudio) + || (riid == IID_IVLCInput) + || (riid == IID_IVLCLog) + || (riid == IID_IVLCMessage) + || (riid == IID_IVLCMessageIterator) + || (riid == IID_IVLCMessages) + || (riid == IID_IVLCPlaylist) + || (riid == IID_IVLCPlaylistItems) + || (riid == IID_IVLCVideo) + || (riid == IID_IVLCControl2) ) + { + return S_OK; + } + return S_FALSE; }; void VLCSupportErrorInfo::setErrorInfo(LPCOLESTR progid, REFIID riid, const char *description) { - _riid = IID_NULL; BSTR bstrDescription = BSTRFromCStr(CP_UTF8, description); if( NULL != bstrDescription ) { @@ -54,7 +64,6 @@ void VLCSupportErrorInfo::setErrorInfo(LPCOLESTR progid, REFIID riid, const char hr = pcerrinfo->QueryInterface(IID_IErrorInfo, (LPVOID*) &perrinfo); if( SUCCEEDED(hr) ) { - _riid = riid; ::SetErrorInfo(0, perrinfo); perrinfo->Release(); }