https://issues.apache.org/ooo/show_bug.cgi?id=119443
--- Comment #9 from Armin Le Grand <[email protected]> --- ALG: Hi Jianyuan Li, what items can be set at an SdrObject depends on the range it did use when constructing it's ItemSet. An ItemSet cannot simply store all SfxItems which are registered at the SfxItemPool, but uses a sequence of range values which correspond to Item-IDs. The ItemSet containing the SdrObjects properties is separated from SdrObject in sdr::properties::BaseProperties. The kind of BaseProperties constructed for an SdrObject depends on it's implementation of CreateObjectSpecificProperties(). The SdrCustomShapeGeometryItem uses the ID SDRATTR_CUSTOMSHAPE_GEOMETRY which is in the SDRATTR_CUSTOMSHAPE_FIRST .. SDRATTR_CUSTOMSHAPE_LAST range. That range is supported in CustomShapeProperties::CreateObjectSpecificItemSet where sdr::properties::CustomShapeProperties get created from SdrObjCustomShape::CreateObjectSpecificProperties(). Thus, your SdrObject needs to be a SdrObjCustomShape to hold a SdrCustomShapeGeometryItem. I would guess that the SdrShape you are using is not of that type. If the SfxItem is not supported by the SdrObject's SfxItemSet, it will be filtered out when SfxItems are put to that SfxItemSet. This is wanted and often used functionality of SfxItemSets. So please check if the SdrObject where SdrCustomShapeGeometryItem is set is of type SdrObjCustomShape. If not, this is the problem. It should be of that type, other SdrObject types cannot handle this type of item. HTH! I'll try to look into this issue... -- You are receiving this mail because: You are the assignee for the bug.
