[Libreoffice-commits] core.git: include/svx
Stephan Bergmann
sbergman at redhat.com
Wed Feb 21 22:50:16 UTC 2018
include/svx/ipolypolygoneditorcontroller.hxx | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
New commits:
commit eb21db08b3aee4b9113d221ca47af73d2f9b82d7
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Feb 21 15:05:39 2018 +0100
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 at libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
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;
More information about the Libreoffice-commits
mailing list