diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2022-11-29 13:11:25 +0100 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2022-11-29 16:11:44 +0100 |
commit | ae132145ff42a95dc24fb124847c04af4b8c8dab (patch) | |
tree | 584b1e6a94901f461a72f80d06a61cc3bf892e7e /include | |
parent | e180a37b663d9bc1a5219e2cb3a00ae167827325 (diff) |
tdf#141386 svx,sw: fix setting name/title/description on SwVirtFlyDrawObj
The problem is that setting the title via the dialog in Writer calls
SwFlyFrameFormat::SetObjTitle() which sets SwFrameFormat::msTitle and
SdrObject::m_pPlusData::aObjTitle on the master SwFlyDrawObj.
Now ViewContactOfSdrObj::embedToObjectSpecificInformation() is called
for the SwVirtFlyDrawObj, not the SwFlyDrawObj, because that one is not
on the SdrPage.
However, SwFlyFrameFormat::GetObjTitle() will return
SwFrameFormat::msTitle as a fallback.
So what's missing here is SwVirtFlyDrawObj must forward calls that
get/set model properties to its associated SwFlyDrawObj - implement that
in base class SdrVirtObj.
But note that this does not fix the reported PDF export bug - that was
already fixed by commit 122b4264d23df8b11419839ba700b88c4f936a6c in sw
and this fix is for other users of ObjectInfoPrimitive2D.
Change-Id: Id306c44c67c069777373e5e4d55415176b513afc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143465
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/svx/svdobj.hxx | 12 | ||||
-rw-r--r-- | include/svx/svdovirt.hxx | 6 |
2 files changed, 12 insertions, 6 deletions
diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx index 3cc030c0b293..2404060e5936 100644 --- a/include/svx/svdobj.hxx +++ b/include/svx/svdobj.hxx @@ -374,14 +374,14 @@ public: // An object may have a user-set Name (Get/SetName()), e.g SdrGrafObj, SdrObjGroup // or SdrOle2Obj. // It may also have a Title and a Description for accessibility purposes. - void SetName(const OUString& rStr, const bool bSetChanged = true); - const OUString & GetName() const; + virtual void SetName(const OUString& rStr, const bool bSetChanged = true); + virtual const OUString & GetName() const; void MakeNameUnique(); void MakeNameUnique(std::unordered_set<OUString>& rNameSet); - void SetTitle(const OUString& rStr); - OUString GetTitle() const; - void SetDescription(const OUString& rStr); - OUString GetDescription() const; + virtual void SetTitle(const OUString& rStr); + virtual OUString GetTitle() const; + virtual void SetDescription(const OUString& rStr); + virtual OUString GetDescription() const; // for group objects bool IsGroupObject() const; diff --git a/include/svx/svdovirt.hxx b/include/svx/svdovirt.hxx index 9f327d639bb1..fc8ce86247ed 100644 --- a/include/svx/svdovirt.hxx +++ b/include/svx/svdovirt.hxx @@ -62,6 +62,12 @@ public: virtual SdrInventor GetObjInventor() const override; virtual SdrObjKind GetObjIdentifier() const override; virtual SdrObjList* GetSubList() const override; + virtual void SetName(const OUString& rStr, const bool bSetChanged = true) override; + virtual const OUString& GetName() const override; + virtual void SetTitle(const OUString& rStr) override; + virtual OUString GetTitle() const override; + virtual void SetDescription(const OUString& rStr) override; + virtual OUString GetDescription() const override; virtual const tools::Rectangle& GetCurrentBoundRect() const override; virtual const tools::Rectangle& GetLastBoundRect() const override; |