]> git.sesse.net Git - vlc/blobdiff - activex/supporterrorinfo.cpp
Don't display "Unknown command!" when the command is known.
[vlc] / activex / supporterrorinfo.cpp
index 1dbc9a5df51be5e9731f01b606098a8bebf04608..37136ddfd46bcfee56a17bf13a7d5caad8abc788 100755 (executable)
 #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_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 +63,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();
             }