• Stephan Bergmann's avatar
    Avoid VCL_DLLPUBLIC SolarMutexGuard "taking over" template base class on MSVC · 6d1c8a43
    Stephan Bergmann yazdı
    ...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>
    6d1c8a43
Library_uacccom.mk 2.17 KB