desktop/source/lib/init.cxx | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-)
New commits: commit a038fdfbb27c0918906b4ffb733e8395adeac340 Author: Henry Castro <hcas...@collabora.com> Date: Mon Sep 7 17:21:38 2015 -0400 desktop: add InitVCL to lo_initialize Change-Id: Ib5d4b5788441b92a30f58a129441ffeba076c181 diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 9e1f1b4..9c2fcfc 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -894,7 +894,7 @@ static void aBasicErrorFunc(const OUString& rError, const OUString& rAction) fprintf(stderr, "Unexpected basic error dialog '%s'\n", aBuffer.getStr()); } -static bool initialize_uno(const OUString& aAppProgramURL, bool bPreInit) +static bool initialize_uno(const OUString& aAppProgramURL) { #ifdef IOS // For iOS we already hardocde the inifile as "rc" in the .app directory. @@ -903,14 +903,8 @@ static bool initialize_uno(const OUString& aAppProgramURL, bool bPreInit) rtl::Bootstrap::setIniFilename(aAppProgramURL + "/" SAL_CONFIGFILE("soffice")); #endif - if (bPreInit) - { - // pre-load all component libraries. - cppu::preInitBootstrap(); - return true; - } - xContext = cppu::defaultBootstrap_InitialComponentContext(); + if (!xContext.is()) { gImpl->maLastExceptionMsg = "XComponentContext could not be created"; @@ -947,6 +941,8 @@ static bool initialize_uno(const OUString& aAppProgramURL, bool bPreInit) static void lo_startmain(void*) { + Application::GetSolarMutex().tryToAcquire(); + soffice_main(); } @@ -973,11 +969,6 @@ static void lo_status_indicator_callback(void *data, comphelper::LibreOfficeKit: } } -/// pre-load and parse all filter XML -static void forceLoadFilterXML() -{ -} - static int lo_initialize(LibreOfficeKit* pThis, const char* pAppPath, const char* pUserProfilePath) { enum { @@ -1034,12 +1025,9 @@ static int lo_initialize(LibreOfficeKit* pThis, const char* pAppPath, const char { SAL_INFO("lok", "Attempting to initalize UNO"); - if (!initialize_uno(aAppURL, (eStage == PRE_INIT))) + if (!initialize_uno(aAppURL)) return false; - if (eStage != PRE_INIT) - force_c_locale(); - // Force headless -- this is only for bitmap rendering. rtl::Bootstrap::set("SAL_USE_VCLPLUGIN", "svp"); @@ -1049,11 +1037,17 @@ static int lo_initialize(LibreOfficeKit* pThis, const char* pAppPath, const char desktop::Desktop::GetCommandLineArgs().setHeadless(); Application::EnableHeadlessMode(true); - } - if (eStage == PRE_INIT) - { - forceLoadFilterXML(); + if (eStage == PRE_INIT) + { + InitVCL(); + // pre-load all component libraries. + cppu::preInitBootstrap(xContext); + // Release Solar Mutex, lo_startmain thread should acquire it. + Application::ReleaseSolarMutex(); + } + + force_c_locale(); } // This is horrible crack. I really would want to go back to simply just call _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits