[REVIEW][3-5] fdo#42750 sw: thin table borders hidden by subsidiary lines

Michael Stahl mstahl at redhat.com
Fri Mar 16 15:29:18 PDT 2012

in Writer, the subsidiary lines for tables are drawn on top of the
border lines, hiding them completely if they are very thin.
this is a regression in LO 3.4: in commit
0f0896c26fb260d1bbf31d7a886df3f61837f0f2 the drawing of the borders was
changed completely and they are now drawn immediately, while previously
they were added to a pLines array first and painted later.

this fix introduces a new array to store the borders and paints them
after the subsidiary lines are done, effectively on top of the
subsidiary lines.


there is quite a bit of complex stuff going on in paintfrm.cxx with
border lines and subsidiary lines, e.g. the subsidiary lines are
actually checked and the ones that overlap with border lines are removed
and never painted, but unfortunately that does not work with the new way
the border lines are painted (via drawinglayer), and so i'm not sure if
there are not even more problems here.

i've also tried to avoid adding a new global variable by adding a
parameter to some methods, but it turned out it would be necessary to
add this to SwFrm::Paint, which is overridden in a boatload of
subclasses, so i didn't like have that in -3-5.

More information about the LibreOffice mailing list