[Libreoffice-commits] online.git: Branch 'private/hcvcastro/forking' - loolwsd/LOOLBroker.cpp
Henry Castro
hcastro at collabora.com
Tue Aug 18 13:56:29 PDT 2015
loolwsd/LOOLBroker.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
New commits:
commit e070ffc8e45032f8e941ddf6ccc0b37bc201a44c
Author: Henry Castro <hcastro at collabora.com>
Date: Tue Aug 18 16:56:05 2015 -0400
loolwsd: add preinit parameters
diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index 21bed65..8930883 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -49,6 +49,8 @@
#define LIB_SWLO "lib" "swlo" ".so"
#define LIB_SDLO "lib" "sdlo" ".so"
+typedef int (LokHookPreInit) ( const char *install_path, const char *user_profile_path );
+
using Poco::Path;
using Poco::File;
using Poco::ThreadLocal;
@@ -223,6 +225,7 @@ static std::map<Poco::Process::PID, Poco::UInt64> _childProcesses;
static bool globalPreinit(const std::string &loSubPath)
{
void *handle;
+ LokHookPreInit* preInit;
std::string fname = "/" + loSubPath + "/program/" LIB_SOFFICEAPP;
handle = dlopen(fname.c_str(), RTLD_GLOBAL|RTLD_NOW);
@@ -232,17 +235,14 @@ static bool globalPreinit(const std::string &loSubPath)
return false;
}
- typedef int (*PreInitFn) (void);
- PreInitFn preInit;
-
- preInit = (PreInitFn)dlsym(handle, "lok_preinit");
+ preInit = (LokHookPreInit *)dlsym(handle, "lok_preinit");
if (!preInit)
{
std::cout << Util::logPrefix() << " Failed to find lok_preinit hook in library :" << LIB_SOFFICEAPP << std::endl;
return false;
}
- return preInit() == 0;
+ return preInit(("/" + loSubPath + "/program").c_str(), "file:///user") == 0;
}
static int createLibreOfficeKit(bool sharePages, std::string loSubPath, Poco::UInt64 childID)
More information about the Libreoffice-commits
mailing list