Apache OpenOffice (AOO) Bugzilla – Issue 100070
chart data is not loaded correctly anymore if chart is not on the first sheet
Last modified: 2013-02-24 21:18:35 UTC
Within Calc create a chart with data not from the first sheet. Save the Calc and reload the document. Double click the chart ->all ranges are broken and wrong data is displayed. For example if a chart was created with data from Sheet2.C6:C9; after reload and double click the range has changed to Sheet2.C6:Sheet1.C9. So the end cell of the range is located on the wrong tab page after load.
This is a regression from ooo310m2 to m3. The problem was introduced by CWS koheiformula02. @kohei, please have a look at this. The problem occurs within method ScChart2DataProvider::convertRangeFromXML. I rate this as 3.1 showstopper. If you can provide a patch until tomorrow Niklas may can integrate the fix into CWS calc31stopper2.
adding to showstopper issue
I'm working on this as we speak.
Created attachment 60836 [details] fix for this
So, apparently Calc supports normal range syntax e.g. Sheet.A1:C4 with the end cell not explicitly having a sheet name. My code only supported * Sheet.A1:Sheet.C4 * Sheet.A1:.C4 which is why the end cell ended up referencing the first sheet. That is the reason for failure. What puzzles me is that, when I worked on koheiformula02, the range syntax was always Sheet.A1:Sheet.C4, with both cells having a sheet name specified. I wonder if this is a recent change, or my oversight...
actually, I introduced that change unintentionally, so, it's my fault. :-/ Let me try to fix that as well.
Created attachment 60837 [details] patch to fix the wrong *export* issue
Ok. The 2nd patch is the correct fix. It's my understanding that, in ODF, ranges always have the begin and end cell addresses, and they both specify sheet name. So, exporting a range that omits sheet name in the end cell was incorrect. With the 2nd patch applied, it's not necessary to apply the first patch.
re-assigning to Niklas for committing the patch in. Thanks!
Thanks Kohei for fixing this quickly. For 3.1, I added both patches to CWS "calc31stopper2", to be safe and to avoid losing data from files created with interim versions. For 3.2, we should remove the first patch again, and possibly also the fix for issue 100062, and make sure correct range strings are really used everywhere.
reassigning to QA for verification
Seen ok in cws -> verified
Seen ok in current master -> closed