Issue 105491

Summary: Connectors wrongly connected in .xls
Product: Calc Reporter: oharboe <oyvind.harboe>
Component: open-importAssignee: AOO issues mailing list <issues>
Status: CONFIRMED --- QA Contact:
Severity: Normal    
Priority: P3 CC: Armin.Le.Grand, awf.aoo, elish, issues, raal, rainerbielefeld_ooo_qa
Version: OOO310m9Keywords: crash
Target Milestone: ---   
Hardware: PC   
OS: All   
See Also: https://issues.apache.org/ooo/show_bug.cgi?id=76373
Issue Type: DEFECT Latest Confirmation in: 4.1.0-dev
Developer Difficulty: ---
Attachments:
Description Flags
Original file with formatting problems
none
Expected result when viewing with Microsoft Excel Viewer 2003
none
Screenshot comparison
none
Screenshot comparison New none

Description oharboe 2009-09-30 21:42:18 UTC
The attached spreadsheet has significant formatting problems:

1. load it into openoffice

2. save it out again

3. it looks completely different when you reload it

There are of course multiple formatting problems here, but I have to start a bug
report with the original case as a reference and then try to break out smaller
cases as I get access to MS Office. Breaking out smaller test cases is obviously
not possible using OpenOffice.
Comment 1 oharboe 2009-09-30 21:43:08 UTC
Created attachment 65067 [details]
Original file with formatting problems
Comment 2 oharboe 2009-09-30 21:54:10 UTC
Created attachment 65068 [details]
Expected result when viewing with Microsoft Excel Viewer 2003
Comment 3 oharboe 2009-09-30 21:57:00 UTC
Looking at the expected result it should be trivial to pick something that's
"not right" with the formatting...

The trick with this bug is probably to break out the bug report into many
smaller reports...
Comment 4 raal 2009-10-05 20:32:26 UTC
I can confirm within version DEV300m60 
duplicate of issue 76407 ?
see text boxes "person som oppdager", "fabriksjef"
Comment 5 Edwin Sharp 2014-01-10 12:27:04 UTC
Attachment 65067 [details] opens OK in Excel 2010.
Crash with
AOO410m1(Build:9750)  -  Rev. 1552994
Rev.1552994
Win 7
Comment 6 Andre 2014-01-16 13:30:44 UTC
I can reproduce the crash.

It is a stack overflow due to this loop:

 	svxcore.dll!SdrObject::SetObjectItemSet(const SfxItemSet & rSet)  Line 2021	C++
 	svxcore.dll!SdrObjCustomShape::AdaptTextMinSize()  Line 1763	C++
 	svxcore.dll!SdrObjCustomShape::NbcSetSnapRect(const Rectangle & rRect)  Line 1777	C++
 	svxcore.dll!SdrObjCustomShape::SetSnapRect(const Rectangle & rRect)  Line 1787	C++
 	svxcore.dll!SdrObjCustomShape::SetVerticalWriting(unsigned char bVertical)  Line 2608	C++
 	svxcore.dll!sdr::properties::TextProperties::ItemChange(const unsigned short nWhich, const SfxPoolItem * pNewItem)  Line 175	C++
 	svxcore.dll!sdr::properties::CustomShapeProperties::ItemChange(const unsigned short nWhich, const SfxPoolItem * pNewItem)  Line 177	C++
 	svxcore.dll!sdr::properties::DefaultProperties::SetObjectItemSet(const SfxItemSet & rSet)  Line 167	C++
 	svxcore.dll!SdrObject::SetObjectItemSet(const SfxItemSet & rSet)  Line 2021	C++
Comment 7 Andre 2014-01-16 13:36:59 UTC
The loop seems to play ping-pong with the verical writing mode.
SetVerticalWriting is called alternating with true and false.
Comment 8 SVN Robot 2014-01-17 15:45:32 UTC
"af" committed SVN revision 1559155 into trunk:
105491: Switched update of vertical flag and setting the item set to avoid in...
Comment 9 Andre 2014-01-17 15:50:44 UTC
Fixed the crash when loading the document.  In SdrObjCustomShape::SetVerticalWriting(sal_Bool) the shape's item set was updated before the (explicitly stored) vertical flag was updated.  During the update of the item set the old value of the flag was copied by some other object.  Then the vertical flag was updated.  In the following clean up step the copied old value of the flag was used and led to another round of setting the vertical flag.

Fixed by switching the order of setting the item set and setting the flag value.
Comment 10 Andre 2014-01-17 15:51:36 UTC
I almost forgot that the crash was not the primary problem of the bug.  Reopening for the formatting problem.
Comment 11 Andre 2014-01-20 09:26:35 UTC
Regarding the formatting problems:

The only problem that I can see is that some arrows are routed differently in OpenOffice than they are in Excel.
Comment 12 Andre 2014-02-18 09:40:21 UTC
Removing keyword regression because neither bug description nor comments indicate that this is a regression.

Setting importance to normal because I can not see big differences except in the routing of some connectors.  That probably could be handled better but I am not sure that the actual routing is not implementation dependent.
Comment 13 Rainer Bielefeld 2014-03-07 16:51:48 UTC
Created attachment 82817 [details]
Screenshot comparison

The main problems I see when I open sample document <<2009-09-30 23:43 CEST, oharboe >> are
(a) wrong text orientation in Drawing objects, fixed in 4.1.0 (yellow ellipse)
    I tried to find a DUP, but it's too expensive
(b) connectors completely messed up, still a problem (red ellipse)

So I think we enjoy the fix for the text orientation problem and reduce this one to the connectors problem
Comment 14 Rainer Bielefeld 2014-03-07 16:55:47 UTC
Reduced as announced.

There are at least 2 possibly related Bugs:
"Bug 76373 - Problem of XLS file with connector"
"Bug 111863 - Arrow connectors are not imported correctly from .xls"
Comment 15 Rainer Bielefeld 2014-03-07 17:37:16 UTC
Bug 111863 is not related
Comment 16 Andre 2014-03-10 08:02:03 UTC
@Rainer: Can you explain what I am supposed to see in the attached file?

Regarding the layouting of the connectors: this may not be a bug at all.  It may be just a different interpretation of the OOXML spec.  I have to check the spec to know which one it is.
Comment 17 Rainer Bielefeld 2014-03-10 08:49:06 UTC
Created attachment 82829 [details]
Screenshot comparison New

(In reply to Andre from comment #16)
Well, this simply was a wrong attachment :-(
Comment 18 Andre 2014-03-10 08:54:38 UTC
@Rainer: I suspected a wrong attachment, but it did have connectors in it, so I was not sure :-)  Thanks for the new one.
Comment 19 Armin Le Grand 2014-03-17 16:18:09 UTC
Adding me to CC.
The algorithm for lay-outing connectors is probably different in MS and its not published somewhere (I remember Sven telling this). There is a path data for the originally lay-outed connector in MS files normally that should be loaded and not touched in this case. The error may have to do with unintentionally destroying this by for some reason re-lay-outing these connectors.
The state of connectors is not good in the source, I did some enhancements in aw080 already, thus maybe one for me, at least staying in cc.