Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | all charts in existing (spreadsheet) documents broken after programmatically creating a chart | ||||||
---|---|---|---|---|---|---|---|
Product: | General | Reporter: | Frank Schönheit <frank.schoenheit> | ||||
Component: | scripting | Assignee: | oc | ||||
Status: | CLOSED FIXED | QA Contact: | issues@framework <issues> | ||||
Severity: | Trivial | ||||||
Priority: | P3 | CC: | IngridvdM, issues, oliver.brinzing | ||||
Version: | OOO330m5 | Keywords: | regression | ||||
Target Milestone: | OOo 3.3 | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Issue Type: | DEFECT | Latest Confirmation in: | --- | ||||
Developer Difficulty: | --- | ||||||
Issue Depends on: | |||||||
Issue Blocks: | 111112 | ||||||
Attachments: |
|
Description
Frank Schönheit
2010-08-24 14:27:57 UTC
worked in OOo 3.1.1, already broken in OOo 3.2.1 Created attachment 71319 [details]
document to reproduce the bug case
fs->cl: That's the problem of all SvxShape instances of the same type sharing a common property "cache", instead of sharing only the structure needed for mapping between properties and items. In particular, with creating the chart shape via API, the property map created via SvxUnoPropertyMapProvider::GetMap(SVXMAP_OLE2) gets a CLSID property set. Upon loading the other spreadsheet, this very same property map, with a cached CLSID property, subtly changes the control flow in SvxShape::ObtainSettingsFromPropertySet, called from SvxShape::Create. This way, an embedded object is created prematurely, instead of creating it later, and loading it from the document package. . setting target 3.3 this issue was introduced 1-2 years ago during a performance optimization. The correct fix would be to not cache the SvxItemPropertySet. But this disables all performance optimization and has some potential side effects. Therefore I will not fix this bug completly for OOo 3.3. I added changes that the properties are cleared as soon as the shape itself is inserted into any slide. Therefore this bug will still happen if someone creates two or more shapes of the same type and set properties before adding them. The more often used case with sequential creation and adding will now work. The preferred way would be to insert the shape before doing anything with it. I have created follow up issue 114206 for a more complete fix later verified in cws impress200, back to qa verified in internal build cws_impress200 |