[Libreoffice-commits] .: basctl/source basic/source bridges/test chart2/source comphelper/source connectivity/source cui/source dbaccess/inc dbaccess/qa dbaccess/source desktop/source desktop/test editeng/source embeddedobj/source embedserv/source extensions/source filter/source forms/source framework/inc framework/source linguistic/inc linguistic/source odk/examples offapi/com offapi/type_reference offapi/UnoApi_offapi.mk oox/source remotebridges/examples reportdesign/source sc/qa scripting/source sc/source sdext/source sd/source sfx2/inc sfx2/source smoketest/smoketest.cxx starmath/source svtools/inc svtools/source svx/source sw/CppunitTest_sw_subsequent_odfexport.mk sw/CppunitTest_sw_subsequent_odfimport.mk sw/CppunitTest_sw_subsequent_ooxmlexport.mk sw/CppunitTest_sw_subsequent_ooxmlimport.mk sw/CppunitTest_sw_subsequent_rtfexport.mk sw/CppunitTest_sw_subsequent_rtfimport.mk sw/CppunitTest_sw_subsequent_ww8export.mk sw/CppunitTest_sw_subsequent_ww8import.mk sw/inc sw/qa sw/source test /source touch/source tubes/source unotest/inc unotest/source unotools/source uui/source vbahelper/source vcl/source vcl/unx

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Dec 21 00:57:43 PST 2012


 basctl/source/basicide/documentenumeration.cxx                                   |   10 
 basctl/source/basicide/iderdll.cxx                                               |    3 
 basic/source/basmgr/basicmanagerrepository.cxx                                   |    8 
 basic/source/basmgr/vbahelper.cxx                                                |    5 
 basic/source/classes/eventatt.cxx                                                |   48 +-
 basic/source/classes/sbxmod.cxx                                                  |   10 
 bridges/test/testoffice.cxx                                                      |    7 
 chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx                      |   24 -
 chart2/source/controller/main/ChartController_Window.cxx                         |    5 
 comphelper/source/misc/officerestartmanager.cxx                                  |    8 
 connectivity/source/cpool/ZPoolCollection.cxx                                    |   19 -
 connectivity/source/cpool/ZPoolCollection.hxx                                    |    9 
 connectivity/source/drivers/calc/CConnection.cxx                                 |   10 
 connectivity/source/drivers/hsqldb/HDriver.cxx                                   |   11 
 connectivity/source/drivers/kab/KDriver.cxx                                      |   23 -
 connectivity/source/drivers/kab/KDriver.hxx                                      |   14 
 connectivity/source/drivers/macab/MacabDriver.cxx                                |   20 -
 connectivity/source/drivers/macab/MacabDriver.hxx                                |   14 
 connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx            |   13 
 cui/source/customize/acccfg.cxx                                                  |    4 
 cui/source/customize/cfg.cxx                                                     |   33 -
 cui/source/customize/cfgutil.cxx                                                 |    9 
 cui/source/customize/eventdlg.cxx                                                |    7 
 cui/source/customize/selector.cxx                                                |    9 
 cui/source/dialogs/hlmarkwn.cxx                                                  |   92 ++---
 cui/source/dialogs/scriptdlg.cxx                                                 |    8 
 cui/source/inc/treeopt.hxx                                                       |    3 
 cui/source/options/optupdt.cxx                                                   |   14 
 cui/source/options/treeopt.cxx                                                   |   27 -
 dbaccess/inc/dataview.hxx                                                        |    8 
 dbaccess/qa/extras/macros-test.cxx                                               |    5 
 dbaccess/source/core/dataaccess/databasecontext.cxx                              |   12 
 dbaccess/source/core/dataaccess/databasedocument.cxx                             |    7 
 dbaccess/source/core/dataaccess/documentdefinition.cxx                           |   22 -
 dbaccess/source/core/dataaccess/documentdefinition.hxx                           |    2 
 dbaccess/source/filter/xml/dbloader2.cxx                                         |   26 -
 dbaccess/source/filter/xml/xmlfilter.cxx                                         |    9 
 dbaccess/source/inc/stringconstants.inc                                          |    1 
 dbaccess/source/ui/app/AppController.cxx                                         |    2 
 dbaccess/source/ui/app/AppDetailPageHelper.cxx                                   |   11 
 dbaccess/source/ui/app/AppDetailView.cxx                                         |    4 
 dbaccess/source/ui/app/AppView.cxx                                               |    2 
 dbaccess/source/ui/app/AppView.hxx                                               |    2 
 dbaccess/source/ui/browser/brwctrlr.cxx                                          |    2 
 dbaccess/source/ui/browser/brwview.cxx                                           |    6 
 dbaccess/source/ui/browser/dataview.cxx                                          |    6 
 dbaccess/source/ui/browser/unodatbr.cxx                                          |   60 +--
 dbaccess/source/ui/dlg/dbwizsetup.cxx                                            |    6 
 dbaccess/source/ui/inc/JoinDesignView.hxx                                        |    2 
 dbaccess/source/ui/inc/QueryDesignView.hxx                                       |    2 
 dbaccess/source/ui/inc/QueryViewSwitch.hxx                                       |    4 
 dbaccess/source/ui/inc/RelationDesignView.hxx                                    |    2 
 dbaccess/source/ui/inc/TableDesignView.hxx                                       |    2 
 dbaccess/source/ui/inc/brwview.hxx                                               |    2 
 dbaccess/source/ui/inc/querycontainerwindow.hxx                                  |    2 
 dbaccess/source/ui/inc/queryview.hxx                                             |    2 
 dbaccess/source/ui/querydesign/JoinDesignView.cxx                                |    4 
 dbaccess/source/ui/querydesign/QueryDesignView.cxx                               |    4 
 dbaccess/source/ui/querydesign/QueryViewSwitch.cxx                               |    6 
 dbaccess/source/ui/querydesign/querycontainerwindow.cxx                          |    8 
 dbaccess/source/ui/querydesign/querycontroller.cxx                               |    2 
 dbaccess/source/ui/querydesign/queryview.cxx                                     |    4 
 dbaccess/source/ui/relationdesign/RelationController.cxx                         |    2 
 dbaccess/source/ui/relationdesign/RelationDesignView.cxx                         |    4 
 dbaccess/source/ui/tabledesign/TableController.cxx                               |    2 
 dbaccess/source/ui/tabledesign/TableDesignView.cxx                               |    2 
 desktop/source/app/app.cxx                                                       |  167 +++-------
 desktop/source/app/dispatchwatcher.cxx                                           |   31 -
 desktop/source/deployment/gui/dp_gui_theextmgr.cxx                               |    7 
 desktop/source/deployment/gui/dp_gui_theextmgr.hxx                               |    4 
 desktop/source/deployment/gui/dp_gui_updatedialog.cxx                            |    9 
 desktop/test/deployment/active/active_native.cxx                                 |   24 -
 desktop/test/deployment/passive/passive_native.cxx                               |   24 -
 editeng/source/misc/unolingu.cxx                                                 |   28 -
 embeddedobj/source/general/docholder.cxx                                         |   46 +-
 embeddedobj/source/msole/ownview.cxx                                             |   85 ++---
 embedserv/source/embed/docholder.cxx                                             |   42 --
 extensions/source/nsplugin/source/so_instance.cxx                                |   12 
 extensions/source/plugin/base/context.cxx                                        |   49 +-
 extensions/source/plugin/base/manager.cxx                                        |   13 
 extensions/source/plugin/inc/plugin/impl.hxx                                     |    4 
 extensions/source/propctrlr/formstrings.hxx                                      |    2 
 extensions/source/propctrlr/genericpropertyhandler.cxx                           |    3 
 extensions/source/propctrlr/sqlcommanddesign.cxx                                 |   11 
 extensions/source/scanner/scanwin.cxx                                            |   44 --
 extensions/source/update/check/updatecheck.cxx                                   |    9 
 extensions/source/update/check/updatecheckjob.cxx                                |    9 
 extensions/source/update/check/updatehdl.cxx                                     |   13 
 filter/source/flash/swffilter.cxx                                                |    7 
 filter/source/svg/svgexport.cxx                                                  |    2 
 filter/source/svg/svgfilter.cxx                                                  |    8 
 filter/source/svg/svgfilter.hxx                                                  |    2 
 filter/source/svg/svgimport.cxx                                                  |    4 
 filter/source/xsltdialog/xmlfilterdialogcomponent.cxx                            |   12 
 filter/source/xsltdialog/xmlfiltertestdialog.cxx                                 |   79 ++--
 forms/source/xforms/submission/replace.cxx                                       |    5 
 framework/inc/classes/menumanager.hxx                                            |    2 
 framework/inc/jobs/helponstartup.hxx                                             |    9 
 framework/inc/jobs/job.hxx                                                       |    4 
 framework/inc/services.h                                                         |    1 
 framework/inc/services/desktop.hxx                                               |    9 
 framework/source/classes/menumanager.cxx                                         |   75 ++--
 framework/source/classes/taskcreator.cxx                                         |    3 
 framework/source/dispatch/closedispatcher.cxx                                    |   10 
 framework/source/dispatch/startmoduledispatcher.cxx                              |    7 
 framework/source/jobs/helponstartup.cxx                                          |   24 -
 framework/source/jobs/job.cxx                                                    |   18 -
 framework/source/loadenv/loadenv.cxx                                             |    7 
 framework/source/services/autorecovery.cxx                                       |   13 
 framework/source/services/backingwindow.cxx                                      |    8 
 framework/source/services/backingwindow.hxx                                      |    1 
 framework/source/services/desktop.cxx                                            |   10 
 framework/source/services/sessionlistener.cxx                                    |    4 
 framework/source/uielement/menubarmanager.cxx                                    |   35 --
 linguistic/inc/linguistic/misc.hxx                                               |    5 
 linguistic/source/misc.cxx                                                       |   23 -
 odk/examples/DevelopersGuide/ProfUNO/SimpleBootstrap_cpp/SimpleBootstrap_cpp.cxx |    6 
 odk/examples/cpp/DocumentLoader/DocumentLoader.cxx                               |    6 
 offapi/UnoApi_offapi.mk                                                          |    3 
 offapi/com/sun/star/frame/Desktop.idl                                            |   34 --
 offapi/com/sun/star/frame/XDesktop2.idl                                          |   94 +++++
 offapi/type_reference/types.rdb                                                  |binary
 oox/source/helper/graphichelper.cxx                                              |    9 
 remotebridges/examples/officeclient.cxx                                          |   69 +---
 reportdesign/source/core/api/ReportDefinition.cxx                                |   18 -
 reportdesign/source/core/api/ReportEngineJFree.cxx                               |    6 
 reportdesign/source/ui/inc/DesignView.hxx                                        |    2 
 reportdesign/source/ui/inc/ReportController.hxx                                  |    4 
 reportdesign/source/ui/report/DesignView.cxx                                     |    2 
 reportdesign/source/ui/report/ReportController.cxx                               |    9 
 sc/qa/extras/macros-test.cxx                                                     |    5 
 sc/qa/extras/regression-test.cxx                                                 |    5 
 sc/source/filter/excel/xlroot.cxx                                                |    4 
 sc/source/ui/docshell/docsh4.cxx                                                 |    7 
 sc/source/ui/vba/testvba/testvba.cxx                                             |    4 
 sc/source/ui/vba/vbahelper.cxx                                                   |    6 
 sc/source/ui/vba/vbawindows.cxx                                                  |    8 
 sc/source/ui/vba/vbaworksheet.cxx                                                |    9 
 scripting/source/basprov/basmethnode.cxx                                         |   47 +-
 sd/source/ui/dlg/sdtreelb.cxx                                                    |   12 
 sd/source/ui/dlg/tpoption.cxx                                                    |   12 
 sd/source/ui/remotecontrol/Communicator.cxx                                      |    6 
 sd/source/ui/remotecontrol/Receiver.cxx                                          |    6 
 sd/source/ui/toolpanel/controls/MasterPageContainer.cxx                          |    8 
 sdext/source/minimizer/graphiccollector.cxx                                      |    4 
 sdext/source/minimizer/impoptimizer.cxx                                          |    8 
 sfx2/inc/templatedlg.hxx                                                         |    3 
 sfx2/source/appl/appinit.cxx                                                     |    6 
 sfx2/source/appl/appopen.cxx                                                     |    4 
 sfx2/source/appl/appserv.cxx                                                     |   27 -
 sfx2/source/appl/sfxhelp.cxx                                                     |   24 -
 sfx2/source/appl/shutdownicon.cxx                                                |   36 --
 sfx2/source/appl/shutdownicon.hxx                                                |    8 
 sfx2/source/doc/doctempl.cxx                                                     |    6 
 sfx2/source/doc/objxtor.cxx                                                      |    4 
 sfx2/source/doc/sfxbasemodel.cxx                                                 |    4 
 sfx2/source/doc/templatedlg.cxx                                                  |    3 
 sfx2/source/inet/inettbc.cxx                                                     |    5 
 sfx2/source/menu/virtmenu.cxx                                                    |   71 +---
 sfx2/source/notify/eventsupplier.cxx                                             |   10 
 sfx2/source/toolbox/tbxitem.cxx                                                  |   29 -
 sfx2/source/view/frame2.cxx                                                      |    6 
 sfx2/source/view/viewfrm.cxx                                                     |   12 
 sfx2/source/view/viewsh.cxx                                                      |    2 
 smoketest/smoketest.cxx                                                          |   16 
 starmath/source/view.cxx                                                         |   38 --
 svtools/inc/svtools/acceleratorexecute.hxx                                       |    7 
 svtools/source/contnr/templwin.cxx                                               |   12 
 svtools/source/misc/acceleratorexecute.cxx                                       |   21 -
 svtools/source/misc/transfer.cxx                                                 |   35 --
 svx/source/inc/docrecovery.hxx                                                   |    1 
 svx/source/inc/recoveryui.hxx                                                    |    5 
 svx/source/unodraw/recoveryui.cxx                                                |   17 -
 sw/CppunitTest_sw_subsequent_odfexport.mk                                        |    1 
 sw/CppunitTest_sw_subsequent_odfimport.mk                                        |    1 
 sw/CppunitTest_sw_subsequent_ooxmlexport.mk                                      |    1 
 sw/CppunitTest_sw_subsequent_ooxmlimport.mk                                      |    1 
 sw/CppunitTest_sw_subsequent_rtfexport.mk                                        |    1 
 sw/CppunitTest_sw_subsequent_rtfimport.mk                                        |    1 
 sw/CppunitTest_sw_subsequent_ww8export.mk                                        |    1 
 sw/CppunitTest_sw_subsequent_ww8import.mk                                        |    1 
 sw/inc/dlelstnr.hxx                                                              |    4 
 sw/qa/core/layout-test.cxx                                                       |    6 
 sw/qa/core/macros-test.cxx                                                       |    6 
 sw/qa/extras/inc/swmodeltestbase.hxx                                             |    5 
 sw/source/core/docnode/finalthreadmanager.cxx                                    |   28 -
 sw/source/ui/app/swdll.cxx                                                       |    5 
 sw/source/ui/uno/dlelstnr.cxx                                                    |   10 
 sw/source/ui/uno/unomailmerge.cxx                                                |    4 
 test/source/unoapi_test.cxx                                                      |    6 
 touch/source/uno/Document.cxx                                                    |    9 
 tubes/source/manager.cxx                                                         |   10 
 unotest/inc/unotest/macros_test.hxx                                              |    4 
 unotest/source/cpp/officeconnection.cxx                                          |   10 
 unotools/source/misc/desktopterminationobserver.cxx                              |    9 
 uui/source/newerverwarn.cxx                                                      |    5 
 vbahelper/source/vbahelper/vbadocumentsbase.cxx                                  |   21 -
 vcl/source/app/svmain.cxx                                                        |    8 
 vcl/unx/generic/dtrans/X11_selection.cxx                                         |   11 
 vcl/unx/generic/dtrans/X11_selection.hxx                                         |    4 
 vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx                                         |    3 
 vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx                                       |    5 
 vcl/unx/gtk/gdi/salprn-gtk.cxx                                                   |    5 
 203 files changed, 1172 insertions(+), 1578 deletions(-)

