X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=activex%2Fpersiststreaminit.h;h=9bd2478cd710d5419b12ae7406033684e082d0c9;hb=b593c2c4170ba63f2ee21a7a8414081a45235cc2;hp=cc3804e44949fde0ea556f3d195bf19a29926939;hpb=fe087a38282e93addb25fa9598393e40ea233b09;p=vlc diff --git a/activex/persiststreaminit.h b/activex/persiststreaminit.h index cc3804e449..9bd2478cd7 100644 --- a/activex/persiststreaminit.h +++ b/activex/persiststreaminit.h @@ -17,7 +17,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ #ifndef __PERSISTSTREAMINIT_H__ @@ -30,25 +30,27 @@ class VLCPersistStreamInit : public IPersistStreamInit public: - VLCPersistStreamInit(VLCPlugin *p_instance) : _p_instance(p_instance) {}; - virtual ~VLCPersistStreamInit() {}; + VLCPersistStreamInit(VLCPlugin *p_instance); + virtual ~VLCPersistStreamInit(); // IUnknown methods STDMETHODIMP QueryInterface(REFIID riid, void **ppv) { - if( (NULL != ppv) - && (IID_IUnknown == riid) - && (IID_IPersist == riid) - && (IID_IPersistStreamInit == riid) ) { + if( NULL == ppv ) + return E_POINTER; + if( (IID_IUnknown == riid) + || (IID_IPersist == riid) + || (IID_IPersistStreamInit == riid) ) + { AddRef(); *ppv = reinterpret_cast(this); return NOERROR; } - return _p_instance->QueryInterface(riid, ppv); + return _p_instance->pUnkOuter->QueryInterface(riid, ppv); }; - STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->AddRef(); }; - STDMETHODIMP_(ULONG) Release(void) { return _p_instance->Release(); }; + STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); }; + STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); }; // IPersist methods STDMETHODIMP GetClassID(LPCLSID); @@ -63,7 +65,7 @@ public: private: VLCPlugin *_p_instance; + class VLCPropertyBag *_p_props; }; #endif -