summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-02-23 17:43:46 +0100
committerStephan Bergmann <sbergman@redhat.com>2018-02-24 15:15:54 +0100
commitfa2a43c29051b1bdcd0aef2e9cebfd206a4448ce (patch)
tree498b2bbb60d08003cf8938594e1850196c663a89
parentddd49295d19f76c63ea61dc64af08a797dbafa9b (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>
-rw-r--r--include/comphelper/asyncnotification.hxx2
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;