New commits:
commit bb121c864cc3c101ef733a4088c7ba3e36eced14
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Dec 14 12:58:00 2012 +0200

    fdo#46808, Convert frame::Desktop to new style service.
    
    I had to drop XEventBroadcaster from the merged interface
    because it introduced method name conflicts (addEventListener).
    
    Shouldn't be an issue since it was scheduled to be dropped anyhow,
    and the service implementation still implements it, so existing clients
    will be fine.
    
    I dropped the interface XPropertySet from the combined IDL because nobody
    seems to be using it, and it's primary purpose appears to be to set weird
    flags.
    
    I dropped the optional interfaces
       XStatusIndicatorFactory
       XDispatchInformationProvider
    from the combined IDL because the service does not implement them, and
    nobody seems to be using them. I suspect they were mistakenly copied
    from XFrame.
    
    I also did not convert the Title, UserDefinedAttributes and LayoutManager
    properties to attributes, again because no-one is using them.
    
    Change-Id: I678a00006ed2cca2d6c37c4e39465811442c33af

diff --git a/basctl/source/basicide/documentenumeration.cxx b/basctl/source/basicide/documentenumeration.cxx
index 1527a8a..0ac8d42 100644
--- a/basctl/source/basicide/documentenumeration.cxx
+++ b/basctl/source/basicide/documentenumeration.cxx
@@ -20,7 +20,7 @@
 
 #include "documentenumeration.hxx"
 
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XModel2.hpp>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
@@ -40,7 +40,8 @@ namespace basctl { namespace docs {
     using ::com::sun::star::uno::Reference;
     using ::com::sun::star::uno::UNO_QUERY_THROW;
     using ::com::sun::star::uno::UNO_SET_THROW;
-    using ::com::sun::star::frame::XDesktop;
+    using ::com::sun::star::frame::Desktop;
+    using ::com::sun::star::frame::XDesktop2;
     using ::com::sun::star::container::XEnumerationAccess;
     using ::com::sun::star::container::XEnumeration;
     using ::com::sun::star::uno::Any;
@@ -174,9 +175,8 @@ namespace basctl { namespace docs {
 
         try
         {
-            const Reference< XDesktop > xDesktop( m_pData->aContext->getServiceManager()->createInstanceWithContext( "com.sun.star.frame.Desktop", m_pData->aContext ), UNO_QUERY_THROW );
-            const Reference< XFramesSupplier > xSuppFrames( xDesktop, UNO_QUERY_THROW );
-            const Reference< XFrames > xFrames( xSuppFrames->getFrames(), UNO_SET_THROW );
+            const Reference< XDesktop2 > xDesktop = Desktop::create( m_pData->aContext );
+            const Reference< XFrames > xFrames( xDesktop->getFrames(), UNO_SET_THROW );
             const Sequence< Reference< XFrame > > aFrames( xFrames->queryFrames( FrameSearchFlag::ALL ) );
 
             lcl_getDocuments_nothrow( aFrames, _out_rDocuments, m_pData->pFilter );
diff --git a/basctl/source/basicide/iderdll.cxx b/basctl/source/basicide/iderdll.cxx
index 966a6ec..e88f1bb 100644
--- a/basctl/source/basicide/iderdll.cxx
+++ b/basctl/source/basicide/iderdll.cxx
@@ -39,6 +39,7 @@
 #include <propbrw.hxx>
 
 #include <svl/srchitem.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/script/XLibraryContainerPassword.hpp>
 
 #include <boost/scoped_ptr.hpp>
@@ -70,7 +71,7 @@ public:
 class DllInstance : public comphelper::scoped_disposing_solar_mutex_reset_ptr<Dll>
 {
 public:
-    DllInstance() : comphelper::scoped_disposing_solar_mutex_reset_ptr<Dll>(::com::sun::star::uno::Reference<com::sun::star::lang::XComponent>(comphelper::getProcessServiceFactory()->createInstance(OUString("com.sun.star.frame.Desktop")), ::com::sun::star::uno::UNO_QUERY_THROW), new Dll)
+    DllInstance() : comphelper::scoped_disposing_solar_mutex_reset_ptr<Dll>(Reference<lang::XComponent>( frame::Desktop::create(comphelper::getProcessComponentContext()), UNO_QUERY_THROW), new Dll)
     { }
 };
 
diff --git a/basic/source/basmgr/basicmanagerrepository.cxx b/basic/source/basmgr/basicmanagerrepository.cxx
index 5f0078d..7175fe9 100644
--- a/basic/source/basmgr/basicmanagerrepository.cxx
+++ b/basic/source/basmgr/basicmanagerrepository.cxx
@@ -27,6 +27,7 @@
 #include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/document/XStorageBasedDocument.hpp>
 #include <com/sun/star/document/XEmbeddedScripts.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <svtools/ehdl.hxx>
 #include <svtools/sfxecode.hxx>
 #include <unotools/pathoptions.hxx>
@@ -52,7 +53,9 @@ namespace basic
 
     /** === begin UNO using === **/
     using ::com::sun::star::uno::Reference;
+    using ::com::sun::star::uno::XComponentContext;
     using ::com::sun::star::frame::XModel;
+    using ::com::sun::star::frame::Desktop;
     using ::com::sun::star::uno::XInterface;
     using ::com::sun::star::uno::UNO_QUERY;
     using ::com::sun::star::embed::XStorage;
@@ -328,9 +331,8 @@ namespace basic
         // global constants
 
         // StarDesktop
-        Reference< XMultiServiceFactory > xSMgr = ::comphelper::getProcessServiceFactory();
-        pBasicManager->SetGlobalUNOConstant( "StarDesktop",
-                                             makeAny( xSMgr->createInstance("com.sun.star.frame.Desktop")));
+        Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+        pBasicManager->SetGlobalUNOConstant( "StarDesktop", makeAny( Desktop::create(xContext)));
 
         // (BasicLibraries and DialogLibraries have automatically been added in SetLibraryContainerInfo)
 
diff --git a/basic/source/basmgr/vbahelper.cxx b/basic/source/basmgr/vbahelper.cxx
index d5c2466..d1c34e4 100644
--- a/basic/source/basmgr/vbahelper.cxx
+++ b/basic/source/basmgr/vbahelper.cxx
@@ -23,7 +23,7 @@
 #include <map>
 #include <vector>
 #include <com/sun/star/container/XEnumeration.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XModel2.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -70,8 +70,7 @@ DocumentsEnumeration::DocumentsEnumeration( const uno::Reference< frame::XModel
     {
         uno::Reference< frame::XModuleManager2 > xModuleManager( lclCreateModuleManager() );
         ::rtl::OUString aIdentifier = xModuleManager->identify( rxModel );
-        uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
-        uno::Reference< frame::XDesktop > xDesktop( xFactory->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ) ), uno::UNO_QUERY_THROW );
+        uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
         uno::Reference< container::XEnumerationAccess > xComponentsEA( xDesktop->getComponents(), uno::UNO_SET_THROW );
         uno::Reference< container::XEnumeration > xEnumeration( xComponentsEA->createEnumeration(), uno::UNO_SET_THROW );
         while( xEnumeration->hasMoreElements() )
diff --git a/basic/source/classes/eventatt.cxx b/basic/source/classes/eventatt.cxx
index 173a3ce..d3da40a 100644
--- a/basic/source/classes/eventatt.cxx
+++ b/basic/source/classes/eventatt.cxx
@@ -44,7 +44,7 @@
 #include <com/sun/star/awt/XDialogProvider.hpp>
 
 #include <com/sun/star/frame/XModel.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 #include <basic/basicmanagerrepository.hxx>
 #include <basic/basmgr.hxx>
@@ -433,8 +433,6 @@ void RTL_Impl_CreateUnoDialog( StarBASIC* pBasic, SbxArray& rPar, sal_Bool bWrit
     (void)bWrite;
 
     Reference< XMultiServiceFactory > xMSF( comphelper::getProcessServiceFactory() );
-    if( !xMSF.is() )
-        return;
 
     // We need at least 1 parameter
     if ( rPar.Count() < 2 )
@@ -473,8 +471,7 @@ void RTL_Impl_CreateUnoDialog( StarBASIC* pBasic, SbxArray& rPar, sal_Bool bWrit
     {
         return;
     }
-    Reference< XComponentContext > xContext(
-        comphelper::getComponentContext( xMSF ) );
+    Reference< XComponentContext > xContext( comphelper::getComponentContext( xMSF ) );
 
     // Import the DialogModel
     Reference< XInputStream > xInput( xISP->createInputStream() );
@@ -510,33 +507,30 @@ void RTL_Impl_CreateUnoDialog( StarBASIC* pBasic, SbxArray& rPar, sal_Bool bWrit
     // If we found the dialog then it belongs to the Search basic
     if ( !pFoundBasic )
     {
-        Reference< frame::XDesktop > xDesktop( xMSF->createInstance(OUString("com.sun.star.frame.Desktop")), UNO_QUERY);
+        Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( xContext );
         Reference< container::XEnumeration > xModels;
-        if ( xDesktop.is() )
+        Reference< container::XEnumerationAccess > xComponents( xDesktop->getComponents(), UNO_QUERY );
+        if ( xComponents.is() )
         {
-            Reference< container::XEnumerationAccess > xComponents( xDesktop->getComponents(), UNO_QUERY );
-            if ( xComponents.is() )
-            {
-                xModels.set( xComponents->createEnumeration(), UNO_QUERY );
-            }
-            if ( xModels.is() )
+            xModels.set( xComponents->createEnumeration(), UNO_QUERY );
+        }
+        if ( xModels.is() )
+        {
+            while ( xModels->hasMoreElements() )
             {
-                while ( xModels->hasMoreElements() )
+                Reference< frame::XModel > xNextModel( xModels->nextElement(), UNO_QUERY );
+                if ( xNextModel.is() )
                 {
-                    Reference< frame::XModel > xNextModel( xModels->nextElement(), UNO_QUERY );
-                    if ( xNextModel.is() )
+                    BasicManager* pMgr = basic::BasicManagerRepository::getDocumentBasicManager( xNextModel );
+                    if ( pMgr )
                     {
-                        BasicManager* pMgr = basic::BasicManagerRepository::getDocumentBasicManager( xNextModel );
-                        if ( pMgr )
-                        {
-                            aDlgLibAny = implFindDialogLibForDialogBasic( aAnyISP, pMgr->GetLib(0), pFoundBasic );
-                        }
-                        if ( aDlgLibAny.hasValue() )
-                        {
-                            bDocDialog = true;
-                            xModel = xNextModel;
-                            break;
-                        }
+                        aDlgLibAny = implFindDialogLibForDialogBasic( aAnyISP, pMgr->GetLib(0), pFoundBasic );
+                    }
+                    if ( aDlgLibAny.hasValue() )
+                    {
+                        bDocDialog = true;
+                        xModel = xNextModel;
+                        break;
                     }
                 }
             }
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index b192a4f..dc66887 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -44,6 +44,7 @@
 #include <basic/vbahelper.hxx>
 #include <cppuhelper/implbase3.hxx>
 #include <unotools/eventcfg.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/script/ModuleType.hpp>
 #include <com/sun/star/script/vba/XVBACompatibility.hpp>
@@ -477,13 +478,8 @@ public:
 
     void QuitApplication()
     {
-        uno::Reference< lang::XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory();
-        if ( xFactory.is() )
-    {
-            uno::Reference< frame::XDesktop > xDeskTop( xFactory->createInstance( OUString( "com.sun.star.frame.Desktop" ) ), uno::UNO_QUERY );
-           if ( xDeskTop.is() )
-               xDeskTop->terminate();
-        }
+        uno::Reference< frame::XDesktop2 > xDeskTop = frame::Desktop::create( comphelper::getProcessComponentContext() );
+        xDeskTop->terminate();
     }
     DECL_LINK( OnAsyncQuit, void* );
 };
diff --git a/bridges/test/testoffice.cxx b/bridges/test/testoffice.cxx
index 9d01bee..0fca508 100644
--- a/bridges/test/testoffice.cxx
+++ b/bridges/test/testoffice.cxx
@@ -37,6 +37,7 @@
 
 #include <com/sun/star/lang/XComponent.hpp>
 
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
 
 #include <cppuhelper/weak.hxx>
@@ -128,11 +129,7 @@ void testWriter(  const Reference < XComponent > & rCmp )
 
 void testDocument( const Reference < XMultiServiceFactory > & rSmgr )
 {
-    Reference < XComponentLoader > rLoader(
-        rSmgr->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop" ))),
-        UNO_QUERY );
-
-    OSL_ASSERT( rLoader.is() );
+    Reference < XDesktop2 > rLoader = Desktop::create( comphelper::getComponentContext(rSmgr) );
 
     sal_Char *urls[] = {
         "private:factory/swriter",
diff --git a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
index 5d4e8a5..67ff9fa 100644
--- a/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
+++ b/chart2/source/controller/dialogs/dlg_CreationWizard_UNO.cxx
@@ -36,7 +36,7 @@
 #include <com/sun/star/awt/Point.hpp>
 #include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 
 //.............................................................................
 namespace chart
@@ -52,14 +52,9 @@ CreationWizardUnoDlg::CreationWizardUnoDlg( const uno::Reference< uno::XComponen
                     , m_pDialog( 0 )
                     , m_bUnlockControllersOnExecute(false)
 {
-    uno::Reference< frame::XDesktop > xDesktop(
-        m_xCC->getServiceManager()->createInstanceWithContext(
-            "com.sun.star.frame.Desktop" , m_xCC ), uno::UNO_QUERY );
-    if( xDesktop.is() )
-    {
-        uno::Reference< frame::XTerminateListener > xListener( this );
-        xDesktop->addTerminateListener( xListener );
-    }
+    uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_xCC);
+    uno::Reference< frame::XTerminateListener > xListener( this );
+    xDesktop->addTerminateListener( xListener );
 }
 CreationWizardUnoDlg::~CreationWizardUnoDlg()
 {
@@ -290,14 +285,9 @@ void SAL_CALL CreationWizardUnoDlg::disposing()
 
     try
     {
-        uno::Reference< frame::XDesktop > xDesktop(
-            m_xCC->getServiceManager()->createInstanceWithContext(
-                "com.sun.star.frame.Desktop" , m_xCC ), uno::UNO_QUERY );
-        if( xDesktop.is() )
-        {
-            uno::Reference< frame::XTerminateListener > xListener( this );
-            xDesktop->removeTerminateListener( xListener );
-        }
+        uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_xCC);
+        uno::Reference< frame::XTerminateListener > xListener( this );
+        xDesktop->removeTerminateListener( xListener );
     }
     catch( const uno::Exception & ex )
     {
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index bfb8920..7f66efb 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -1323,13 +1323,12 @@ bool ChartController::execute_KeyInput( const KeyEvent& rKEvt )
         return bReturn;
 
     // handle accelerators
-    if( ! m_apAccelExecute.get() && m_xFrame.is() && m_xCC.is() && m_xCC->getServiceManager().is() )
+    if( ! m_apAccelExecute.get() && m_xFrame.is() && m_xCC.is() )
     {
         m_apAccelExecute.reset( ::svt::AcceleratorExecute::createAcceleratorHelper());
         OSL_ASSERT( m_apAccelExecute.get());
         if( m_apAccelExecute.get() )
-            m_apAccelExecute->init(
-                uno::Reference< lang::XMultiServiceFactory >( m_xCC->getServiceManager(), uno::UNO_QUERY ), m_xFrame );
+            m_apAccelExecute->init( m_xCC, m_xFrame );
     }
 
     KeyCode aKeyCode( rKEvt.GetKeyCode());
diff --git a/comphelper/source/misc/officerestartmanager.cxx b/comphelper/source/misc/officerestartmanager.cxx
index 4dd42bd..dfbd207 100644
--- a/comphelper/source/misc/officerestartmanager.cxx
+++ b/comphelper/source/misc/officerestartmanager.cxx
@@ -20,7 +20,7 @@
 
 #include <com/sun/star/lang/XMultiComponentFactory.hpp>
 #include <com/sun/star/awt/XRequestCallback.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/beans/XPropertySet.hpp>
 
 #include <comphelper_module.hxx>
@@ -129,11 +129,7 @@ void SAL_CALL OOfficeRestartManager::notify( const uno::Any& /* aData */ )
 
         if ( m_xContext.is() )
         {
-            uno::Reference< lang::XMultiComponentFactory > xFactory( m_xContext->getServiceManager(), uno::UNO_SET_THROW );
-            uno::Reference< frame::XDesktop > xDesktop(
-                xFactory->createInstanceWithContext(
-                    ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ), m_xContext ),
-                uno::UNO_QUERY_THROW );
+            uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(m_xContext);
 
             // Turn Quickstarter veto off
             uno::Reference< beans::XPropertySet > xPropertySet( xDesktop, uno::UNO_QUERY_THROW );
diff --git a/connectivity/source/cpool/ZPoolCollection.cxx b/connectivity/source/cpool/ZPoolCollection.cxx
index b7d0abd..3ab3f75 100644
--- a/connectivity/source/cpool/ZPoolCollection.cxx
+++ b/connectivity/source/cpool/ZPoolCollection.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
 #include <com/sun/star/beans/NamedValue.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/reflection/ProxyFactory.hpp>
 #include <com/sun/star/sdbc/DriverManager.hpp>
 #include <comphelper/extract.hxx>
@@ -72,13 +73,13 @@ static const ::rtl::OUString& getEnableNodeName()
 }
 
 //--------------------------------------------------------------------
-OPoolCollection::OPoolCollection(const Reference< XMultiServiceFactory >&   _rxFactory)
-    :m_xServiceFactory(_rxFactory)
+OPoolCollection::OPoolCollection(const Reference< XComponentContext >& _rxContext)
+    :m_xContext(_rxContext)
 {
     // bootstrap all objects supporting the .sdb.Driver service
-    m_xManager = DriverManager::create( comphelper::getComponentContext(m_xServiceFactory) );
+    m_xManager = DriverManager::create( m_xContext );
 
-    m_xProxyFactory = ProxyFactory::create( comphelper::getComponentContext(m_xServiceFactory) );
+    m_xProxyFactory = ProxyFactory::create( m_xContext );
 
     Reference<XPropertySet> xProp(getConfigPoolRoot(),UNO_QUERY);
     if ( xProp.is() )
@@ -87,9 +88,8 @@ OPoolCollection::OPoolCollection(const Reference< XMultiServiceFactory >&   _rxF
     osl_atomic_increment( &m_refCount );
     {
 
-        m_xDesktop = Reference< ::com::sun::star::frame::XDesktop>( m_xServiceFactory->createInstance(::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY);
-        if ( m_xDesktop.is() )
-            m_xDesktop->addTerminateListener(this);
+        m_xDesktop = ::com::sun::star::frame::Desktop::create( m_xContext );
+        m_xDesktop->addTerminateListener(this);
 
     }
     osl_atomic_decrement( &m_refCount );
@@ -164,7 +164,7 @@ Sequence< ::rtl::OUString > SAL_CALL OPoolCollection::getSupportedServiceNames(
 //---------------------------------------OPoolCollection----------------------------------
 Reference< XInterface > SAL_CALL OPoolCollection::CreateInstance(const Reference< XMultiServiceFactory >& _rxFactory)
 {
-    return static_cast<XDriverManager*>(new OPoolCollection(_rxFactory));
+    return static_cast<XDriverManager*>(new OPoolCollection(comphelper::getComponentContext(_rxFactory)));
 }
 
 //--------------------------------------------------------------------------
@@ -332,8 +332,7 @@ OConnectionPool* OPoolCollection::getConnectionPool(const ::rtl::OUString& _sImp
 Reference< XInterface > OPoolCollection::createWithServiceFactory(const ::rtl::OUString& _rPath) const
 {
     return createWithProvider(
-        com::sun::star::configuration::theDefaultProvider::get(
-            comphelper::getComponentContext(m_xServiceFactory)),
+        com::sun::star::configuration::theDefaultProvider::get(m_xContext),
         _rPath);
 }
 //------------------------------------------------------------------------
diff --git a/connectivity/source/cpool/ZPoolCollection.hxx b/connectivity/source/cpool/ZPoolCollection.hxx
index 6fb05bb..b601c53 100644
--- a/connectivity/source/cpool/ZPoolCollection.hxx
+++ b/connectivity/source/cpool/ZPoolCollection.hxx
@@ -29,7 +29,8 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/lang/XEventListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/frame/XDesktop2.hpp>
 #include <com/sun/star/frame/XTerminateListener.hpp>
 #include <com/sun/star/reflection/XProxyFactory.hpp>
 #include <comphelper/stl_types.hxx>
@@ -65,11 +66,11 @@ namespace connectivity
         MapDriver2DriverRef                                                                 m_aDriverProxies;
         ::osl::Mutex                                                                        m_aMutex;
         OConnectionPools                                                                    m_aPools;          // the driver pools
-        ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >    m_xServiceFactory;
+        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >        m_xContext;
         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDriverManager2 >         m_xManager;
         ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XProxyFactory >     m_xProxyFactory;
         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >               m_xConfigNode;      // config node for generel connection pooling
-        ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop>                m_xDesktop;
+        ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDesktop2>               m_xDesktop;
 
     private:
         OPoolCollection();                          // never implemented
@@ -77,7 +78,7 @@ namespace connectivity
         int operator= (const OPoolCollection&);         // never implemented
 
         OPoolCollection(
-            const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+            const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext);
 
         // some configuration helper methods
         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createWithServiceFactory(const ::rtl::OUString& _rPath) const;
diff --git a/connectivity/source/drivers/calc/CConnection.cxx b/connectivity/source/drivers/calc/CConnection.cxx
index 6576fc1..3ba98f4 100644
--- a/connectivity/source/drivers/calc/CConnection.cxx
+++ b/connectivity/source/drivers/calc/CConnection.cxx
@@ -24,6 +24,7 @@
 #include "resource/calc_res.hrc"
 #include "resource/sharedresources.hxx"
 #include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
 #include <tools/urlobj.hxx>
@@ -32,6 +33,7 @@
 #include <unotools/pathoptions.hxx>
 #include <connectivity/dbexception.hxx>
 #include <cppuhelper/exc_hlp.hxx>
+#include <comphelper/processfactory.hxx>
 #include <rtl/logfile.hxx>
 
 using namespace connectivity::calc;
@@ -126,13 +128,7 @@ Reference< XSpreadsheetDocument> OCalcConnection::acquireDoc()
         aArgs[nPos].Value <<= m_sPassword;
     }
 
-    Reference< XComponentLoader > xDesktop( getDriver()->getFactory()->createInstance(
-                    ::rtl::OUString("com.sun.star.frame.Desktop")), UNO_QUERY );
-    if (!xDesktop.is())
-    {
-        OSL_FAIL("no desktop");
-        throw SQLException();
-    }
+    Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(getDriver()->getFactory()) );
     Reference< XComponent > xComponent;
     Any aLoaderException;
     try
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
index a805bfc..25087d2 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -33,7 +33,7 @@
 #include <jvmfwk/framework.h>
 #include <com/sun/star/reflection/XProxyFactory.hpp>
 #include <com/sun/star/embed/XStorage.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/lang/Locale.hpp>
 #include <com/sun/star/util/XFlushable.hpp>
 #include "HTerminateListener.hxx"
@@ -372,13 +372,10 @@ namespace connectivity
                     static Reference< XTerminateListener> s_xTerminateListener;
                     if( !s_xTerminateListener.is() )
                     {
-                        Reference< XDesktop > xDesktop( m_xFactory->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY );
+                        Reference< XDesktop2 > xDesktop = Desktop::create( comphelper::getComponentContext(m_xFactory) );
 
-                        if( xDesktop.is() )
-                        {
-                            s_xTerminateListener = new OConnectionController(this);
-                            xDesktop->addTerminateListener(s_xTerminateListener);
-                        }
+                        s_xTerminateListener = new OConnectionController(this);
+                        xDesktop->addTerminateListener(s_xTerminateListener);
                     }
                     Reference< XComponent> xIfc = new OHsqlConnection( this, xOrig, comphelper::getComponentContext(m_xFactory) );
                     xConnection.set(xIfc,UNO_QUERY);
diff --git a/connectivity/source/drivers/kab/KDriver.cxx b/connectivity/source/drivers/kab/KDriver.cxx
index 04ee119..9f32fdb 100644
--- a/connectivity/source/drivers/kab/KDriver.cxx
+++ b/connectivity/source/drivers/kab/KDriver.cxx
@@ -45,8 +45,8 @@ using namespace connectivity::kab;
 // = KabImplModule
 // =======================================================================
 // --------------------------------------------------------------------------------
-KabImplModule::KabImplModule( const Reference< XMultiServiceFactory >& _rxFactory )
-    :m_xORB(_rxFactory)
+KabImplModule::KabImplModule( const Reference< XComponentContext >& _rxContext )
+    :m_xContext(_rxContext)
     ,m_bAttemptedLoadModule(false)
     ,m_bAttemptedInitialize(false)
     ,m_hConnectorModule(NULL)
@@ -55,7 +55,7 @@ KabImplModule::KabImplModule( const Reference< XMultiServiceFactory >& _rxFactor
     ,m_pApplicationShutdownFunc(NULL)
     ,m_pKDEVersionCheckFunc(NULL)
 {
-    if ( !m_xORB.is() )
+    if ( !m_xContext.is() )
         throw NullPointerException();
 }
 
@@ -181,8 +181,7 @@ bool KabImplModule::impl_doAllowNewKDEVersion()
     try
     {
         Reference< XMultiServiceFactory > xConfigProvider(
-            com::sun::star::configuration::theDefaultProvider::get(
-                comphelper::getComponentContext( m_xORB ) ) );
+            com::sun::star::configuration::theDefaultProvider::get( m_xContext ) );
         Sequence< Any > aCreationArgs(1);
         aCreationArgs[0] <<= PropertyValue(
                                 ::rtl::OUString(  "nodepath"  ),
@@ -303,20 +302,18 @@ void KabImplModule::shutdown()
 // = KabDriver
 // =======================================================================
 KabDriver::KabDriver(
-    const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
+    const Reference< ::com::sun::star::uno::XComponentContext >& _rxContext)
     : KDriver_BASE(m_aMutex),
-      m_xMSFactory(_rxFactory),
-      m_aImplModule(_rxFactory)
+      m_xContext(_rxContext),
+      m_aImplModule(_rxContext)
 {
-    if ( !m_xMSFactory.is() )
+    if ( !m_xContext.is() )
         throw NullPointerException();
 
     osl_atomic_increment( &m_refCount );
     try
     {
-        Reference< XDesktop > xDesktop(
-            m_xMSFactory->createInstance( ::rtl::OUString(  "com.sun.star.frame.Desktop"  ) ),
-            UNO_QUERY_THROW );
+        Reference< XDesktop2 > xDesktop = css::frame::Desktop::create( m_xContext);
         xDesktop->addTerminateListener( this );
     }
     catch( const Exception& )
@@ -462,7 +459,7 @@ const sal_Char* KabDriver::impl_getAsciiImplementationName()
 // --------------------------------------------------------------------------------
 Reference< XInterface >  SAL_CALL KabDriver::Create( const Reference< XMultiServiceFactory >& _rxFactory ) throw( Exception )
 {
-    return *(new KabDriver(_rxFactory));
+    return *(new KabDriver( comphelper::getComponentContext(_rxFactory)));
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/kab/KDriver.hxx b/connectivity/source/drivers/kab/KDriver.hxx
index 1243f74..678f5a8 100644
--- a/connectivity/source/drivers/kab/KDriver.hxx
+++ b/connectivity/source/drivers/kab/KDriver.hxx
@@ -47,8 +47,8 @@ namespace connectivity
         class KabImplModule
         {
         private:
-            ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
-                                        m_xORB;
+            ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
+                                        m_xContext;
 
             /// Did we already attempt to load the module and to retrieve the symbols?
             bool    m_bAttemptedLoadModule;
@@ -62,7 +62,7 @@ namespace connectivity
             KDEVersionCheckFunction     m_pKDEVersionCheckFunc;
 
         public:
-            KabImplModule( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
+            KabImplModule( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext );
 
             /** determines whether there is a KDE present in the environment
             */
@@ -151,8 +151,8 @@ namespace connectivity
             ::osl::Mutex                m_aMutex;           // mutex is need to control member access
             OWeakRefArray               m_xConnections;     // vector containing a list of all the
                                                             //  KabConnection objects for this Driver
-            ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
-                                        m_xMSFactory;       // the multi-service factory
+            ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
+                                        m_xContext;       // the multi-service factory
             KabImplModule               m_aImplModule;
 
         public:
@@ -163,7 +163,7 @@ namespace connectivity
             static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(  ) throw (::com::sun::star::uno::RuntimeException);
 
             ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
-            getComponentContext() const { return comphelper::getComponentContext(m_xMSFactory); }
+            getComponentContext() const { return m_xContext; }
 
             /** returns the driver's implementation name (being pure ASCII) for reference in various places
             */
@@ -174,7 +174,7 @@ namespace connectivity
             static ::rtl::OUString  impl_getConfigurationSettingsPath();
 
         protected:
-            KabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+            KabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext);
 
             // OComponentHelper
             virtual void SAL_CALL disposing(void);
diff --git a/connectivity/source/drivers/macab/MacabDriver.cxx b/connectivity/source/drivers/macab/MacabDriver.cxx
index ea60ded..a2adc78 100644
--- a/connectivity/source/drivers/macab/MacabDriver.cxx
+++ b/connectivity/source/drivers/macab/MacabDriver.cxx
@@ -27,6 +27,7 @@
 #include <rtl/ustrbuf.hxx>
 #include <tools/diagnose_ex.h>
 #include "resource/macab_res.hrc"
+#include <comphelper/processfactory.hxx>
 
 using namespace com::sun::star::uno;
 using namespace com::sun::star::lang;
@@ -40,14 +41,11 @@ using namespace connectivity::macab;
 // = MacabImplModule
 // =======================================================================
 // --------------------------------------------------------------------------------
-MacabImplModule::MacabImplModule( const Reference< XMultiServiceFactory >& _rxFactory )
-    :m_xORB(_rxFactory)
-    ,m_bAttemptedLoadModule(false)
+MacabImplModule::MacabImplModule( const Reference< XMultiServiceFactory >& _rxContext )
+    :m_bAttemptedLoadModule(false)
     ,m_hConnectorModule(NULL)
     ,m_pConnectionFactoryFunc(NULL)
 {
-    if ( !m_xORB.is() )
-        throw NullPointerException();
 }
 
 // --------------------------------------------------------------------------------
@@ -172,20 +170,18 @@ void MacabImplModule::shutdown()
 // = MacabDriver
 // =======================================================================
 MacabDriver::MacabDriver(
-    const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
+    const Reference< ::com::sun::star::uno::XComponentContext >& _rxContext)
     : MacabDriver_BASE(m_aMutex),
-      m_xMSFactory(_rxFactory),
+      m_xContext(_rxContext),
       m_aImplModule(_rxFactory)
 {
-    if ( !m_xMSFactory.is() )
+    if ( !m_xContext.is() )
         throw NullPointerException();
 
     osl_atomic_increment( &m_refCount );
     try
     {
-        Reference< XDesktop > xDesktop(
-            m_xMSFactory->createInstance( ::rtl::OUString(  "com.sun.star.frame.Desktop"  ) ),
-            UNO_QUERY_THROW );
+        Reference< XDesktop2 > xDesktop = frame::Desktop::create( m_xContext );
         xDesktop->addTerminateListener( this );
     }
     catch( const Exception& )
@@ -331,7 +327,7 @@ const sal_Char* MacabDriver::impl_getAsciiImplementationName()
 // --------------------------------------------------------------------------------
 Reference< XInterface >  SAL_CALL MacabDriver::Create( const Reference< XMultiServiceFactory >& _rxFactory ) throw( Exception )
 {
-    return *(new MacabDriver(_rxFactory));
+    return *(new MacabDriver(comphelper::getComponentContext(_rxFactory)));
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabDriver.hxx b/connectivity/source/drivers/macab/MacabDriver.hxx
index cbfe0c0..d1d6fe2 100644
--- a/connectivity/source/drivers/macab/MacabDriver.hxx
+++ b/connectivity/source/drivers/macab/MacabDriver.hxx
@@ -23,7 +23,6 @@
 #include <com/sun/star/sdbc/XDriver.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/frame/XTerminateListener.hpp>
-#include <comphelper/processfactory.hxx>
 #include <cppuhelper/compbase3.hxx>
 #include <osl/module.h>
 
@@ -49,16 +48,13 @@ namespace connectivity
         class MacabImplModule
         {
         private:
-            ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
-                                        m_xORB;
-
             /// Did we already attempt to load the module and to retrieve the symbols?
             bool    m_bAttemptedLoadModule;
             oslModule                   m_hConnectorModule;
             ConnectionFactoryFunction   m_pConnectionFactoryFunc;
 
         public:
-            MacabImplModule( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
+            MacabImplModule();
 
             /** determines whether there is a mac OS present in the environment
             */
@@ -124,8 +120,8 @@ namespace connectivity
             ::osl::Mutex                m_aMutex;           // mutex is need to control member access
             OWeakRefArray               m_xConnections;     // vector containing a list of all the
                                                             //  MacabConnection objects for this Driver
-            ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
-                                        m_xMSFactory;       // the multi-service factory
+            ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
+                                        m_xContext;       // the multi-service factory
             MacabImplModule               m_aImplModule;
 
         public:
@@ -136,7 +132,7 @@ namespace connectivity
             static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(  ) throw (::com::sun::star::uno::RuntimeException);
 
             ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
-            getComponentContext() const { return comphelper::getComponentContext(m_xMSFactory); }
+            getComponentContext() const { return m_xContext; }
 
             /** returns the driver's implementation name (being pure ASCII) for reference in various places
             */
@@ -147,7 +143,7 @@ namespace connectivity
             static ::rtl::OUString  impl_getConfigurationSettingsPath();
 
         protected:
-            MacabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+            MacabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext);
 
             // OComponentHelper
             virtual void SAL_CALL disposing(void);
diff --git a/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx b/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx
index 389aa6d..be8d8e6 100644
--- a/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx
+++ b/connectivity/source/drivers/mozab/mozillasrc/MNSTerminateListener.cxx
@@ -19,7 +19,7 @@
 
 #include "MNSTerminateListener.hxx"
 #include <comphelper/processfactory.hxx>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include "bootstrap/MNSInit.hxx"
 
 
@@ -63,15 +63,8 @@ void SAL_CALL MNSTerminateListener::notifyTermination( const EventObject& /*aEve
 
 void MNSTerminateListener::addTerminateListener()
 {
-    Reference< XMultiServiceFactory >   xFact( ::comphelper::getProcessServiceFactory() );
-
-    if( xFact.is() )
-    {
-        Reference< XDesktop > xDesktop( xFact->createInstance( ::rtl::OUString("com.sun.star.frame.Desktop") ), UNO_QUERY );
-
-        if( xDesktop.is() )
-            xDesktop->addTerminateListener(mxTerminateListener);
-    }
+    Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+    xDesktop->addTerminateListener(mxTerminateListener);
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index e261ad0..d9125af 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -32,6 +32,7 @@
 #include <svl/stritem.hxx>
 #include "svtools/treelistentry.hxx"
 #include <com/sun/star/embed/StorageFactory.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/ui/GlobalAcceleratorConfiguration.hpp>
 
 #include <sal/macros.h>
@@ -77,7 +78,6 @@ using namespace com::sun::star;
 
 //-----------------------------------------------
 static ::rtl::OUString SERVICE_UICONFIGMGR              (RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ui.UIConfigurationManager"              ));
-static ::rtl::OUString SERVICE_DESKTOP                  (RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop"                               ));
 
 static ::rtl::OUString MODULEPROP_SHORTNAME             (RTL_CONSTASCII_USTRINGPARAM("ooSetupFactoryShortName"                                  ));
 static ::rtl::OUString MODULEPROP_UINAME                (RTL_CONSTASCII_USTRINGPARAM("ooSetupFactoryUIName"                                     ));
@@ -839,7 +839,7 @@ void SfxAcceleratorConfigPage::InitAccCfg()
         m_xFrame = GetFrame();
         if ( !m_xFrame.is() )
         {
-            css::uno::Reference< css::frame::XFramesSupplier > xDesktop(m_xSMGR->createInstance(SERVICE_DESKTOP), css::uno::UNO_QUERY_THROW);
+            css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create( comphelper::getComponentContext(m_xSMGR) );
             m_xFrame = xDesktop->getActiveFrame();
         }
 
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index aadccd8..3b4e49f 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -67,7 +67,7 @@
 #include <com/sun/star/ui/ModuleUIConfigurationManagerSupplier.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
 #include <com/sun/star/frame/XController.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/UICommandDescription.hpp>
 #include <com/sun/star/ui/XUIConfiguration.hpp>
 #include <com/sun/star/ui/XUIConfigurationListener.hpp>
@@ -760,15 +760,13 @@ SfxTabPage *CreateSvxEventConfigPage( Window *pParent, const SfxItemSet& rSet )
 
 sal_Bool impl_showKeyConfigTabPage( const css::uno::Reference< css::frame::XFrame >& xFrame )
 {
-    static ::rtl::OUString SERVICENAME_DESKTOP       ("com.sun.star.frame.Desktop"            );
     static ::rtl::OUString MODULEID_STARTMODULE      ("com.sun.star.frame.StartModule"        );
 
     try
     {
-        css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR   = ::comphelper::getProcessServiceFactory();
-        css::uno::Reference< css::uno::XComponentContext > xContext   = ::comphelper::getProcessComponentContext();
-        css::uno::Reference< css::frame::XFramesSupplier >     xDesktop(xSMGR->createInstance(SERVICENAME_DESKTOP), css::uno::UNO_QUERY_THROW);
-        css::uno::Reference< css::frame::XModuleManager2 >      xMM     (css::frame::ModuleManager::create(xContext));
+        css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
+        css::uno::Reference< css::frame::XDesktop2 >       xDesktop = css::frame::Desktop::create( xContext );
+        css::uno::Reference< css::frame::XModuleManager2 >      xMM = css::frame::ModuleManager::create(xContext);
 
         if (xFrame.is())
         {
@@ -1650,8 +1648,6 @@ void SvxConfigPage::Reset( const SfxItemSet& )
         uno::Reference < css::ui::XUIConfigurationManager > xCfgMgr;
         uno::Reference < css::ui::XUIConfigurationManager > xDocCfgMgr;
 
-        uno::Reference< lang::XMultiServiceFactory > xServiceManager(
-            ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
         uno::Reference< uno::XComponentContext > xContext(
             ::comphelper::getProcessComponentContext(), uno::UNO_QUERY_THROW );
 
@@ -1780,10 +1776,8 @@ void SvxConfigPage::Reset( const SfxItemSet& )
             uno::Sequence< uno::Reference< frame::XFrame > > aFrameList;
             try
             {
-                uno::Reference< frame::XFramesSupplier > xFramesSupplier(
-                    xServiceManager->createInstance(
-                        OUString( "com.sun.star.frame.Desktop"  ) ),
-                    uno::UNO_QUERY_THROW );
+                uno::Reference< frame::XDesktop2 > xFramesSupplier = frame::Desktop::create(
+                    xContext );
 
                 uno::Reference< frame::XFrames > xFrames =
                     xFramesSupplier->getFrames();
@@ -1876,20 +1870,17 @@ void SvxConfigPage::Reset( const SfxItemSet& )
     ::rtl::OUString sModuleID;
     try
     {
-        uno::Reference< lang::XMultiServiceFactory > xServiceManager(
-            ::comphelper::getProcessServiceFactory(), uno::UNO_QUERY_THROW );
+        uno::Reference< uno::XComponentContext > xContext(
+            ::comphelper::getProcessComponentContext() );
 
-        uno::Reference< frame::XFramesSupplier > xFramesSupplier(
-            xServiceManager->createInstance(
-                OUString( "com.sun.star.frame.Desktop"  ) ),
-            uno::UNO_QUERY_THROW );
+        uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(
+            xContext );
 
         if ( !_inout_rxFrame.is() )
-            _inout_rxFrame = xFramesSupplier->getActiveFrame();
+            _inout_rxFrame = xDesktop->getActiveFrame();
 
         if ( !_inout_rxFrame.is() )
         {
-            uno::Reference< frame::XDesktop > xDesktop( xFramesSupplier, uno::UNO_QUERY_THROW );
             _inout_rxFrame = xDesktop->getCurrentFrame();
         }
 
@@ -1903,7 +1894,7 @@ void SvxConfigPage::Reset( const SfxItemSet& )
         }
 
         uno::Reference< css::frame::XModuleManager2 > xModuleManager(
-                css::frame::ModuleManager::create( comphelper::getComponentContext(xServiceManager) ) );
+                css::frame::ModuleManager::create( xContext ) );
 
         try
         {
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index 4043252..3b0344c 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -30,7 +30,7 @@
 #include <com/sun/star/script/browse/XBrowseNodeFactory.hpp>
 #include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 #include <com/sun/star/container/XEnumeration.hpp>
 #include <com/sun/star/document/XScriptInvocationContext.hpp>
@@ -802,12 +802,7 @@ Reference< XInterface  >
 SfxConfigGroupListBox_Impl::getDocumentModel( Reference< XComponentContext >& xCtx, ::rtl::OUString& docName )
 {
     Reference< XInterface > xModel;
-    Reference< lang::XMultiComponentFactory > mcf =
-            xCtx->getServiceManager();
-    Reference< frame::XDesktop > desktop (
-        mcf->createInstanceWithContext(
-            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ),                 xCtx ),
-            UNO_QUERY );
+    Reference< frame::XDesktop2 > desktop = frame::Desktop::create( xCtx );
 
     Reference< container::XEnumerationAccess > componentsAccess =
         desktop->getComponents();
diff --git a/cui/source/customize/eventdlg.cxx b/cui/source/customize/eventdlg.cxx
index 8020deb..fa994c2 100644
--- a/cui/source/customize/eventdlg.cxx
+++ b/cui/source/customize/eventdlg.cxx
@@ -20,6 +20,7 @@
 #include <svtools/svmedit.hxx>
 #include <tools/diagnose_ex.h>
 #include <com/sun/star/document/XEventsSupplier.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/GlobalEventBroadcaster.hpp>
 #include <com/sun/star/frame/XModuleManager.hpp>
 
@@ -179,10 +180,8 @@ IMPL_LINK( SvxEventConfigPage, SelectHdl_Impl, ListBox *, pBox )
     {
         bool isReadonly = sal_False;
 
-        uno::Reference< frame::XFramesSupplier > xFramesSupplier(
-            ::comphelper::getProcessServiceFactory()->createInstance(
-                OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ),
-            uno::UNO_QUERY );
+        uno::Reference< frame::XDesktop2 > xFramesSupplier = frame::Desktop::create(
+            ::comphelper::getProcessComponentContext() );
 
         uno::Reference< frame::XFrame > xFrame =
             xFramesSupplier->getActiveFrame();
diff --git a/cui/source/customize/selector.cxx b/cui/source/customize/selector.cxx
index dfa8af7..658c81a 100644
--- a/cui/source/customize/selector.cxx
+++ b/cui/source/customize/selector.cxx
@@ -44,7 +44,7 @@
 #include <com/sun/star/script/browse/XBrowseNodeFactory.hpp>
 #include <com/sun/star/script/browse/BrowseNodeFactoryViewTypes.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/container/XEnumerationAccess.hpp>
 #include <com/sun/star/container/XEnumeration.hpp>
 #include <com/sun/star/document/XEmbeddedScripts.hpp>
@@ -591,12 +591,7 @@ SvxConfigGroupListBox::getDocumentModel(
     Reference< XComponentContext >& xCtx, OUString& docName )
 {
     Reference< XInterface > xModel;
-    Reference< lang::XMultiComponentFactory > mcf =
-            xCtx->getServiceManager();
-    Reference< frame::XDesktop > desktop (
-        mcf->createInstanceWithContext(
-            OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")),                 xCtx ),
-            UNO_QUERY );
+    Reference< frame::XDesktop2 > desktop = Desktop::create(xCtx);
 
     Reference< container::XEnumerationAccess > componentsAccess =
         desktop->getComponents();
diff --git a/cui/source/dialogs/hlmarkwn.cxx b/cui/source/dialogs/hlmarkwn.cxx
index 3ce1ba1..6430658 100644
--- a/cui/source/dialogs/hlmarkwn.cxx
+++ b/cui/source/dialogs/hlmarkwn.cxx
@@ -26,7 +26,7 @@
 // UNO-Stuff
 #include <comphelper/processfactory.hxx>
 #include <com/sun/star/awt/XBitmap.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/document/XLinkTargetSupplier.hpp>
@@ -244,66 +244,58 @@ sal_Bool SvxHlinkDlgMarkWnd::RefreshFromDoc( OUString aURL )
 {
     mnError = LERR_NOERROR;
 
-    uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
-    if( xFactory.is() )
+    uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create( ::comphelper::getProcessComponentContext() );
+    uno::Reference< lang::XComponent > xComp;
+
+    if( !aURL.isEmpty() )
     {
-        uno::Reference< frame::XDesktop > xDesktop( xFactory->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )) ),
-                    uno::UNO_QUERY );
-        if( xDesktop.is() )
+        // load from url
+        uno::Reference< frame::XComponentLoader > xLoader( xDesktop, uno::UNO_QUERY );
+        if( xLoader.is() )
         {
-            uno::Reference< lang::XComponent > xComp;
-
-            if( !aURL.isEmpty() )
-            {
-                // load from url
-                uno::Reference< frame::XComponentLoader > xLoader( xDesktop, uno::UNO_QUERY );
-                if( xLoader.is() )
-                {
-                    try
-                    {
-                        uno::Sequence< beans::PropertyValue > aArg(1);
-                        aArg.getArray()[0].Name = OUString(RTL_CONSTASCII_USTRINGPARAM( "Hidden" ));
-                        aArg.getArray()[0].Value <<= (sal_Bool) sal_True;
-                        xComp = xLoader->loadComponentFromURL( aURL, OUString(RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0, aArg );
-                    }
-                    catch( const io::IOException& )
-                    {
-
-                    }
-                    catch( const lang::IllegalArgumentException& )
-                    {
-
-                    }
-                }
-            }
-            else
+            try
             {
-                // the component with user focus ( current document )
-                xComp = xDesktop->getCurrentComponent();
+                uno::Sequence< beans::PropertyValue > aArg(1);
+                aArg.getArray()[0].Name = OUString(RTL_CONSTASCII_USTRINGPARAM( "Hidden" ));
+                aArg.getArray()[0].Value <<= (sal_Bool) sal_True;
+                xComp = xLoader->loadComponentFromURL( aURL, OUString(RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0, aArg );
             }
-
-            if( xComp.is() )
+            catch( const io::IOException& )
             {
-                uno::Reference< document::XLinkTargetSupplier > xLTS( xComp, uno::UNO_QUERY );
 
-                if( xLTS.is() )
-                {
-                    if( FillTree( xLTS->getLinks() ) == 0 )
-                        mnError = LERR_NOENTRIES;
-                }
-                else
-                    mnError = LERR_DOCNOTOPEN;
-
-                if ( !aURL.isEmpty() )
-                    xComp->dispose();
             }
-            else
+            catch( const lang::IllegalArgumentException& )
             {
-                if( !aURL.isEmpty() )
-                    mnError=LERR_DOCNOTOPEN;
+
             }
         }
     }
+    else
+    {
+        // the component with user focus ( current document )
+        xComp = xDesktop->getCurrentComponent();
+    }
+
+    if( xComp.is() )
+    {
+        uno::Reference< document::XLinkTargetSupplier > xLTS( xComp, uno::UNO_QUERY );
+
+        if( xLTS.is() )
+        {
+            if( FillTree( xLTS->getLinks() ) == 0 )
+                mnError = LERR_NOENTRIES;
+        }
+        else
+            mnError = LERR_DOCNOTOPEN;
+
+        if ( !aURL.isEmpty() )
+            xComp->dispose();
+    }
+    else
+    {
+        if( !aURL.isEmpty() )
+            mnError=LERR_DOCNOTOPEN;
+    }
     return (mnError==0);
 }
 /*************************************************************************
diff --git a/cui/source/dialogs/scriptdlg.cxx b/cui/source/dialogs/scriptdlg.cxx
index c3ee488..f4b1e94 100644
--- a/cui/source/dialogs/scriptdlg.cxx
+++ b/cui/source/dialogs/scriptdlg.cxx
@@ -40,6 +40,7 @@
 #include <com/sun/star/script/provider/ScriptErrorRaisedException.hpp>
 #include <com/sun/star/script/provider/ScriptExceptionRaisedException.hpp>
 #include <com/sun/star/script/provider/ScriptFrameworkErrorType.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
 #include <com/sun/star/script/XInvocation.hpp>
 #include <com/sun/star/document/XEmbeddedScripts.hpp>
@@ -252,12 +253,7 @@ Reference< XInterface  >
 SFTreeListBox::getDocumentModel( Reference< XComponentContext >& xCtx, ::rtl::OUString& docName )
 {
     Reference< XInterface > xModel;
-    Reference< lang::XMultiComponentFactory > mcf =
-            xCtx->getServiceManager();
-    Reference< frame::XDesktop > desktop (
-        mcf->createInstanceWithContext(
-            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ),                 xCtx ),
-            UNO_QUERY );
+    Reference< frame::XDesktop2 > desktop  = frame::Desktop::create(xCtx);
 
     Reference< container::XEnumerationAccess > componentsAccess =
         desktop->getComponents();
diff --git a/cui/source/inc/treeopt.hxx b/cui/source/inc/treeopt.hxx
index ee6fa40..36a0250 100644
--- a/cui/source/inc/treeopt.hxx
+++ b/cui/source/inc/treeopt.hxx
@@ -129,7 +129,6 @@ struct LastPageSaver
 // class OfaTreeOptionsDialog --------------------------------------------
 
 namespace com { namespace sun { namespace star { namespace frame { class XFrame; } } } }
-namespace com { namespace sun { namespace star { namespace lang { class XMultiServiceFactory; } } } }
 namespace com { namespace sun { namespace star { namespace awt { class XContainerWindowProvider; } } } }
 
 struct OptionsPageInfo;
@@ -179,8 +178,6 @@ private:
 
     void            LoadExtensionOptions( const rtl::OUString& rExtensionId );
     rtl::OUString   GetModuleIdentifier( const com::sun::star::uno::Reference<
-                                            com::sun::star::lang::XMultiServiceFactory >& xMFac,
-                                         const com::sun::star::uno::Reference<
                                             com::sun::star::frame::XFrame >& xFrame );
     Module*         LoadModule( const rtl::OUString& rModuleIdentifier );
     VectorOfNodes   LoadNodes( Module* pModule, const rtl::OUString& rExtensionId );
diff --git a/cui/source/options/optupdt.cxx b/cui/source/options/optupdt.cxx
index c1539fc..10db1d4 100644
--- a/cui/source/options/optupdt.cxx
+++ b/cui/source/options/optupdt.cxx
@@ -30,7 +30,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/ui/dialogs/FolderPicker.hpp>
 #include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XDispatchProvider.hpp>
 #include <com/sun/star/util/XChangesBatch.hpp>
 #include <com/sun/star/util/URLTransformer.hpp>
@@ -324,13 +324,12 @@ IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, FileDialogHdl_Impl)
 
 IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, CheckNowHdl_Impl)
 {
-    uno::Reference < lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
+    uno::Reference < uno::XComponentContext> xContext( ::comphelper::getProcessComponentContext() );
 
     try
     {
         uno::Reference< lang::XMultiServiceFactory > xConfigProvider(
-            com::sun::star::configuration::theDefaultProvider::get(
-                comphelper::getProcessComponentContext() ) );
+            com::sun::star::configuration::theDefaultProvider::get( xContext ) );
 
         beans::NamedValue aProperty;
         aProperty.Name  = "nodepath";
@@ -347,14 +346,11 @@ IMPL_LINK_NOARG(SvxOnlineUpdateTabPage, CheckNowHdl_Impl)
         util::URL aURL;
         xNameAccess->getByName("URL") >>= aURL.Complete;
 
-        uno::Reference < util::XURLTransformer > xTransformer(
-            util::URLTransformer::create( comphelper::getProcessComponentContext() ) );
+        uno::Reference < util::XURLTransformer > xTransformer( util::URLTransformer::create( xContext ) );
 
         xTransformer->parseStrict(aURL);
 
-        uno::Reference < frame::XDesktop > xDesktop(
-            xFactory->createInstance( "com.sun.star.frame.Desktop" ),
-            uno::UNO_QUERY_THROW );
+        uno::Reference < frame::XDesktop2 > xDesktop = frame::Desktop::create( xContext );
 
         uno::Reference< frame::XDispatchProvider > xDispatchProvider(
             xDesktop->getCurrentFrame(), uno::UNO_QUERY );
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index df853ef..30cffee 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -55,7 +55,7 @@
 #include <com/sun/star/awt/XContainerWindowProvider.hpp>
 #include <com/sun/star/awt/XControl.hpp>
 #include <com/sun/star/awt/PosSize.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
 #include <com/sun/star/loader/CannotActivateFactoryException.hpp>
 #include <com/sun/star/util/XMacroExpander.hpp>
@@ -1490,13 +1490,11 @@ rtl::OUString getCurrentFactory_Impl( const Reference< XFrame >& _xFrame )
 {
     rtl::OUString sIdentifier;
     Reference < XFrame > xCurrentFrame( _xFrame );
-    Reference < XModuleManager2 > xModuleManager( ModuleManager::create(::comphelper::getProcessComponentContext()) );
+    Reference < XModuleManager2 > xModuleManager = ModuleManager::create(::comphelper::getProcessComponentContext());
     if ( !xCurrentFrame.is() )
     {
-        Reference< XDesktop > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
-            DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
-        if ( xDesktop.is() )
-            xCurrentFrame = xDesktop->getCurrentFrame();
+        Reference< XDesktop2 > xDesktop = Desktop::create( ::comphelper::getProcessComponentContext() );
+        xCurrentFrame = xDesktop->getCurrentFrame();
     }
 
     if ( xCurrentFrame.is() )
@@ -1599,7 +1597,7 @@ void OfaTreeOptionsDialog::Initialize( const Reference< XFrame >& _xFrame )
 
 
     rtl::OUString aFactory = getCurrentFactory_Impl( _xFrame );
-    rtl::OUString sTemp = GetModuleIdentifier( comphelper::getProcessServiceFactory(), _xFrame );
+    rtl::OUString sTemp = GetModuleIdentifier( _xFrame );
     DBG_ASSERT( sTemp == aFactory, "S H I T!!!" );
 
     // Writer and Writer/Web options
@@ -1927,8 +1925,7 @@ void OfaTreeOptionsDialog::LoadExtensionOptions( const rtl::OUString& rExtension
     // when called by Tools - Options then load nodes of active module
     if ( rExtensionId.isEmpty() )
     {
-        Reference< XMultiServiceFactory > xMSFac = comphelper::getProcessServiceFactory();
-        pModule = LoadModule( GetModuleIdentifier( xMSFac, Reference< XFrame >() ) );
+        pModule = LoadModule( GetModuleIdentifier( Reference< XFrame >() ) );
     }
 
     VectorOfNodes aNodeList = LoadNodes( pModule, rExtensionId );
@@ -1937,19 +1934,17 @@ void OfaTreeOptionsDialog::LoadExtensionOptions( const rtl::OUString& rExtension
     delete pModule;
 }
 
-rtl::OUString OfaTreeOptionsDialog::GetModuleIdentifier(
-    const Reference< XMultiServiceFactory >& xMFac, const Reference< XFrame >& rFrame )
+rtl::OUString OfaTreeOptionsDialog::GetModuleIdentifier( const Reference< XFrame >& rFrame )
 {
     rtl::OUString sModule;
     Reference < XFrame > xCurrentFrame( rFrame );
-    Reference < XModuleManager2 > xModuleManager( ModuleManager::create(comphelper::getComponentContext(xMFac)) );
+    Reference< XComponentContext > xContext = comphelper::getProcessComponentContext();
+    Reference < XModuleManager2 > xModuleManager = ModuleManager::create(xContext);
 
     if ( !xCurrentFrame.is() )
     {
-        Reference < XDesktop > xDesktop( xMFac->createInstance(
-            "com.sun.star.frame.Desktop" ), UNO_QUERY );
-        if ( xDesktop.is() )
-            xCurrentFrame = xDesktop->getCurrentFrame();
+        Reference < XDesktop2 > xDesktop = Desktop::create( xContext );
+        xCurrentFrame = xDesktop->getCurrentFrame();
     }
 
     if ( xCurrentFrame.is() )
diff --git a/dbaccess/inc/dataview.hxx b/dbaccess/inc/dataview.hxx
index 11e7fc0..70fcf03 100644
--- a/dbaccess/inc/dataview.hxx
+++ b/dbaccess/inc/dataview.hxx
@@ -21,7 +21,7 @@
 
 #include "dbaccessdllapi.h"
 
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
 #include <svtools/acceleratorexecute.hxx>
 #include <sal/macros.h>
 #include <vcl/fixed.hxx>
@@ -34,7 +34,7 @@ namespace dbaui
     class IController;
     class DBACCESS_DLLPUBLIC ODataView :    public Window
     {
-        ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >    m_xServiceFactory;  // the service factory to work with
+        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >    m_xContext;  // the service factory to work with
 
     protected:
         IController&        m_rController;  // the controller in where we resides in
@@ -44,7 +44,7 @@ namespace dbaui
     public:
         ODataView(  Window* pParent,
                     IController& _rController,
-                    const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ,
+                    const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& ,
                     WinBits nStyle = 0 );
         virtual ~ODataView();
 
@@ -63,7 +63,7 @@ namespace dbaui
         */
         virtual void resizeControls(const Size& /*_rDiff*/) { Resize(); }
 
-        ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() { return m_xServiceFactory;}
+        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getORB() { return m_xContext;}
 
         // the default implementation simply calls resizeAll( GetSizePixel() )
         virtual void Resize();
diff --git a/dbaccess/qa/extras/macros-test.cxx b/dbaccess/qa/extras/macros-test.cxx
index 4be3e65..b3f30b9 100644
--- a/dbaccess/qa/extras/macros-test.cxx
+++ b/dbaccess/qa/extras/macros-test.cxx
@@ -33,6 +33,7 @@
 #include <unotest/macros_test.hxx>
 #include <rtl/strbuf.hxx>
 #include <osl/file.hxx>
+#include <com/sun/star/frame/Desktop.hpp>
 
 #include <sfx2/app.hxx>
 #include <sfx2/docfilt.hxx>
@@ -99,9 +100,7 @@ void DBAccessTest::setUp()
 
     // This is a bit of a fudge, we do this to ensure that ScGlobals::ensure,
     // which is a private symbol to us, gets called
-    mxDesktop = Reference<com::sun::star::frame::XDesktop>( getMultiServiceFactory()->createInstance(
-                rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
-    CPPUNIT_ASSERT(mxDesktop.is());
+    mxDesktop = com::sun::star::frame::Desktop::create( comphelper::getComponentContext(getMultiServiceFactory()) );
 }
 
 void DBAccessTest::tearDown()
diff --git a/dbaccess/source/core/dataaccess/databasecontext.cxx b/dbaccess/source/core/dataaccess/databasecontext.cxx
index c4c625f..b5372d4 100644
--- a/dbaccess/source/core/dataaccess/databasecontext.cxx
+++ b/dbaccess/source/core/dataaccess/databasecontext.cxx
@@ -34,7 +34,7 @@
 #include <com/sun/star/document/MacroExecMode.hpp>
 #include <com/sun/star/document/XFilter.hpp>
 #include <com/sun/star/document/XImporter.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/frame/XModel2.hpp>
 #include <com/sun/star/frame/XTerminateListener.hpp>
@@ -97,11 +97,11 @@ namespace dbaccess
         class DatabaseDocumentLoader : public DatabaseDocumentLoader_Base
         {
         private:
-            Reference< XDesktop >               m_xDesktop;
+            Reference< XDesktop2 >               m_xDesktop;
             ::std::list< const ODatabaseModelImpl* >  m_aDatabaseDocuments;
 
         public:
-            DatabaseDocumentLoader( const comphelper::ComponentContext& _aContext);
+            DatabaseDocumentLoader( const Reference<XComponentContext> & rxContext);
 
             inline void append(const ODatabaseModelImpl& _rModelImpl )
             {
@@ -117,12 +117,12 @@ namespace dbaccess
             virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException);
         };
 
-        DatabaseDocumentLoader::DatabaseDocumentLoader( const comphelper::ComponentContext& _aContext )
+        DatabaseDocumentLoader::DatabaseDocumentLoader( const Reference<XComponentContext> & rxContext )
         {
             acquire();
             try
             {
-                m_xDesktop.set( _aContext.createComponent( (rtl::OUString)SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
+                m_xDesktop.set( Desktop::create(rxContext) );
                 m_xDesktop->addTerminateListener( this );
             }
             catch( const Exception& )
@@ -173,7 +173,7 @@ ODatabaseContext::ODatabaseContext( const Reference< XComponentContext >& _rxCon
     ,m_aContext( _rxContext )
     ,m_aContainerListeners(m_aMutex)
 {
-    m_pDatabaseDocumentLoader = new DatabaseDocumentLoader( m_aContext );
+    m_pDatabaseDocumentLoader = new DatabaseDocumentLoader( _rxContext );
 
 #ifndef DISABLE_SCRIPTING
     ::basic::BasicManagerRepository::registerCreationListener( *this );
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index ece5bc4..e3c799d 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -38,6 +38,7 @@
 #include <com/sun/star/embed/XEmbedPersist.hpp>
 #include <com/sun/star/embed/XTransactedObject.hpp>
 #include <com/sun/star/embed/XTransactionBroadcaster.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/ModuleManager.hpp>
 #include <com/sun/star/io/XActiveDataSource.hpp>
 #include <com/sun/star/io/XSeekable.hpp>
@@ -2061,10 +2062,8 @@ Reference< XTitle > ODatabaseDocument::impl_getTitleHelper_throw()
 {
     if ( ! m_xTitleHelper.is ())
     {
-        Reference< XUntitledNumbers > xDesktop(
-            m_pImpl->m_aContext.createComponent( "com.sun.star.frame.Desktop" ),
-            UNO_QUERY_THROW );
-        uno::Reference< frame::XModel > xThis   (getThis(), uno::UNO_QUERY_THROW);
+        Reference< XUntitledNumbers >  xDesktop(Desktop::create(m_pImpl->m_aContext.getUNOContext()), uno::UNO_QUERY_THROW);
+        Reference< frame::XModel >     xThis   (getThis(), uno::UNO_QUERY_THROW);
 
         ::framework::TitleHelper* pHelper = new ::framework::TitleHelper(m_pImpl->m_aContext.getUNOContext());
         m_xTitleHelper.set(static_cast< ::cppu::OWeakObject* >(pHelper), uno::UNO_QUERY_THROW);
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.cxx b/dbaccess/source/core/dataaccess/documentdefinition.cxx
index d3e660e..d0fd4dc 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.cxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.cxx
@@ -34,6 +34,7 @@
 #include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <com/sun/star/beans/PropertyAttribute.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XModel.hpp>
 #include <com/sun/star/frame/XTitle.hpp>
 #include <com/sun/star/frame/XController.hpp>
@@ -603,9 +604,9 @@ namespace
     }
 }
 
-void ODocumentDefinition::impl_removeFrameFromDesktop_throw( const ::comphelper::ComponentContext& _rContxt, const Reference< XFrame >& _rxFrame )
+void ODocumentDefinition::impl_removeFrameFromDesktop_throw( const Reference<XComponentContext> & _rxContext, const Reference< XFrame >& _rxFrame )
 {
-    Reference< XFramesSupplier > xDesktop( _rContxt.createComponent( (::rtl::OUString)SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
+    Reference< XDesktop2 > xDesktop = Desktop::create( _rxContext );
     Reference< XFrames > xFrames( xDesktop->getFrames(), UNO_QUERY_THROW );
     xFrames->remove( _rxFrame );
 }
@@ -630,7 +631,7 @@ void ODocumentDefinition::impl_onActivateEmbeddedObject_nothrow( const bool i_bR
         xTopWindow->toFront();
 
         // remove the frame from the desktop's frame collection because we need full control of it.
-        impl_removeFrameFromDesktop_throw( m_aContext, xFrame );
+        impl_removeFrameFromDesktop_throw( m_aContext.getUNOContext(), xFrame );
 
         // ensure that we ourself are kept alive as long as the embedded object's frame is
         // opened
@@ -1560,16 +1561,13 @@ Sequence< PropertyValue > ODocumentDefinition::fillLoadArgs( const Reference< XC
         xParentFrame = lcl_getDatabaseDocumentFrame( *m_pImpl->m_pDataSource );
     if ( !xParentFrame.is() )
     { // i87957 we need a parent frame
-        Reference< XComponentLoader > xDesktop( m_aContext.createComponent( (::rtl::OUString)SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
-        xParentFrame.set( xDesktop, UNO_QUERY );
-        if ( xParentFrame.is() )
+        Reference< XDesktop2 > xDesktop = Desktop::create( m_aContext.getUNOContext() );
+        xParentFrame.set( xDesktop, UNO_QUERY_THROW );
+        Reference<util::XCloseable> xCloseable(m_pImpl->m_pDataSource->getModel_noCreate(),UNO_QUERY);
+        if ( xCloseable.is() )
         {
-            Reference<util::XCloseable> xCloseable(m_pImpl->m_pDataSource->getModel_noCreate(),UNO_QUERY);
-            if ( xCloseable.is() )
-            {
-                xCloseable->addCloseListener(this);
-                m_bRemoveListener = sal_True;
-            }
+            xCloseable->addCloseListener(this);
+            m_bRemoveListener = sal_True;
         }
     }
     OSL_ENSURE( xParentFrame.is(), "ODocumentDefinition::fillLoadArgs: no parent frame!" );
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.hxx b/dbaccess/source/core/dataaccess/documentdefinition.hxx
index 7b42603..553a61f 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.hxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.hxx
@@ -214,7 +214,7 @@ private:
         @raises ::com::sun::star::uno::RuntimeException
     */
     static void impl_removeFrameFromDesktop_throw(
-                    const ::comphelper::ComponentContext& _rContxt,
+                    const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rContxt,
                     const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame
                 );
 
diff --git a/dbaccess/source/filter/xml/dbloader2.cxx b/dbaccess/source/filter/xml/dbloader2.cxx
index e75835c..a7c4833 100644
--- a/dbaccess/source/filter/xml/dbloader2.cxx
+++ b/dbaccess/source/filter/xml/dbloader2.cxx
@@ -28,6 +28,7 @@
 #include <com/sun/star/document/XFilter.hpp>
 #include <com/sun/star/embed/ElementModes.hpp>
 #include <com/sun/star/embed/XStorage.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XController.hpp>
 #include <com/sun/star/frame/XFrame.hpp>
 #include <com/sun/star/frame/XFrameLoader.hpp>
@@ -343,24 +344,21 @@ namespace
     }
 
     // ...................................................................
-    Reference< XWindow > lcl_getTopMostWindow( const ::comphelper::ComponentContext& _rContext )
+    Reference< XWindow > lcl_getTopMostWindow( const Reference<XComponentContext> & _rxContext )
     {
         Reference< XWindow > xWindow;
         // get the top most window
-        Reference < XFramesSupplier > xDesktop;
-        if ( _rContext.createComponent( "com.sun.star.frame.Desktop", xDesktop ) )
+        Reference < XDesktop2 > xDesktop = Desktop::create(_rxContext);
+        Reference < XFrame > xActiveFrame = xDesktop->getActiveFrame();
+        if ( xActiveFrame.is() )
         {
-            Reference < XFrame > xActiveFrame = xDesktop->getActiveFrame();
-            if ( xActiveFrame.is() )
-            {
-                xWindow = xActiveFrame->getContainerWindow();
-                Reference<XFrame> xFrame = xActiveFrame;
-                while ( xFrame.is() && !xFrame->isTop() )
-                    xFrame.set(xFrame->getCreator(),UNO_QUERY);
+            xWindow = xActiveFrame->getContainerWindow();
+            Reference<XFrame> xFrame = xActiveFrame;
+            while ( xFrame.is() && !xFrame->isTop() )
+                xFrame.set(xFrame->getCreator(),UNO_QUERY);
 
-                if ( xFrame.is() )
-                    xWindow = xFrame->getContainerWindow();
-            }
+            if ( xFrame.is() )
+                xWindow = xFrame->getContainerWindow();
         }
         return xWindow;
     }
@@ -373,7 +371,7 @@ sal_Bool DBContentLoader::impl_executeNewDatabaseWizard( Reference< XModel >& _r
     aWizardArgs[0] <<= PropertyValue(
                     ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParentWindow")),
                     0,
-                    makeAny( lcl_getTopMostWindow( m_aContext ) ),
+                    makeAny( lcl_getTopMostWindow( m_aContext.getUNOContext() ) ),
                     PropertyState_DIRECT_VALUE);
 
     aWizardArgs[1] <<= PropertyValue(
diff --git a/dbaccess/source/filter/xml/xmlfilter.cxx b/dbaccess/source/filter/xml/xmlfilter.cxx
index 990e5ae..8ad6780 100644
--- a/dbaccess/source/filter/xml/xmlfilter.cxx
+++ b/dbaccess/source/filter/xml/xmlfilter.cxx
@@ -46,6 +46,7 @@
 #include <xmloff/xmluconv.hxx>
 #include "xmlHelper.hxx"
 #include <com/sun/star/util/XModifiable.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
@@ -124,13 +125,11 @@ namespace dbaxml
                     s_bFirstTime = false;
                     try
                     {
-                        uno::Reference<frame::XComponentLoader> xFrameLoad( m_xFactory->createInstance(
-                                                                    ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop")))
-                                                                    ,uno::UNO_QUERY);
+                        uno::Reference<frame::XDesktop2> xDesktop = frame::Desktop::create( comphelper::getComponentContext(m_xFactory) );
                         const ::rtl::OUString sTarget(RTL_CONSTASCII_USTRINGPARAM("_blank"));
                         sal_Int32 nFrameSearchFlag = frame::FrameSearchFlag::TASKS | frame::FrameSearchFlag::CREATE;
-                        uno::Reference< frame::XFrame> xFrame = uno::Reference< frame::XFrame>(xFrameLoad,uno::UNO_QUERY_THROW)->findFrame(sTarget,nFrameSearchFlag);
-                        xFrameLoad.set( xFrame,uno::UNO_QUERY);
+                        uno::Reference< frame::XFrame> xFrame = xDesktop->findFrame(sTarget,nFrameSearchFlag);
+                        uno::Reference<frame::XComponentLoader> xFrameLoad(xFrame,uno::UNO_QUERY);
 
                         if ( xFrameLoad.is() )
                         {
diff --git a/dbaccess/source/inc/stringconstants.inc b/dbaccess/source/inc/stringconstants.inc
index 390d92d..50be6ec 100644
--- a/dbaccess/source/inc/stringconstants.inc
+++ b/dbaccess/source/inc/stringconstants.inc
@@ -208,7 +208,6 @@ IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_TABLES, "com.sun.star.sdbcx.Tables");
 IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_QUERIES, "com.sun.star.sdb.Queries");
 IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_INDEXCOLUMN, "com.sun.star.sdbcx.IndexColumn");
 IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDBCX_KEYCOLUMN, "com.sun.star.sdbcx.KeyColumn");
-IMPLEMENT_CONSTASCII_USTRING(SERVICE_FRAME_DESKTOP, "com.sun.star.frame.Desktop");
 IMPLEMENT_CONSTASCII_USTRING(SERVICE_I18N_COLLATOR, "com.sun.star.i18n.Collator");
 IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_TABLEDEFINITION, "com.sun.star.sdb.TableDefinition");
 IMPLEMENT_CONSTASCII_USTRING(SERVICE_SDB_COMMAND_DEFINITION,	"com.sun.star.sdb.CommandDefinition");
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx
index e3e5137..4336680 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -444,7 +444,7 @@ void SAL_CALL OApplicationController::disposing()
 //--------------------------------------------------------------------
 sal_Bool OApplicationController::Construct(Window* _pParent)
 {
-    setView( * new OApplicationView( _pParent, getORB(), *this, m_ePreviewMode ) );
+    setView( * new OApplicationView( _pParent, comphelper::getComponentContext(getORB()), *this, m_ePreviewMode ) );
     getView()->SetUniqueId(UID_APP_VIEW);
 
     // late construction
diff --git a/dbaccess/source/ui/app/AppDetailPageHelper.cxx b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
index e4e41dd..a053679 100644
--- a/dbaccess/source/ui/app/AppDetailPageHelper.cxx
+++ b/dbaccess/source/ui/app/AppDetailPageHelper.cxx
@@ -604,7 +604,7 @@ void OAppDetailPageHelper::createTablesPage(const Reference< XConnection>& _xCon
     if ( !m_pLists[E_TABLE] )
     {
         OTableTreeListBox* pTreeView = new OTableTreeListBox(this
-                                                            ,getBorderWin().getView()->getORB()
+                                                            ,uno::Reference<lang::XMultiServiceFactory>(getBorderWin().getView()->getORB()->getServiceManager(), uno::UNO_QUERY_THROW)
                                                             ,WB_HASLINES | WB_SORT | WB_HASBUTTONS | WB_HSCROLL |WB_HASBUTTONSATROOT | WB_TABSTOP
                                                             ,sal_False);
         pTreeView->SetHelpId(HID_APP_TABLE_TREE);
@@ -776,7 +776,9 @@ void OAppDetailPageHelper::fillNames( const Reference< XNameAccess >& _xContaine
 // -----------------------------------------------------------------------------
 DBTreeListBox* OAppDetailPageHelper::createSimpleTree( const rtl::OString& _sHelpId, const Image& _rImage)
 {
-    DBTreeListBox* pTreeView = new DBTreeListBox(this,getBorderWin().getView()->getORB(),WB_HASLINES | WB_SORT | WB_HASBUTTONS | WB_HSCROLL |WB_HASBUTTONSATROOT | WB_TABSTOP);
+    DBTreeListBox* pTreeView = new DBTreeListBox(this,
+                       uno::Reference<lang::XMultiServiceFactory>(getBorderWin().getView()->getORB()->getServiceManager(), uno::UNO_QUERY_THROW),
+                       WB_HASLINES | WB_SORT | WB_HASBUTTONS | WB_HSCROLL |WB_HASBUTTONSATROOT | WB_TABSTOP);
     pTreeView->SetHelpId( _sHelpId );
     return createTree( pTreeView, _rImage );
 }
@@ -1142,7 +1144,7 @@ void OAppDetailPageHelper::showPreview( const ::rtl::OUString& _sDataSourceName,
         {
             try
             {
-                m_xFrame = Reference < XFrame > ( getBorderWin().getView()->getORB()->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Frame")) ), UNO_QUERY );
+                m_xFrame = Reference < XFrame > ( getBorderWin().getView()->getORB()->getServiceManager()->createInstanceWithContext( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Frame")), getBorderWin().getView()->getORB() ), UNO_QUERY );
                 m_xFrame->initialize( m_xWindow );
 
                 // no layout manager (and thus no toolbars) in the preview
@@ -1166,7 +1168,8 @@ void OAppDetailPageHelper::showPreview( const ::rtl::OUString& _sDataSourceName,
         Reference< XDatabaseDocumentUI > xApplication( getBorderWin().getView()->getAppController().getXController(), UNO_QUERY );
         SAL_WNODEPRECATED_DECLARATIONS_PUSH
         ::std::auto_ptr< DatabaseObjectView > pDispatcher( new ResultSetBrowser(
-            getBorderWin().getView()->getORB(), xApplication, NULL, _bTable
+            uno::Reference<lang::XMultiServiceFactory>(getBorderWin().getView()->getORB()->getServiceManager(), uno::UNO_QUERY_THROW),
+            xApplication, NULL, _bTable
         ) );
         SAL_WNODEPRECATED_DECLARATIONS_POP
         pDispatcher->setTargetFrame( m_xFrame );
diff --git a/dbaccess/source/ui/app/AppDetailView.cxx b/dbaccess/source/ui/app/AppDetailView.cxx
index cb26fab..d33d0e7 100644
--- a/dbaccess/source/ui/app/AppDetailView.cxx
+++ b/dbaccess/source/ui/app/AppDetailView.cxx
@@ -477,8 +477,8 @@ void OTasksWindow::fillTaskEntryList( const TaskEntryList& _rList )
 
     try
     {
-        Reference< XModuleUIConfigurationManagerSupplier > xModuleCfgMgrSupplier(
-            ModuleUIConfigurationManagerSupplier::create(comphelper::getComponentContext(getDetailView()->getBorderWin().getView()->getORB())) );
+        Reference< XModuleUIConfigurationManagerSupplier > xModuleCfgMgrSupplier =
+            ModuleUIConfigurationManagerSupplier::create( getDetailView()->getBorderWin().getView()->getORB() );
         Reference< XUIConfigurationManager > xUIConfigMgr = xModuleCfgMgrSupplier->getUIConfigurationManager(
             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sdb.OfficeDatabaseDocument" ) )
         );
diff --git a/dbaccess/source/ui/app/AppView.cxx b/dbaccess/source/ui/app/AppView.cxx
index a57b03d..1402466 100644
--- a/dbaccess/source/ui/app/AppView.cxx
+++ b/dbaccess/source/ui/app/AppView.cxx
@@ -200,7 +200,7 @@ OApplicationDetailView* OAppBorderWindow::getDetailView() const
 DBG_NAME(OApplicationView);
 //------------------------------------------------------------------------------
 OApplicationView::OApplicationView( Window* pParent
-                                    ,const Reference< XMultiServiceFactory >& _rxOrb
+                                    ,const Reference< XComponentContext >& _rxOrb
                                     ,IApplicationController& _rAppController
                                     ,PreviewMode _ePreviewMode
                                    ) :
diff --git a/dbaccess/source/ui/app/AppView.hxx b/dbaccess/source/ui/app/AppView.hxx
index ab2c3ff..9c9cddf 100644
--- a/dbaccess/source/ui/app/AppView.hxx
+++ b/dbaccess/source/ui/app/AppView.hxx
@@ -101,7 +101,7 @@ namespace dbaui
         virtual void DataChanged( const DataChangedEvent& rDCEvt );
     public:
         OApplicationView(   Window* pParent
-                            ,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&
+                            ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&
                             ,IApplicationController&            _rAppController
                             ,PreviewMode _ePreviewMode
                             );
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index fc7237e..13b5960 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -849,7 +849,7 @@ sal_Bool SbaXDataBrowserController::Construct(Window* pParent)
 
     // ---------------
     // create the view
-    setView( * new UnoDataBrowserView( pParent, *this, getORB() ) );
+    setView( * new UnoDataBrowserView( pParent, *this, comphelper::getComponentContext(getORB()) ) );
     if (!getBrowserView())
         return sal_False;
 
diff --git a/dbaccess/source/ui/browser/brwview.cxx b/dbaccess/source/ui/browser/brwview.cxx
index 168a494..c29ea1d 100644
--- a/dbaccess/source/ui/browser/brwview.cxx
+++ b/dbaccess/source/ui/browser/brwview.cxx
@@ -72,8 +72,8 @@ DBG_NAME(UnoDataBrowserView)
 // -------------------------------------------------------------------------
 UnoDataBrowserView::UnoDataBrowserView( Window* pParent,
                                         IController& _rController,
-                                        const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rFactory)
-    :ODataView(pParent,_rController,_rFactory)
+                                        const Reference< ::com::sun::star::uno::XComponentContext >& _rxContext)
+    :ODataView(pParent,_rController,_rxContext)
     ,m_pTreeView(NULL)
     ,m_pSplitter(NULL)
     ,m_pVclControl(NULL)
@@ -93,7 +93,7 @@ void UnoDataBrowserView::Construct(const Reference< ::com::sun::star::awt::XCont
         m_xMe = VCLUnoHelper::CreateControlContainer(this);
 
         // create the (UNO-) control
-        m_xGrid = new SbaXGridControl(getORB());
+        m_xGrid = new SbaXGridControl(Reference<XMultiServiceFactory>(getORB()->getServiceManager(), UNO_QUERY_THROW) );
         OSL_ENSURE(m_xGrid.is(), "UnoDataBrowserView::Construct : could not create a grid control !");
         // in design mode (for the moment)
         m_xGrid->setDesignMode(sal_True);
diff --git a/dbaccess/source/ui/browser/dataview.cxx b/dbaccess/source/ui/browser/dataview.cxx
index 923b9d1..b9c5f81 100644
--- a/dbaccess/source/ui/browser/dataview.cxx
+++ b/dbaccess/source/ui/browser/dataview.cxx
@@ -67,10 +67,10 @@ namespace dbaui
     // -------------------------------------------------------------------------
     ODataView::ODataView(   Window* pParent,
                             IController& _rController,
-                            const Reference< XMultiServiceFactory >& _rFactory,
+                            const Reference< XComponentContext >& _rxContext,
                             WinBits nStyle)
         :Window(pParent,nStyle)
-        ,m_xServiceFactory(_rFactory)
+        ,m_xContext(_rxContext)
         ,m_rController( _rController )
         ,m_aSeparator( this )
     {
@@ -205,7 +205,7 @@ namespace dbaui
     // -----------------------------------------------------------------------------
     void ODataView::attachFrame(const Reference< XFrame >& _xFrame)
     {
-        m_pAccel->init(m_xServiceFactory,_xFrame);
+        m_pAccel->init(m_xContext, _xFrame);
     }
 //.........................................................................
 }
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index a3f7a48..8d123a6 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -56,6 +56,7 @@
 #include <com/sun/star/form/XGridColumnFactory.hpp>
 #include <com/sun/star/form/XLoadable.hpp>
 #include <com/sun/star/form/XReset.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <com/sun/star/frame/XLayoutManager.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
@@ -3515,41 +3516,38 @@ void SbaTableQueryBrowser::implAdministrate( SvTreeListEntry* _pApplyTo )
     {
         // get the desktop object
         sal_Int32 nFrameSearchFlag = FrameSearchFlag::ALL | FrameSearchFlag::GLOBAL ;
-        Reference< XComponentLoader > xFrameLoader(getORB()->createInstance(SERVICE_FRAME_DESKTOP),UNO_QUERY);
+        Reference< XDesktop2 > xFrameLoader = Desktop::create( comphelper::getComponentContext(getORB()) );
 
-        if ( xFrameLoader.is() )
+        // the initial selection
+        SvTreeListEntry* pTopLevelSelected = _pApplyTo;
+        while (pTopLevelSelected && m_pTreeView->getListBox().GetParent(pTopLevelSelected))
+            pTopLevelSelected = m_pTreeView->getListBox().GetParent(pTopLevelSelected);
+        ::rtl::OUString sInitialSelection;
+        if (pTopLevelSelected)
+            sInitialSelection = getDataSourceAcessor( pTopLevelSelected );
+
+        Reference< XDataSource > xDataSource( getDataSourceByName( sInitialSelection, getView(), comphelper::getComponentContext(getORB()), NULL ) );
+        Reference< XModel > xDocumentModel( getDataSourceOrModel( xDataSource ), UNO_QUERY );
+
+        if ( xDocumentModel.is() )
         {
-            // the initial selection
-            SvTreeListEntry* pTopLevelSelected = _pApplyTo;
-            while (pTopLevelSelected && m_pTreeView->getListBox().GetParent(pTopLevelSelected))
-                pTopLevelSelected = m_pTreeView->getListBox().GetParent(pTopLevelSelected);
-            ::rtl::OUString sInitialSelection;
-            if (pTopLevelSelected)
-                sInitialSelection = getDataSourceAcessor( pTopLevelSelected );
+            Reference< XInteractionHandler2 > xInteractionHandler(
+                InteractionHandler::createWithParent(comphelper::getComponentContext(getORB()), 0) );
 
-            Reference< XDataSource > xDataSource( getDataSourceByName( sInitialSelection, getView(), comphelper::getComponentContext(getORB()), NULL ) );
-            Reference< XModel > xDocumentModel( getDataSourceOrModel( xDataSource ), UNO_QUERY );
+            ::comphelper::NamedValueCollection aLoadArgs;
+            aLoadArgs.put( "Model", xDocumentModel );
+            aLoadArgs.put( "InteractionHandler", xInteractionHandler );
+            aLoadArgs.put( "MacroExecutionMode", MacroExecMode::USE_CONFIG );
 
-            if ( xDocumentModel.is() )
-            {
-                Reference< XInteractionHandler2 > xInteractionHandler(
-                    InteractionHandler::createWithParent(comphelper::getComponentContext(getORB()), 0) );
-
-                ::comphelper::NamedValueCollection aLoadArgs;
-                aLoadArgs.put( "Model", xDocumentModel );
-                aLoadArgs.put( "InteractionHandler", xInteractionHandler );
-                aLoadArgs.put( "MacroExecutionMode", MacroExecMode::USE_CONFIG );
-
-                Sequence< PropertyValue > aLoadArgPV;
-                aLoadArgs >>= aLoadArgPV;
-
-                xFrameLoader->loadComponentFromURL(
-                    xDocumentModel->getURL(),
-                    ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_default")),
-                    nFrameSearchFlag,
-                    aLoadArgPV
-                );
-            }
+            Sequence< PropertyValue > aLoadArgPV;
+            aLoadArgs >>= aLoadArgPV;
+
+            xFrameLoader->loadComponentFromURL(
+                xDocumentModel->getURL(),
+                ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_default")),
+                nFrameSearchFlag,
+                aLoadArgPV
+            );
         }
     }
     catch( const Exception& )
diff --git a/dbaccess/source/ui/dlg/dbwizsetup.cxx b/dbaccess/source/ui/dlg/dbwizsetup.cxx
index 55690f9..2ea3cd0 100644
--- a/dbaccess/source/ui/dlg/dbwizsetup.cxx
+++ b/dbaccess/source/ui/dlg/dbwizsetup.cxx
@@ -55,6 +55,7 @@
 #include <com/sun/star/container/XNameAccess.hpp>
 #include <com/sun/star/sdb/DatabaseContext.hpp>
 #include <com/sun/star/sdb/XDocumentDataSource.hpp>
+#include <com/sun/star/frame/Desktop.hpp>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <com/sun/star/frame/XComponentLoader.hpp>
 #include <com/sun/star/frame/XModel.hpp>
@@ -65,7 +66,6 @@
 #include <com/sun/star/ucb/InteractiveIOException.hpp>
 #include <com/sun/star/io/IOException.hpp>
 #include <com/sun/star/frame/XTerminateListener.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
 #include <com/sun/star/sdbc/XDriverAccess.hpp>
 #include <com/sun/star/document/MacroExecMode.hpp>
 #include <com/sun/star/ucb/IOErrorCode.hpp>
@@ -963,7 +963,7 @@ sal_Bool ODbTypeWizDialogSetup::SaveDatabaseDocument()
         {
         private:
             Reference< XComponentLoader >       m_xFrameLoader;
-            Reference< XDesktop >               m_xDesktop;
+            Reference< XDesktop2 >              m_xDesktop;
             Reference< XInteractionHandler2 >   m_xInteractionHandler;
             ::rtl::OUString                     m_sURL;
             OAsyncronousLink                    m_aAsyncCaller;
@@ -990,7 +990,7 @@ sal_Bool ODbTypeWizDialogSetup::SaveDatabaseDocument()
         {
             try
             {
-                m_xDesktop.set( _rxORB->createInstance( SERVICE_FRAME_DESKTOP ), UNO_QUERY_THROW );
+                m_xDesktop.set( Desktop::create(comphelper::getComponentContext(_rxORB)) );
                 m_xFrameLoader.set( m_xDesktop, UNO_QUERY_THROW );
                 m_xInteractionHandler =
                     InteractionHandler::createWithParent(comphelper::getComponentContext(_rxORB), 0);
diff --git a/dbaccess/source/ui/inc/JoinDesignView.hxx b/dbaccess/source/ui/inc/JoinDesignView.hxx
index e0e9321..d21f722 100644
--- a/dbaccess/source/ui/inc/JoinDesignView.hxx
+++ b/dbaccess/source/ui/inc/JoinDesignView.hxx
@@ -45,7 +45,7 @@ namespace dbaui
     public:
         OJoinDesignView(Window* pParent,
                         OJoinController& _rController,
-                        const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+                        const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
         virtual ~OJoinDesignView();
 
         // set the view readonly or not
diff --git a/dbaccess/source/ui/inc/QueryDesignView.hxx b/dbaccess/source/ui/inc/QueryDesignView.hxx
index 07a55ce..ff95e71 100644
--- a/dbaccess/source/ui/inc/QueryDesignView.hxx
+++ b/dbaccess/source/ui/inc/QueryDesignView.hxx
@@ -75,7 +75,7 @@ namespace dbaui
         sal_Bool                            m_bInSplitHandler;
 
     public:
-        OQueryDesignView(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+        OQueryDesignView(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
         virtual ~OQueryDesignView();
 
         virtual sal_Bool isCutAllowed();
diff --git a/dbaccess/source/ui/inc/QueryViewSwitch.hxx b/dbaccess/source/ui/inc/QueryViewSwitch.hxx
index 9fab832..c8fc080 100644
--- a/dbaccess/source/ui/inc/QueryViewSwitch.hxx
+++ b/dbaccess/source/ui/inc/QueryViewSwitch.hxx
@@ -38,7 +38,7 @@ namespace dbaui
         OQueryTextView*     m_pTextView;
         sal_Bool            m_bAddTableDialogWasVisible; // true if so
     public:
-        OQueryViewSwitch(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+        OQueryViewSwitch(OQueryContainerWindow* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
         virtual ~OQueryViewSwitch();
 
         virtual sal_Bool isCutAllowed();
@@ -82,7 +82,7 @@ namespace dbaui
         OQueryContainerWindow*  getContainer() const;
 
         void SetPosSizePixel( Point _rPt,Size _rSize);
-        ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() const;
+        ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getORB() const;
     protected:
         // return the Rectangle where I can paint myself
         virtual void resizeDocumentView(Rectangle& rRect);
diff --git a/dbaccess/source/ui/inc/RelationDesignView.hxx b/dbaccess/source/ui/inc/RelationDesignView.hxx
index 850effc..0d106bf 100644
--- a/dbaccess/source/ui/inc/RelationDesignView.hxx
+++ b/dbaccess/source/ui/inc/RelationDesignView.hxx
@@ -34,7 +34,7 @@ namespace dbaui
     class ORelationDesignView : public OJoinDesignView
     {
     public:
-        ORelationDesignView(Window* pParent, ORelationController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+        ORelationDesignView(Window* pParent, ORelationController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
         virtual ~ORelationDesignView();
 
         // set the statement for representation
diff --git a/dbaccess/source/ui/inc/TableDesignView.hxx b/dbaccess/source/ui/inc/TableDesignView.hxx
index 06a5f6f..79c6e42 100644
--- a/dbaccess/source/ui/inc/TableDesignView.hxx
+++ b/dbaccess/source/ui/inc/TableDesignView.hxx
@@ -77,7 +77,7 @@ namespace dbaui
 
     public:
         OTableDesignView(   Window* pParent,
-                            const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&,
+                            const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&,
                             OTableController& _rController);
         virtual ~OTableDesignView();
 
diff --git a/dbaccess/source/ui/inc/brwview.hxx b/dbaccess/source/ui/inc/brwview.hxx
index f5c39e7..049227c 100644
--- a/dbaccess/source/ui/inc/brwview.hxx
+++ b/dbaccess/source/ui/inc/brwview.hxx
@@ -62,7 +62,7 @@ namespace dbaui
     public:
         UnoDataBrowserView( Window* pParent,
                             IController& _rController,
-                            const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& );
+                            const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& );
         virtual ~UnoDataBrowserView();
 
         /// late construction
diff --git a/dbaccess/source/ui/inc/querycontainerwindow.hxx b/dbaccess/source/ui/inc/querycontainerwindow.hxx
index ff6d5ff..7301f09 100644
--- a/dbaccess/source/ui/inc/querycontainerwindow.hxx
+++ b/dbaccess/source/ui/inc/querycontainerwindow.hxx
@@ -54,7 +54,7 @@ namespace dbaui
 
         DECL_LINK( SplitHdl, void* );
     public:
-        OQueryContainerWindow(Window* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&);
+        OQueryContainerWindow(Window* pParent, OQueryController& _rController,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&);
         ~OQueryContainerWindow();
 
         virtual void Construct();
diff --git a/dbaccess/source/ui/inc/queryview.hxx b/dbaccess/source/ui/inc/queryview.hxx
index 5e93021..62a27a9 100644
--- a/dbaccess/source/ui/inc/queryview.hxx

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list