diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-01-13 09:14:39 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-01-14 11:51:06 +0100 |
commit | 94c1f5cfb96a826220b64608cf0ada76d3bdde31 (patch) | |
tree | 15c3db39b12440bb5079a28dfe1001983ab9f8f5 /include/svtools | |
parent | [pt_PT] Added 15 words to autocorrect (diff) | |
download | core-94c1f5cfb96a826220b64608cf0ada76d3bdde31.tar.gz core-94c1f5cfb96a826220b64608cf0ada76d3bdde31.zip |
rework SfxCharmapCtrl to be a PopupWindowController
With MSVC, the changes to include/sfx2/charmappopup.hxx would cause spurious
> isvt.lib(svtlo.dll) : error LNK2005: "public: virtual class com::sun::star::uno::Any __cdecl cppu::ImplInheritanceHelper<class svt::ToolboxController,class com::sun::star::lang::XServiceInfo>::queryInterface(class com::sun::star::uno::Type const &)" (?queryInterface@?$ImplInheritanceHelper@VToolboxController@svt@@VXServiceInfo@lang@star@sun@com@@@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z) already defined in classificationcontroller.o
> isvt.lib(svtlo.dll) : error LNK2005: "public: virtual void __cdecl cppu::ImplInheritanceHelper<class svt::ToolboxController,class com::sun::star::lang::XServiceInfo>::acquire(void)" (?acquire@?$ImplInheritanceHelper@VToolboxController@svt@@VXServiceInfo@lang@star@sun@com@@@cppu@@UAAXXZ) already defined in classificationcontroller.o
> isvt.lib(svtlo.dll) : error LNK2005: "public: virtual void __cdecl cppu::ImplInheritanceHelper<class svt::ToolboxController,class com::sun::star::lang::XServiceInfo>::release(void)" (?release@?$ImplInheritanceHelper@VToolboxController@svt@@VXServiceInfo@lang@star@sun@com@@@cppu@@UAAXXZ) already defined in classificationcontroller.o
when linking Library_sfx (and which appears to be unrelated to the (implicit)
/INCREMENTAL since 9739c37d8ad7c6fca269709674a6975fa7ebd191 "enable incremental
linking on windows"), which requires the HACK in
include/svtools/popupwindowcontroller.hxx.
Change-Id: I74c4318e6216001f18d0cf5ed63e78ba2ab13cd3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86664
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include/svtools')
-rw-r--r-- | include/svtools/popupwindowcontroller.hxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/svtools/popupwindowcontroller.hxx b/include/svtools/popupwindowcontroller.hxx index f1df441a4979..88317cb9de3d 100644 --- a/include/svtools/popupwindowcontroller.hxx +++ b/include/svtools/popupwindowcontroller.hxx @@ -40,8 +40,14 @@ namespace svt { class PopupWindowControllerImpl; -class SVT_DLLPUBLIC PopupWindowController : public cppu::ImplInheritanceHelper< svt::ToolboxController, - css::lang::XServiceInfo > +//HACK to avoid duplicate ImplInheritanceHelper symbols with MSVC: +class SAL_DLLPUBLIC_TEMPLATE PopupWindowController_Base: + public cppu::ImplInheritanceHelper<svt::ToolboxController, css::lang::XServiceInfo> +{ + using ImplInheritanceHelper::ImplInheritanceHelper; +}; + +class SVT_DLLPUBLIC PopupWindowController : public PopupWindowController_Base { public: PopupWindowController( const css::uno::Reference< css::uno::XComponentContext >& rxContext, |