p_inPlaceSite->Release();
}
- pActiveSite->ShowObject();
- _p_instance->setVisible(TRUE);
+ if( _p_instance->getVisible() )
+ pActiveSite->ShowObject();
if( NULL != lpMsg )
{
** is the URL of the page the plugin is embedded into. Hence, if the MRL
** is a relative URL, we should end up with an absolute URL
*/
- IOleClientSite *pClientSite;
+ LPOLECLIENTSITE pClientSite;
if( SUCCEEDED(vlcOleObject->GetClientSite(&pClientSite)) && (NULL != pClientSite) )
{
IBindCtx *pBC = 0;
SetWindowLongPtr(_videownd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(this));
if( getVisible() )
- ShowWindow(_inplacewnd, SW_SHOWNORMAL);
+ ShowWindow(_inplacewnd, SW_SHOW);
/* set internal video width and height */
vlc_value_t val;
void VLCPlugin::setVisible(BOOL fVisible)
{
- _b_visible = fVisible;
- if( isInPlaceActive() )
- ShowWindow(_inplacewnd, fVisible ? SW_SHOWNORMAL : SW_HIDE);
- firePropChangedEvent(DISPID_Visible);
+ if( fVisible != _b_visible )
+ {
+ _b_visible = fVisible;
+ if( isInPlaceActive() )
+ {
+ ShowWindow(_inplacewnd, fVisible ? SW_SHOW : SW_HIDE);
+ }
+ firePropChangedEvent(DISPID_Visible);
+ }
};
void VLCPlugin::setFocus(BOOL fFocus)
hr = VariantChangeType(&arg, &value, 0, VT_BSTR);
if( SUCCEEDED(hr) )
{
+ i_type = VLC_VAR_STRING;
val.psz_string = CStrFromBSTR(codePage, V_BSTR(&arg));
VariantClear(&arg);
}