[Libreoffice-commits] core.git: include/vcl ucb/Library_ucpimage.mk winaccessibility/Library_uacccom.mk winaccessibility/Library_winaccessibility.mk

Stephan Bergmann sbergman at redhat.com
Fri Sep 22 11:38:55 UTC 2017


 include/vcl/svapp.hxx                        |    2 +-
 ucb/Library_ucpimage.mk                      |    1 +
 winaccessibility/Library_uacccom.mk          |    1 +
 winaccessibility/Library_winaccessibility.mk |    1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 6d1c8a43586503e703baebabc5330a1898f7ec43
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Sep 22 08:59:14 2017 +0200

    Avoid VCL_DLLPUBLIC SolarMutexGuard "taking over" template base class on MSVC
    
    ...and thus exporting osl::Guard<comphelper::SolarMutex> members from vcl.  With
    --disable-pch that caused linking Library_acc to fail with duplicate symbols, as
    accessibility/source/standard/vclxaccessiblebutton.cxx uses
    comphelper::OExternalLockGuard (include/comphelper/accessiblecontexthelper.hxx),
    which also derives from osl::Guard<comphelper::SolarMutex> (and is also all-
    inline, and not marked as DLLPUBLIC), so also emits such members.  With
    --enable-pch, vclxaccessiblebutton.cxx happens to see SolarMutexGuard from
    include/vcl/svapp.hxx before comphelper::OExternalLockGuard, and thus doesn't
    emit any such members.
    
    As SolarMutexGuard is all-inline, there should not be much point in making it
    VCL_DLLPUBLIC in the first place (was there ever since the class's introduction
    in b450a32890184a18ed176dbf717e944190cbe643 "create a class SolarMutexGuard to
    take a Guard on the SolarMutex"), so just drop that.
    
    Change-Id: Ie9d493370c7d34981bb35e5d9e100cf987eb83ca
    Reviewed-on: https://gerrit.libreoffice.org/42616
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 1d016044335e..89a375ca9e4f 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -1398,7 +1398,7 @@ private:
     DECL_STATIC_LINK( Application, PostEventHandler, void*, void );
 };
 
-class VCL_DLLPUBLIC SolarMutexGuard
+class SolarMutexGuard
     : public osl::Guard<comphelper::SolarMutex>
 {
 public:
diff --git a/ucb/Library_ucpimage.mk b/ucb/Library_ucpimage.mk
index 13e64c7f8e3c..5a1273e6fb04 100644
--- a/ucb/Library_ucpimage.mk
+++ b/ucb/Library_ucpimage.mk
@@ -20,6 +20,7 @@ $(eval $(call gb_Library_use_externals,ucpimage, \
 ))
 
 $(eval $(call gb_Library_use_libraries,ucpimage, \
+    comphelper \
     cppu \
     cppuhelper \
     sal \
diff --git a/winaccessibility/Library_uacccom.mk b/winaccessibility/Library_uacccom.mk
index f48dfecf2688..24e125d42679 100644
--- a/winaccessibility/Library_uacccom.mk
+++ b/winaccessibility/Library_uacccom.mk
@@ -56,6 +56,7 @@ $(eval $(call gb_Library_add_ldflags,UAccCOM,\
 
 $(eval $(call gb_Library_use_libraries,UAccCOM,\
 	vcl \
+	comphelper \
 	cppu \
 	sal \
 ))
diff --git a/winaccessibility/Library_winaccessibility.mk b/winaccessibility/Library_winaccessibility.mk
index 1eb14246294c..9466fa47925b 100644
--- a/winaccessibility/Library_winaccessibility.mk
+++ b/winaccessibility/Library_winaccessibility.mk
@@ -52,6 +52,7 @@ $(eval $(call gb_Library_use_externals,winaccessibility,\
 
 $(eval $(call gb_Library_use_libraries,winaccessibility,\
 	UAccCOM \
+	comphelper \
 	cppu \
 	cppuhelper \
 	vcl \


More information about the Libreoffice-commits mailing list