X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=activex%2Fpersiststreaminit.cpp;h=0660566fca2911c1edc763b0181625524a0dff7e;hb=9382d2cc6f8707017cba6e41999338180fab33e0;hp=ad45bb31fb90959220eeb0d88c2ecaf9219acd7a;hpb=054049cf321df84a245d7d5b523a120ccfff81b5;p=vlc diff --git a/activex/persiststreaminit.cpp b/activex/persiststreaminit.cpp index ad45bb31fb..0660566fca 100644 --- a/activex/persiststreaminit.cpp +++ b/activex/persiststreaminit.cpp @@ -31,7 +31,7 @@ using namespace std; -class AxVLCVariant +class AxVLCVariant { public: @@ -48,9 +48,8 @@ public: AxVLCVariant(VARIANTARG &v) { - //VariantInit(&_v); - //VariantCopy(&_v, &v); - _v = v; + VariantInit(&_v); + VariantCopy(&_v, &v); }; AxVLCVariant(VARIANTARG *v) @@ -96,7 +95,7 @@ private: VARIANTARG _v; }; -class AxVLCWSTR +class AxVLCWSTR { public: @@ -212,7 +211,7 @@ public: { if( NULL == ppv ) return E_POINTER; - if( (IID_IUnknown == riid) + if( (IID_IUnknown == riid) || (IID_IPropertyBag == riid) ) { AddRef(); @@ -263,7 +262,7 @@ public: else return E_INVALIDARG; }; - + STDMETHODIMP Write(LPCOLESTR pszPropName, VARIANT *pVar) { if( (NULL == pszPropName) || (NULL == pVar) ) @@ -276,7 +275,7 @@ public: (*p.first).second = val.second; return S_OK; }; - + // custom methods HRESULT Load(LPSTREAM pStm) @@ -292,7 +291,7 @@ public: { if( (val->first == L"(Count)") && (VT_I4 == V_VT(val->second.variantArg())) ) { - size_t count = V_I4(val->second.variantArg()); + size_t count = V_I4(val->second.variantArg()); delete val; while( count-- ) { @@ -390,7 +389,7 @@ private: if( FAILED(result) ) return result; if( len > 0 ) - { + { result = pStm->Write(V_BSTR(propValue), len*sizeof(OLECHAR), NULL); if( FAILED(result) ) return result; @@ -551,7 +550,7 @@ STDMETHODIMP VLCPersistStreamInit::IsDirty(void) STDMETHODIMP VLCPersistStreamInit::GetSizeMax(ULARGE_INTEGER *pcbSize) { pcbSize->HighPart = 0UL; - pcbSize->LowPart = 4096UL; // just a guess + pcbSize->LowPart = 16384UL; // just a guess return S_OK; };