summaryrefslogtreecommitdiff
path: root/extensions/source/scanner/scanwin.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/scanner/scanwin.cxx')
-rw-r--r--extensions/source/scanner/scanwin.cxx44
1 files changed, 7 insertions, 37 deletions
diff --git a/extensions/source/scanner/scanwin.cxx b/extensions/source/scanner/scanwin.cxx
index 002e69104152..5a8f242447a2 100644
--- a/extensions/source/scanner/scanwin.cxx
+++ b/extensions/source/scanner/scanwin.cxx
@@ -23,7 +23,7 @@
#include <com/sun/star/util/XCloseBroadcaster.hpp>
#include <com/sun/star/util/XCloseListener.hpp>
#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <cppuhelper/implbase1.hxx>
#include <comphelper/processfactory.hxx>
@@ -565,44 +565,14 @@ uno::Reference< frame::XFrame > ImpTwain::ImplGetActiveFrame()
{
try
{
- uno::Reference< lang::XMultiServiceFactory > xMgr( ::comphelper::getProcessServiceFactory() );
+ // query desktop instance
+ uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
- if( xMgr.is() )
- {
- // query desktop instance
- uno::Reference< frame::XDesktop > xDesktop( xMgr->createInstance(
- OUString("com.sun.star.frame.Desktop") ), uno::UNO_QUERY );
-
- if( xDesktop.is() )
- {
- // query property set from desktop, which contains the currently active frame
- uno::Reference< beans::XPropertySet > xDesktopProps( xDesktop, uno::UNO_QUERY );
-
- if( xDesktopProps.is() )
- {
- uno::Any aActiveFrame;
-
- try
- {
- aActiveFrame = xDesktopProps->getPropertyValue(
- OUString("ActiveFrame") );
- }
- catch( const beans::UnknownPropertyException& )
- {
- // property unknown.
- OSL_FAIL("ImpTwain::ImplGetActiveFrame: ActiveFrame property unknown, cannot determine active frame!");
- return uno::Reference< frame::XFrame >();
- }
+ uno::Reference< frame::XFrame > xActiveFrame = xDesktop->getActiveFrame();
- uno::Reference< frame::XFrame > xActiveFrame;
-
- if( (aActiveFrame >>= xActiveFrame) &&
- xActiveFrame.is() )
- {
- return xActiveFrame;
- }
- }
- }
+ if( xActiveFrame.is() )
+ {
+ return xActiveFrame;
}
}
catch( const uno::Exception& )