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.

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.

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.

This is Apache OpenOffice (AOO) Bugzilla: the Apache OpenOffice (AOO) bug system. In case
of problems with the functioning of Apache OpenOffice (AOO) Bugzilla, please contact
aoo-bugzilla-admin@apache.org.
Please Note: this e-mail address is only for reporting problems
with Apache OpenOffice (AOO) Bugzilla. Mail about any other subject will be silently
ignored.