Hi there,

Linux desktop detection is broken due to the changes with the
DLLPOSTFIX:

1) SAL_DLLPOSTFIX as defined in
   
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/vcl/Library_vcl.mk?view=markup#l174
   -DSAL_DLLPOSTFIX=\"$(gb_Library_OOOEXT)\" expands to ".so" and breaks loading
   the desktop detector library
   
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/vcl/unx/generic/plugadapt/salplug.cxx?view=markup#l138
          OUStringBuffer aModName( 128 );
          aModName.appendAscii( SAL_DLLPREFIX"desktop_detector" );
          aModName.appendAscii( SAL_DLLPOSTFIX ); // .so
          aModName.appendAscii( SAL_DLLEXTENSION ); // .so
          OUString aModule = aModName.makeStringAndClear();
  the module name will result in libdesktop_detector.so.so

2) loading the detected vcl plugin is also broken:
   
http://svn.apache.org/viewvc/incubator/ooo/trunk/main/vcl/unx/generic/plugadapt/salplug.cxx?view=markup#l66
   the module name misses the SAL_DLLEXTENSION
          OUStringBuffer aModName( 128 );
          aModName.appendAscii( SAL_DLLPREFIX"vclplug_" );
          aModName.append( rModuleBase );
          aModName.appendAscii( SAL_DLLPOSTFIX );
          OUString aModule = aModName.makeStringAndClear();
   Loading worked by luck because SAL_DLLPOSTFIX was defined as ".so"

The attached patch solves the issue defining SAL_DLLPOSTFIX as an empty string,
and adding the extension to the vcl plugin module name.

Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 635e0b4..6e8f5b3 100755
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -171,7 +171,7 @@ ifeq ($(GUIBASE),unx)
 $(eval $(call gb_Library_set_defs,vcl,\
        $$(DEFS) \
     -DSAL_DLLPREFIX=\"$(gb_Library_SYSPRE)\" \
-    -DSAL_DLLPOSTFIX=\"$(gb_Library_OOOEXT)\" \
+    -DSAL_DLLPOSTFIX=\"\" \
     -D_XSALSET_LIBNAME=\"$(call gb_Library_get_runtime_filename,spa)\" \
 ))
 ## handle fontconfig
diff --git a/vcl/unx/generic/plugadapt/salplug.cxx 
b/vcl/unx/generic/plugadapt/salplug.cxx
index b85e4ac..d303485 100644
--- a/vcl/unx/generic/plugadapt/salplug.cxx
+++ b/vcl/unx/generic/plugadapt/salplug.cxx
@@ -67,6 +67,7 @@ static SalInstance* tryInstance( const OUString& rModuleBase )
     aModName.appendAscii( SAL_DLLPREFIX"vclplug_" );
     aModName.append( rModuleBase );
     aModName.appendAscii( SAL_DLLPOSTFIX );
+    aModName.appendAscii( SAL_DLLEXTENSION );
     OUString aModule = aModName.makeStringAndClear();
 
     oslModule aMod = osl_loadModuleRelative(

Attachment: pgpsaJ3rcSaRY.pgp
Description: PGP signature

Reply via email to