diff options
Diffstat (limited to 'starmath/source/view.cxx')
-rw-r--r-- | starmath/source/view.cxx | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx index 8214774c9216..e006c1ccb016 100644 --- a/starmath/source/view.cxx +++ b/starmath/source/view.cxx @@ -22,7 +22,7 @@ #include <com/sun/star/accessibility/AccessibleStateType.hpp> #include <com/sun/star/accessibility/XAccessible.hpp> #include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/frame/XDesktop.hpp> +#include <com/sun/star/frame/Desktop.hpp> #include <com/sun/star/frame/XFramesSupplier.hpp> #include <com/sun/star/container/XChild.hpp> @@ -812,33 +812,23 @@ IMPL_LINK( SmCmdBoxWindow, InitialFocusTimerHdl, Timer *, EMPTYARG /*pTimer*/ ) try { - uno::Reference< frame::XDesktop > xDesktop; - uno::Reference< lang::XMultiServiceFactory > xSMGR( comphelper::getProcessServiceFactory() ); - if (xSMGR.is()) - { - xDesktop = uno::Reference< frame::XDesktop >( - xSMGR->createInstance( "com.sun.star.frame.Desktop"), uno::UNO_QUERY_THROW ); - } + uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( comphelper::getProcessComponentContext() ); aEdit.GrabFocus(); - if (xDesktop.is()) + bool bInPlace = GetView()->GetViewFrame()->GetFrame().IsInPlace(); + uno::Reference< frame::XFrame > xFrame( GetBindings().GetDispatcher()->GetFrame()->GetFrame().GetFrameInterface()); + if ( bInPlace ) { - bool bInPlace = GetView()->GetViewFrame()->GetFrame().IsInPlace(); - uno::Reference< frame::XFrame > xFrame( GetBindings().GetDispatcher()->GetFrame()->GetFrame().GetFrameInterface()); - if ( bInPlace ) - { - uno::Reference< container::XChild > xModel( GetView()->GetDoc()->GetModel(), uno::UNO_QUERY_THROW ); - uno::Reference< frame::XModel > xParent( xModel->getParent(), uno::UNO_QUERY_THROW ); - uno::Reference< frame::XController > xParentCtrler( xParent->getCurrentController() ); - uno::Reference< frame::XFramesSupplier > xParentFrame( xParentCtrler->getFrame(), uno::UNO_QUERY_THROW ); - xParentFrame->setActiveFrame( xFrame ); - } - else - { - uno::Reference< frame::XFramesSupplier > xFramesSupplier( xDesktop, uno::UNO_QUERY ); - xFramesSupplier->setActiveFrame( xFrame ); - } + uno::Reference< container::XChild > xModel( GetView()->GetDoc()->GetModel(), uno::UNO_QUERY_THROW ); + uno::Reference< frame::XModel > xParent( xModel->getParent(), uno::UNO_QUERY_THROW ); + uno::Reference< frame::XController > xParentCtrler( xParent->getCurrentController() ); + uno::Reference< frame::XFramesSupplier > xParentFrame( xParentCtrler->getFrame(), uno::UNO_QUERY_THROW ); + xParentFrame->setActiveFrame( xFrame ); + } + else + { + xDesktop->setActiveFrame( xFrame ); } } catch (uno::Exception &) |