diff options
author | Zolnai Tamás <tamas.zolnai@collabora.com> | 2014-08-11 09:54:20 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@collabora.co.uk> | 2014-08-29 17:40:27 +0200 |
commit | 9991b50ccc6ef3d26c28859b4a31504bd5001368 (patch) | |
tree | ca80d9c0ea408a25d4eadad31e1d97e14d9d91cd /svx | |
parent | ChartHelper::IsChart is useless (diff) | |
download | core-9991b50ccc6ef3d26c28859b4a31504bd5001368.tar.gz core-9991b50ccc6ef3d26c28859b4a31504bd5001368.zip |
Make opengl chart window always active
Fortunately there is a special ole object group with
the MS_EMBED_ACTIVATEWHENVISIBLE flag which define this
behaviour.
Problem is that both Aspect and EmbedMisc are MS specific
enums so we can't use them directly for non-MS objects. But we
can handle opengl charts the same as this ole object group.
Change-Id: I49abeffce319cbb775709a72ba198a1f76b65374
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/sdr/contact/viewobjectcontactofsdrole2obj.cxx | 3 | ||||
-rw-r--r-- | svx/source/svdraw/svdoole2.cxx | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/svx/source/sdr/contact/viewobjectcontactofsdrole2obj.cxx b/svx/source/sdr/contact/viewobjectcontactofsdrole2obj.cxx index 10f6490f7d3a..ca819b573376 100644 --- a/svx/source/sdr/contact/viewobjectcontactofsdrole2obj.cxx +++ b/svx/source/sdr/contact/viewobjectcontactofsdrole2obj.cxx @@ -98,7 +98,8 @@ namespace sdr } SdrPageView* pPageView = GetObjectContact().TryToGetSdrPageView(); - if(pPageView && (nMiscStatus & embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE)) + if(pPageView && ((nMiscStatus & embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE) || + xObjRef.IsGLChart())) { // connect plugin object pPageView->GetView().DoConnect(const_cast< SdrOle2Obj* >(&rSdrOle2)); diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx index 42482ff61454..d25480c88e88 100644 --- a/svx/source/svdraw/svdoole2.cxx +++ b/svx/source/svdraw/svdoole2.cxx @@ -396,7 +396,8 @@ void SAL_CALL SdrLightEmbeddedClient_Impl::activatingUI() uno::Reference< embed::XEmbeddedObject > xObject = pObj->GetObjRef(); try { - if ( xObject->getStatus( pObj->GetAspect() ) & embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE ) + if ( (xObject->getStatus( pObj->GetAspect() ) & embed::EmbedMisc::MS_EMBED_ACTIVATEWHENVISIBLE) || + svt::EmbeddedObjectRef::IsGLChart(xObject) ) xObject->changeState( embed::EmbedStates::INPLACE_ACTIVE ); else { |