Apache OpenOffice (AOO) Bugzilla – Issue 120730
[From Symphony] Table changes to multiple shapes after saved in AOO
Last modified: 2012-10-18 07:05:32 UTC
Created attachment 79181 [details] 1.ppt Build: AOO 3.5 rev. 1377620 OS: Windows7-64bit Reproduce steps: 1. Open the sample file. 2. Check the table in the document, It works correctly. 3. Save the document to another ppt format file. 4. Open the saved file, then check the table. Expected Result: Saved file reopen in AOO should same as original file Actual Result: The table changes to multiple shapes, although it seems same as original file. Note: save to odp format file, it's ok.
Created attachment 79182 [details] capture.jpg
Created attachment 79316 [details] root cause of become group shape
Actually, It is two defect: 1. The position of some merged cell's line display error when exported by AOO. root cause : The position of some merged cell's line have been changed when import, and write a error position when export. e.g: 2*2 table,merged 1 & 2 cell. imported by AOO. _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ 1_ _|_ _2 _| |_ _1 _ _2 _ _| |_ _ 3_|_ _4 _| |_ _3 _|_ 4_ _| in funciton SdrPowerPointImport::CreateTable at "main\filter\source\msfilter\svdfppt.cxx" line 7785: initialize pMergedCellIndexTable[] = {0,1,2,3}, line 7811: processed it, become {0,0,2,3}. line 7842: change the positon of cell's line, the position of 2rd cell's line is same with 1rd cell . in function PPTWriter::ImplCreateTable at file "\main\sd\source\filter\eppt\epptso.cxx" line 5804, get the position of 2rd cell's line error, so display error when open by MS. solution: the cell's position should not changed.the var pMergedCellIndexTable is unnecessary. so remove it. 2. The table which include merged cell become a group shape exported by AOO. root cause : Merged cell's border was export to two or more lines.see detail in attachment "root cause of become group shape.png" solution merged cell's line should be merged to a whole line,not separated line, rewrite the filter part that export cell's line.
Created attachment 79360 [details] UT sample file
Created attachment 79361 [details] patch for export table with merged cell error
modify the solution of defect 1: solution: the core function may be depend on these position,so restore these position when export,and does not remove the var pMergedCellIndexTable. (In reply to comment #3) > Actually, It is two defect: 1. The position of some merged cell's line > display error when exported by AOO. root cause : The position of some > merged cell's line have been changed when import, and write a error > position when export. e.g: 2*2 table,merged 1 & 2 cell. imported by > AOO. _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ 1_ _|_ _2 _| > |_ _1 _ _2 _ _| |_ _ 3_|_ _4 _| |_ _3 _|_ 4_ _| in funciton > SdrPowerPointImport::CreateTable at > "main\filter\source\msfilter\svdfppt.cxx" line 7785: initialize > pMergedCellIndexTable[] = {0,1,2,3}, line 7811: processed it, become > {0,0,2,3}. line 7842: change the positon of cell's line, the position of 2rd > cell's line is same with 1rd cell . in function PPTWriter::ImplCreateTable > at file "\main\sd\source\filter\eppt\epptso.cxx" line 5804, get the position > of 2rd cell's line error, so display error when open by MS. solution: the > cell's position should not changed.the var pMergedCellIndexTable is > unnecessary. so remove it. 2. The table which include merged cell become a > group shape exported by AOO. root cause : Merged cell's border was export > to two or more lines.see detail in attachment "root cause of become group > shape.png" solution merged cell's line should be merged to a whole > line,not separated line, rewrite the filter part that export cell's line.
Reviewed OK.
"sunying" committed SVN revision 1383738 into trunk: #120730# fix table with merged cell become group shape when export ppt file b...
fixed
verified on XP SP3,Win7 64 bit, mac 10.8, Ubuntu 12.04 against build r1384699 verified on RHEL 6.1 64 bit against build 1386464 fixed. Close thid bug
Update Target Milestone to AOO 3.5.0.