office-gobmx/comphelper
Stephan Bergmann 86b86ac87e Give DocumentEventHolder (aka EventHolder<DocumentEvent>) a key function
...that is not inline, so that RTTI and vtable are not emitted for each dynamic
library individually.  (Where they would be internal on macOS, which could break
optimized uses of dynamic_cast for that final class just checking vtable pointer
identity, as could happen for the dynamic_cast at
dbaccess/source/core/dataaccess/documenteventnotifier.cxx:232:51,

>   232 |         const DocumentEventHolder& rEventHolder = dynamic_cast< const DocumentEventHolder& >( _rEvent );
>       |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

And with the extern explicit template instantiation, EventHolder needs to be
SAL_DLLPUBLIC_TEMPLATE instead of just SAL_DLLPUBLIC_RTTI now, so that
Library_comphelper will export the DocumentEventHolder ctors and
DocumentEventHolder::getEventObject.)

(This would ideally have been caught by an upcoming improvement of
loplugin:dyncastvisibility, but might be complicated to check there for template
instantiations.)

Change-Id: I1e6280b185535968a870fbfadaff6238d38858e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176547
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-11-14 11:10:30 +01:00
..
inc/pch simplify and modernise ScopedBitmapAccess 2023-12-07 09:32:14 +01:00
qa com::sun::star -> css 2024-11-10 10:50:15 +01:00
source Give DocumentEventHolder (aka EventHolder<DocumentEvent>) a key function 2024-11-14 11:10:30 +01:00
util use single-use attribute for OfficeInstallationDirectories 2021-03-23 07:41:50 +01:00
CppunitTest_comphelper_ifcontainer.mk
CppunitTest_comphelper_parallelsort_test.mk Use less boost_headers in low level libraries 2024-03-06 21:23:17 +01:00
CppunitTest_comphelper_syntaxhighlight_test.mk Use less boost_headers in low level libraries 2024-03-06 21:23:17 +01:00
CppunitTest_comphelper_test.mk move CryptTools from oox to comphelper so we can reuse it 2024-11-04 21:51:32 +01:00
CppunitTest_comphelper_threadpool_test.mk Use less boost_headers in low level libraries 2024-03-06 21:23:17 +01:00
CppunitTest_comphelper_variadictemplates_test.mk Use less boost_headers in low level libraries 2024-03-06 21:23:17 +01:00
CppunitTest_comphelper_weakbag_test.mk tdf#146266 Move WeakBag test to gbuild system 2024-04-12 16:50:31 +02:00
IwyuFilter_comphelper.yaml comphelper/servicedecl.hxx is unused 2023-05-09 21:33:39 +02:00
JunitTest_comphelper_complex.mk tdf#97362 Convert comphelper SequenceOutputStreamUnitTest to Python 2023-01-31 12:18:47 +00:00
Library_comphelper.mk move CryptTools from oox to comphelper so we can reuse it 2024-11-04 21:51:32 +01:00
Makefile
Module_comphelper.mk tdf#146266 Move WeakBag test to gbuild system 2024-04-12 16:50:31 +02:00
PythonTest_comphelper_python.mk tdf#97362 Convert comphelper SequenceOutputStreamUnitTest to Python 2023-01-31 12:18:47 +00:00
README.md Updated README.md files to represent current code / use Markdown format 2021-04-07 17:47:16 +02:00
StaticLibrary_windows_process.mk

Helpers for Implementing UNO Components

Here goes anything not generic / mature enough to end up in URE's stable interface at cppuhelper, etc.