diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-07-04 18:58:58 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2024-07-05 08:59:49 +0200 |
commit | 269654fe179384f994bf0fe47e2af8c731cac377 (patch) | |
tree | 4df3dfed469eedcb823d32fd754624d04b28dea4 /svx/inc/sxopitm.hxx | |
parent | 07a166790b6c6c0b0bce96ce25d970a636ba55d6 (diff) |
fix asan build
after commit 85fd526fc681a994415bb422090d1d23aa7d54f6
"fix and simplify the ItemInstanceManager mechanism"
The problem is that some *Item classes in sw/ and sc/
share WhichIds, and a whole bunch of SfxBoolItem
subclasses share the same SfxItemType enum value.
So we ended up mixing and matching objects
of different concrete subclasses in a given
*ItemManager collection.
Add some asserts to the global pool code to catch
issues like this earlier on.
Add unique value of the SfxItemType enum for all
the SfxBoolItem subclasses
Change-Id: I3c8d4e02be1cd412b0292e973a6498df5f8e7102
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170003
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/inc/sxopitm.hxx')
-rw-r--r-- | svx/inc/sxopitm.hxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/svx/inc/sxopitm.hxx b/svx/inc/sxopitm.hxx index cd7d2bb1f599..52389b7331c1 100644 --- a/svx/inc/sxopitm.hxx +++ b/svx/inc/sxopitm.hxx @@ -24,7 +24,8 @@ class SdrObjPrintableItem final : public SdrYesNoItem { public: - SdrObjPrintableItem(bool bOn=false): SdrYesNoItem(SDRATTR_OBJPRINTABLE,bOn) {} + SdrObjPrintableItem(bool bOn=false) + : SdrYesNoItem(SDRATTR_OBJPRINTABLE,bOn, SfxItemType::SdrObjPrintableItemType) {} virtual SdrObjPrintableItem* Clone(SfxItemPool*) const override { return new SdrObjPrintableItem(*this); @@ -33,7 +34,7 @@ public: class SdrObjVisibleItem final : public SdrYesNoItem { public: - SdrObjVisibleItem(bool bOn=true): SdrYesNoItem(SDRATTR_OBJVISIBLE,bOn) {} + SdrObjVisibleItem(bool bOn=true): SdrYesNoItem(SDRATTR_OBJVISIBLE,bOn, SfxItemType::SdrObjVisibleItemType) {} virtual SdrObjVisibleItem* Clone(SfxItemPool*) const override { return new SdrObjVisibleItem(*this); |