Kaydet (Commit) 6d1c8a43 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

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 b450a328 "create a class SolarMutexGuard to
take a Guard on the SolarMutex"), so just drop that.

Change-Id: Ie9d493370c7d34981bb35e5d9e100cf987eb83ca
Reviewed-on: https://gerrit.libreoffice.org/42616Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst caea6281
......@@ -1398,7 +1398,7 @@ private:
DECL_STATIC_LINK( Application, PostEventHandler, void*, void );
};
class VCL_DLLPUBLIC SolarMutexGuard
class SolarMutexGuard
: public osl::Guard<comphelper::SolarMutex>
{
public:
......
......@@ -20,6 +20,7 @@ $(eval $(call gb_Library_use_externals,ucpimage, \
))
$(eval $(call gb_Library_use_libraries,ucpimage, \
comphelper \
cppu \
cppuhelper \
sal \
......
......@@ -56,6 +56,7 @@ $(eval $(call gb_Library_add_ldflags,UAccCOM,\
$(eval $(call gb_Library_use_libraries,UAccCOM,\
vcl \
comphelper \
cppu \
sal \
))
......
......@@ -52,6 +52,7 @@ $(eval $(call gb_Library_use_externals,winaccessibility,\
$(eval $(call gb_Library_use_libraries,winaccessibility,\
UAccCOM \
comphelper \
cppu \
cppuhelper \
vcl \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment