/*****************************************************************************
* oleinplaceobject.cpp: ActiveX control for VLC
*****************************************************************************
- * Copyright (C) 2005 VideoLAN
+ * Copyright (C) 2005 the VideoLAN team
*
* Authors: Damien Fouilleul <Damien.Fouilleul@laposte.net>
*
STDMETHODIMP VLCOleInPlaceObject::GetWindow(HWND *pHwnd)
{
if( NULL == pHwnd )
- return E_INVALIDARG;
+ return E_POINTER;
+ *pHwnd = NULL;
if( _p_instance->isInPlaceActive() )
{
if( NULL != (*pHwnd = _p_instance->getInPlaceWindow()) )
return S_OK;
-
- return E_FAIL;
}
- *pHwnd = NULL;
-
- return E_UNEXPECTED;
+ return E_FAIL;
};
STDMETHODIMP VLCOleInPlaceObject::ContextSensitiveHelp(BOOL fEnterMode)
if( _p_instance->isInPlaceActive() )
{
UIDeactivate();
+
_p_instance->onInPlaceDeactivate();
LPOLEOBJECT p_oleObject;
if( _p_instance->hasFocus() )
{
_p_instance->setFocus(FALSE);
+ }
- LPOLEOBJECT p_oleObject;
- if( SUCCEEDED(QueryInterface(IID_IOleObject, (void**)&p_oleObject)) )
+ LPOLEOBJECT p_oleObject;
+ if( SUCCEEDED(QueryInterface(IID_IOleObject, (void**)&p_oleObject)) )
+ {
+ LPOLECLIENTSITE p_clientSite;
+ if( SUCCEEDED(p_oleObject->GetClientSite(&p_clientSite)) )
{
- LPOLECLIENTSITE p_clientSite;
- if( SUCCEEDED(p_oleObject->GetClientSite(&p_clientSite)) )
+ LPOLEINPLACESITE p_inPlaceSite;
+
+ if( SUCCEEDED(p_clientSite->QueryInterface(IID_IOleInPlaceSite, (void**)&p_inPlaceSite)) )
{
- LPOLEINPLACESITE p_inPlaceSite;
-
- if( SUCCEEDED(p_clientSite->QueryInterface(IID_IOleInPlaceSite, (void**)&p_inPlaceSite)) )
- {
- p_inPlaceSite->OnUIDeactivate(FALSE);
- p_inPlaceSite->Release();
- }
- p_clientSite->Release();
+ p_inPlaceSite->OnUIDeactivate(FALSE);
+ p_inPlaceSite->Release();
}
- p_oleObject->Release();
+ p_clientSite->Release();
}
- return S_OK;
+ p_oleObject->Release();
}
+ return S_OK;
}
return E_UNEXPECTED;
};