Issue 119459

Summary: [From Symphony]The position of Shape (connectors) in slide is incorrect after save once by AOO3.4.
Product: Impress Reporter: Du Jing <bjdujing>
Component: save-exportAssignee: AOO issues mailing list <issues>
Status: CLOSED FIXED QA Contact:
Severity: Normal    
Priority: P3 CC: Armin.Le.Grand, jiazema, liushenf, phoenix.wanglf, raivo.pats, sunyingshadesun
Version: 3.4.0   
Target Milestone: 4.0.0   
Hardware: PC   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
sample file
none
patch for ppt export connector position display incorrect sunyingshadesun: review?

Description Du Jing 2012-05-28 09:41:45 UTC
Created attachment 77645 [details]
sample file

Build info: AOO3.4_1327774

Description:

1. open the sample file inAOO3.4
2. Click "File->Save as" to export a new .ppt.
3. Close and reopen the new .ppt document with MS Office.
4. Compare content with that in original document. 
               		 		  		 		   
Actual Result: The position of the connectors in the slide is incorrect comparing with the original one.
Comment 1 SunYing 2012-06-13 06:52:19 UTC
I'm checking this defect.
Comment 2 raivo.pats 2012-06-16 15:55:08 UTC
Configuration:
Windows 7 Enterprise with
Service Pack 1
OpenOffice 3.4.0 Build: 9590 -
Rev: 1325589
MS Office 2012

Status: Reproducible. I was able to reproduce the bug on my configuration.

Sequence:
1. Open the attached file in
OpenOffice
2. Go to File -> Save AS
3. Save the document in .ppt
format
4. Select “Keep current format”
in the dialog box warning of slide containing incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
RESULT: Drawn arrows in the file are not in their original place.

I made the following follow-up tests with an aim to get to the critical condition of the failure:

Test1:
1. Create a new Impress
presentation.
2. Insert one “connector” type line
2. Go to File -> Save AS
3. Save the document in .ppt
format
4. Select “Keep current format”
in the dialog box warning of slide containing incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
RESULT: Drawn line in the file is not in original place.

Test2:
1. Create a new Impress
presentation.
2. Insert one “arrow” type line
2. Go to File -> Save AS
3. Save the document in .ppt
format
4. Select “Keep current format”
in the dialog box warning of slide containing incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
RESULT: Drawn arrow in the file is in original place.

Test3:
1. Create a new Impress
presentation.
2. Insert one “rectangle” type
line, one “line” type line, one circle
2. Go to File -> Save AS
3. Save the document in .ppt format
4. Select “Keep current format”
in the dialog box warning of slide containing incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
RESULT: All drawn symbols are in original place.

Test4:
1. Create a new Impress presentation.
2. Insert many “connector” type line. Remember where they start and end.
3. Save the document in .ppt format
4. Select “Keep current format” in the dialog box warning of slide containing incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
RESULT: All drawn symbols start and end in original place but the place from where they turn are different.

Test5:
1. Create a new Impress
presentation.
2. Insert many “Curve” type
line
3. Save the document in .ppt
format
4. Select “Keep current format”
in the dialog box warning of slide containing incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
RESULT: Curve type line does not appear.

Summary:
It seems that OpenOffice is not able to save Connector type lines so that MS Office is able to place them in the original position - start, end points are the same but the place where the connector turns is different.
Curve type line does not appear at all – this is a different type of error.

Speculation:
Connector type line - This might not be a bug as the start, end points are the same. How the connector turns might be something that is determined by the application itself - maybe it is not saved in the file, maybe it is not part of the file format.
Curve type line error – this is might be due to the curve being a „OpenOffice“ specific feature not supported by the file format or MS Office.
Comment 3 SunYing 2012-06-19 13:37:18 UTC
root cause:
when the connector has a angle, the connector has been rotate, and the start point and end point of connector changed, so position display incorrectly.
Comment 4 SunYing 2012-06-19 13:56:13 UTC
Configuration:
Windows XP Professional with Service Pack 3
OpenOffice 3.4.0
Build: 9590 - Rev:1327774
MS Office 2003
In my configuration,the result seems some different.
the curve connector can be appear, but not same as original file.
and the standrad type connector has the same problem.
however, the line type connector display correctly.



