X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=activex%2Fpersistpropbag.cpp;h=b53c5113fc3631f718fa5a632deb3bac862d345e;hb=aaac24cc80159471e0275103e6d1caa75e33126f;hp=6d3a529833b3dd985bffb7e0862af0917c117070;hpb=2f53a04a1204337abacebcf83b5f6bcdd17336e0;p=vlc diff --git a/activex/persistpropbag.cpp b/activex/persistpropbag.cpp index 6d3a529833..b53c5113fc 100644 --- a/activex/persistpropbag.cpp +++ b/activex/persistpropbag.cpp @@ -182,6 +182,29 @@ STDMETHODIMP VLCPersistPropertyBag::Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErr VariantClear(&value); } + V_VT(&value) = VT_I4; + if( S_OK == pPropBag->Read(OLESTR("backcolor"), &value, pErrorLog) ) + { + _p_instance->setBackColor(V_I4(&value)); + VariantClear(&value); + } + else + { + /* + ** try alternative syntax + */ + V_VT(&value) = VT_BSTR; + if( S_OK == pPropBag->Read(OLESTR("bgcolor"), &value, pErrorLog) ) + { + long backcolor; + if( swscanf(V_BSTR(&value), L"#%lX", &backcolor) ) + { + _p_instance->setBackColor(backcolor); + } + VariantClear(&value); + } + } + return _p_instance->onLoad(); }; @@ -238,9 +261,13 @@ STDMETHODIMP VLCPersistPropertyBag::Save(LPPROPERTYBAG pPropBag, BOOL fClearDirt pPropBag->Write(OLESTR("BaseURL"), &value); VariantClear(&value); + V_VT(&value) = VT_I4; + V_I4(&value) = _p_instance->getBackColor(); + pPropBag->Write(OLESTR("BackColor"), &value); + VariantClear(&value); + if( fClearDirty ) _p_instance->setDirty(FALSE); return S_OK; }; -