[Libreoffice-commits] core.git: include/comphelper
Stephan Bergmann
sbergman at redhat.com
Sat Feb 24 14:16:14 UTC 2018
include/comphelper/asyncnotification.hxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit fa2a43c29051b1bdcd0aef2e9cebfd206a4448ce
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Feb 23 17:43:46 2018 +0100
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 at libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
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;
More information about the Libreoffice-commits
mailing list