Apache OpenOffice (AOO) Bugzilla – Issue 89500
Chart in Impress with data from rows is loaded incorrectly
Last modified: 2013-02-24 21:21:55 UTC
Load the attached bugdoc. Double-click on either of the two charts and notice how it changes. Note that the first chart is simply with data from rows, the second one in addition has a row-mapping. This came in by changing the loading of documents with error-bar ranges (see Issue 336). Note also, that the chart are indeed loaded correctly! The problem is that old versions have stored references into the local table of a chart incorrectly. The fix for this issue requires to detect such a wrong state and handle it the same way as before.
Created attachment 53666 [details] Bugdoc for this issue
Note that the bugdoc contains three charts (other than stated in the description). The first and third chart are loaded incorrectly. The second one loads fine, but was incorrectly imported in a local version with a preliminary fix, thus I included it in the file for covering this case, too.
Created attachment 53667 [details] Patch for xmloff to fix this bug.
Explanation: As stated before, the bugdoc was strictly speaking loaded correctly. Instead of having one rectangular region A1:E8 + a property series-source="rows", this file contains references into the local table for all object. E.g. for the categories there is a range A2:A8. In fact the categories are in B1:E1 instead, i.e. they are in the first column rather than the first row. So, in this case the single ranges have just to be ignored. Instead the entire table is treated as one rectangular region that is split into rows. The fix does this when a document was created with OOo 2.3 or older, it has own data and the data comes from rows (if they come from columns, the single ranges are correct). For the row-mapping, there are two places where this is applied (a re-arrangement of data after the table has been read). With the fix it might happen that this was applied twice. So there is another fix to ensure that the mapping is only applied once.
Please verify in CWS chart25.
Seen ok in CWS chart25 -> verified
Seen ok in current master -> closed