(In reply to comment #2)
> Configuration:
Windows 7 Enterprise with
Service Pack 1
OpenOffice 3.4.0
> Build: 9590 -
Rev: 1325589
MS Office 2012

Status: Reproducible. I was able
> to reproduce the bug on my configuration.

Sequence:
1. Open the attached
> file in
OpenOffice
2. Go to File -> Save AS
3. Save the document in .ppt
> format
4. Select “Keep current format”
in the dialog box warning of slide
> containing incompatible objects
5. Close OpenOffice
6. Open the file in MS
> Office
RESULT: Drawn arrows in the file are not in their original place.

I
> made the following follow-up tests with an aim to get to the critical
> condition of the failure:

Test1:
1. Create a new Impress
presentation.
2.
> Insert one “connector” type line
2. Go to File -> Save AS
3. Save the
> document in .ppt
format
4. Select “Keep current format”
in the dialog box
> warning of slide containing incompatible objects
5. Close OpenOffice
6. Open
> the file in MS Office
RESULT: Drawn line in the file is not in original
> place.

Test2:
1. Create a new Impress
presentation.
2. Insert one “arrow”
> type line
2. Go to File -> Save AS
3. Save the document in .ppt
format
4.
> Select “Keep current format”
in the dialog box warning of slide containing
> incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
> RESULT: Drawn arrow in the file is in original place.

Test3:
1. Create a
> new Impress
presentation.
2. Insert one “rectangle” type
line, one “line”
> type line, one circle
2. Go to File -> Save AS
3. Save the document in .ppt
> format
4. Select “Keep current format”
in the dialog box warning of slide
> containing incompatible objects
5. Close OpenOffice
6. Open the file in MS
> Office
RESULT: All drawn symbols are in original place.

Test4:
1. Create a
> new Impress presentation.
2. Insert many “connector” type line. Remember
> where they start and end.
3. Save the document in .ppt format
4. Select
> “Keep current format” in the dialog box warning of slide containing
> incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
> RESULT: All drawn symbols start and end in original place but the place from
> where they turn are different.

Test5:
1. Create a new Impress
presentation.
> 2. Insert many “Curve” type
line
3. Save the document in .ppt
format
4.
> Select “Keep current format”
in the dialog box warning of slide containing
> incompatible objects
5. Close OpenOffice
6. Open the file in MS Office
> RESULT: Curve type line does not appear.

Summary:
It seems that OpenOffice
> is not able to save Connector type lines so that MS Office is able to place
> them in the original position - start, end points are the same but the place
> where the connector turns is different.
Curve type line does not appear at
> all – this is a different type of error.

Speculation:
Connector type line -
> This might not be a bug as the start, end points are the same. How the
> connector turns might be something that is determined by the application
> itself - maybe it is not saved in the file, maybe it is not part of the file
> format.
Curve type line error – this is might be due to the curve being a
> „OpenOffice“ specific feature not supported by the file format or MS Office.
Comment 5 SunYing 2012-06-20 05:55:40 UTC
Created attachment 78398 [details]
patch for ppt export connector position display incorrect

solution :
function PPTWriter::ImplWritePage() in "\sd\source\filter\eppt\epptso.cxx"
in branch else if ( mType == "drawing.Connector" ),
the connector shape which has a angle should not be rotated, because the start point and end point of connector is fixed value.so the var "mnAngle" is always set to zero.
Comment 6 Armin Le Grand 2012-06-20 13:52:44 UTC
ALG: Good catch, of course the angle should be zeroed for connectors. Added, built and tested, works well. I also see no hindrances for this patch.
Comitted with r1352102, thanks for the patch!
Comment 7 Li Feng Wang 2012-08-21 05:40:12 UTC
Verified pass with AOO trunk r1374181.