[Libreoffice-commits] online.git: loolwsd/LOOLBroker.cpp

Andras Timar andras.timar at collabora.com
Wed Jan 6 01:38:41 PST 2016


 loolwsd/LOOLBroker.cpp |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

New commits:
commit e41e25a18c6a971b5c3bd635acebecaeae049787
Author: Andras Timar <andras.timar at collabora.com>
Date:   Wed Jan 6 10:36:52 2016 +0100

    loolwsd: bccu#1397 fix dlopening LO in loolbroker in mergedlibs case

diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index 1ec6ea3..73075ac 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -43,6 +43,7 @@
 #include "LOOLKit.cpp"
 
 #define LIB_SOFFICEAPP  "lib" "sofficeapp" ".so"
+#define LIB_MERGED      "lib" "mergedlo" ".so"
 #define LIB_SCLO        "lib" "sclo" ".so"
 #define LIB_SWLO        "lib" "swlo" ".so"
 #define LIB_SDLO        "lib" "sdlo" ".so"
@@ -408,8 +409,14 @@ static bool globalPreinit(const std::string &loSubPath)
     handle = dlopen(fname.c_str(), RTLD_GLOBAL|RTLD_NOW);
     if (!handle)
     {
-        Log::warn("Failed to load " + std::string(LIB_SOFFICEAPP) + " library.");
-        return false;
+        Log::warn("Failed to load " + std::string(LIB_SOFFICEAPP) + " library. Trying " + std::string(LIB_MERGED));
+        fname = "/" + loSubPath + "/program/" LIB_MERGED;
+        handle = dlopen(fname.c_str(), RTLD_GLOBAL|RTLD_NOW);
+        if (!handle)
+        {
+            Log::warn("Failed to load " + std::string(LIB_MERGED) + " library.");
+            return false;
+        }
     }
 
     preInit = (LokHookPreInit *)dlsym(handle, "lok_preinit");


More information about the Libreoffice-commits mailing list