diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2018-02-23 17:43:46 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2018-02-24 15:15:54 +0100 |
commit | fa2a43c29051b1bdcd0aef2e9cebfd206a4448ce (patch) | |
tree | 498b2bbb60d08003cf8938594e1850196c663a89 /include | |
parent | ddd49295d19f76c63ea61dc64af08a797dbafa9b (diff) |
EventHolder used in dynamic_cast should better be SAL_DLLPUBLIC_RTTI
...so that the dynamic_cast is guaranteed to work on macOS (where RTTI
equivalence is determined by address, not by strcmp). The relevant dynamic_castis in DocumentEventNotifier_Impl::processEvent in
dbaccess/source/core/dataaccess/documenteventnotifier.cxx, and at least during a
`make check` it appears to only be fed dbaccess::DocumentEventHolder (aka
comphelper::EventHolder<css::document::DocumentEvent>) instances also created in
documenteventnotifier.cxx (so the dynamic_cast happens to work fine also on
macOS in that case). But better be conservative and mark EventHodler as
SAL_DLLPUBLIC_RTTI after all.
Change-Id: I99c842418d3f51265d96b8deb0dfc6c7a1540be5
Reviewed-on: https://gerrit.libreoffice.org/50258
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/comphelper/asyncnotification.hxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/comphelper/asyncnotification.hxx b/include/comphelper/asyncnotification.hxx index 69c5647c5bda..b08e3be3fc48 100644 --- a/include/comphelper/asyncnotification.hxx +++ b/include/comphelper/asyncnotification.hxx @@ -198,7 +198,7 @@ namespace comphelper /** AnyEvent derivee holding an foreign event instance */ template < typename EVENT_OBJECT > - class EventHolder : public AnyEvent + class SAL_DLLPUBLIC_RTTI EventHolder : public AnyEvent { public: typedef EVENT_OBJECT EventObjectType; |