Issue 97591 - table column 'lost' on save/reload in ODT
Summary: table column 'lost' on save/reload in ODT
Status: CLOSED FIXED
Alias: None
Product: Writer
Classification: Application
Component: save-export (show other issues)
Version: DEV300m37
Hardware: All All
: P2 Trivial with 3 votes (vote)
Target Milestone: 3.4.0
Assignee: michael.ruess
QA Contact: issues@sw
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-26 10:50 UTC by pmike
Modified: 2010-12-10 08:34 UTC (History)
5 users (show)

See Also:
Issue Type: PATCH
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
a fix (9.13 KB, patch)
2009-09-04 11:30 UTC, dtardon
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description pmike 2008-12-26 10:50:31 UTC
1. Create new Writer doc
2. Create table 4x3, cursor should be in A1
3. Press <Alt+RightArrow> 10 times (unlarge 1st column, squeeze others)
4. Save as ODT
5. Close doc and reload: last column get 'lost'

PS. Dataloss (at least from user point of view) on native format: setting P2
Comment 1 kpalagin 2008-12-26 11:20:24 UTC
Confirming - as described.
Happens since at least version 2.0.4.
Suggest to fix for 3.1.
Comment 2 rail_ooo 2009-01-06 09:03:26 UTC
add CC
Comment 3 michael.ruess 2009-01-09 13:08:57 UTC
MRU->OS: perform the given steps. When using Alt-Arrow to change column width
several times, after save & reload the last column is lost.
Please have a look, if resources allow a fix for OO 3.1. Thanks!
Comment 4 pmike 2009-05-19 17:09:43 UTC
any news?
Comment 5 dtardon 2009-09-04 11:29:47 UTC
The problem is in collecting column positions for styles' export in
SwXMLTableLines_Impl::SwXMLTableLines_Impl()
(sw/source/filter/xml/xmltble.cxx:141), where the position (computed as width of
the column and all columns on the left) is represended by sal_uInt16.
Unfortunately, 16 bits is not sufficient in some cases. For example, when I
change the width of the column in the reproducer four times, widths of the
columns are 24079, 13819, 13819 and 13819, giving a total of 65536, which is 0
on 16 bits. The attached patch changes the representation of column position to
sal_uInt32.
Comment 6 dtardon 2009-09-04 11:30:36 UTC
Created attachment 64544 [details]
a fix
Comment 7 Oliver Specht 2009-09-30 09:31:12 UTC
Target changed to 3.x
Comment 8 Oliver Specht 2010-11-05 09:02:19 UTC
Fixed in cws os144 
Comment 9 Oliver Specht 2010-11-18 10:02:10 UTC
Reassigned for verification
Comment 10 michael.ruess 2010-11-24 10:12:54 UTC
Verified in CWS os144.
Comment 11 michael.ruess 2010-12-10 08:34:33 UTC
Checked fix in DEV300m95.