DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=43877>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=43877





------- Additional Comments From [EMAIL PROTECTED]  2007-11-22 08:34 -------
I found what's wrong. It wasn't trivial and took two brain-teasing days to
figure it out :).

In org.apache.poi.hssf.record.RecordFactory we have a place where continuation
for drawing records is handled:


                        else if (record.getSid() == ContinueRecord.sid &&
                                 ((lastRecord instanceof ObjRecord) ||
(lastRecord instanceof TextObjectRecord))) {
                          // Drawing records have a very strange continue 
behaviour.
                          //There can actually be OBJ records mixed between the
continues.
                          lastDrawingRecord.processContinueRecord(
((ContinueRecord)record).getData() );

The problem is that this case is not handled when writing out the records. That
is if we have an OBJ record mixed with continues we read them properly.
BUT when we serialize the drawing record this structure  is lost and it results
in corrupted xls. It is reproducible with any xls file having a
continue record after OBJ. I reproduced it with 35565.xls used by
org.apache.poi.hssf.usermodel.TestBugs.test35565(). After re-save it becomes
unreadable.

The fix is coming soon.

Yegor

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to