diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2018-02-21 15:05:39 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2018-02-21 23:49:47 +0100 |
commit | eb21db08b3aee4b9113d221ca47af73d2f9b82d7 (patch) | |
tree | 4b0ff54f634f9bea880733a1e9cfb63a60aeb1e8 /include/svx/ipolypolygoneditorcontroller.hxx | |
parent | 0a46237093c1750ee69ddb6a365098dc1d06b758 (diff) |
IPolyPolygonEditorController used in dynamic_cast should be SAL_DLLPUBLIC_RTTI
...so that the dynamic_cast also works on macOS (where RTTI equivalence is
determined by address, not by strcmp). The two relevant dynamic_casts are in
BezierObjectBar::GetAttrState and BezierObjectBar::Execute (both in
sd/source/ui/view/drbezob.cxx). (They can be triggered from the Impress UI by
adding any "Motion Paths" animation to a shape, then selecting and manipulating
the path's control points.)
The source of those dynamic_casts appears to always be sd::MotionPathTag,
defined in sd/source/ui/animations/motionpathtag.hxx in the same library, so
wouldn't technically require IPolyPolygonEditorController to be
SAL_DLLPUBLIC_RTTI. However, while 367e8743adbe1319f5be29c001c93b747f7aa665
"INTEGRATION: CWS pathfinder01" introduced that sd::MotionPathTag deriving from
IPolyPolygonEditorController, 346e0ffe907c85af85573dc42c19795ec1c9872c
"INTEGRATION: CWS pathfinder01: #i41800# added inteface
IPolyPolygonEditorControler to allow edit of non marked path objects" also added
IPolyPolygonEditorController to SdrPolyEditView in include/svx/svdpoev.hxx, for
unclear reasons. So better be conservative and assume SAL_DLLPUBLIC_RTTI is
needed after all.
Change-Id: Ieefabf7b00357876046014bbff098076108f9dea
Reviewed-on: https://gerrit.libreoffice.org/50109
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'include/svx/ipolypolygoneditorcontroller.hxx')
-rw-r--r-- | include/svx/ipolypolygoneditorcontroller.hxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/svx/ipolypolygoneditorcontroller.hxx b/include/svx/ipolypolygoneditorcontroller.hxx index f9df283e6404..a65a5d868e56 100644 --- a/include/svx/ipolypolygoneditorcontroller.hxx +++ b/include/svx/ipolypolygoneditorcontroller.hxx @@ -20,6 +20,9 @@ #ifndef INCLUDED_SVX_IPOLYPOLYGONEDITORCONTROLLER_HXX #define INCLUDED_SVX_IPOLYPOLYGONEDITORCONTROLLER_HXX +#include <sal/config.h> + +#include <sal/types.h> #include <svx/svxdllapi.h> @@ -46,7 +49,7 @@ enum class SdrObjClosedKind Closed // closed object (polygon, ...) }; -class IPolyPolygonEditorController +class SAL_DLLPUBLIC_RTTI IPolyPolygonEditorController { public: virtual void DeleteMarkedPoints() = 0; |