Kaydet (Commit) eb21db08 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

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 367e8743
"INTEGRATION: CWS pathfinder01" introduced that sd::MotionPathTag deriving from
IPolyPolygonEditorController, 346e0ffe
"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/50109Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 0a462370
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
#ifndef INCLUDED_SVX_IPOLYPOLYGONEDITORCONTROLLER_HXX #ifndef INCLUDED_SVX_IPOLYPOLYGONEDITORCONTROLLER_HXX
#define INCLUDED_SVX_IPOLYPOLYGONEDITORCONTROLLER_HXX #define INCLUDED_SVX_IPOLYPOLYGONEDITORCONTROLLER_HXX
#include <sal/config.h>
#include <sal/types.h>
#include <svx/svxdllapi.h> #include <svx/svxdllapi.h>
...@@ -46,7 +49,7 @@ enum class SdrObjClosedKind ...@@ -46,7 +49,7 @@ enum class SdrObjClosedKind
Closed // closed object (polygon, ...) Closed // closed object (polygon, ...)
}; };
class IPolyPolygonEditorController class SAL_DLLPUBLIC_RTTI IPolyPolygonEditorController
{ {
public: public:
virtual void DeleteMarkedPoints() = 0; virtual void DeleteMarkedPoints() = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment