https://bugs.freedesktop.org/show_bug.cgi?id=80926

--- Comment #5 from Jan-Marek Glogowski <glo...@fbihome.de> ---
Just as an information: this is also broken in AOO 4.1.

I've started to debug SwToCntntAnchoredObjectPosition::CalcPosition using the
extended test document with three pages. But the the problem seems to be
outside of the CalcPosition function, because the arguments to _CalcRelPosX is
already broken.

sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx:982 
  SwFmtHoriOrient aHori( rFrmFmt.GetHoriOrient() );

creates an already wrong object. The object for page 1 + 3 (and all other
pages) is:

$1 = (SwFmtHoriOrient) {
  <SfxPoolItem> = {
    _vptr.SfxPoolItem = 0x640e37e8, 
    m_nRefCount = 0, 
    m_nWhich = 102, 
    m_nKind = 0
  }, 
  members of SwFmtHoriOrient: 
  nXPos = 0, 
  eOrient = 0, 
  eRelation = 0, 
  bPosToggle = false
}

while for page 2 it is:

$2 = (SwFmtHoriOrient) {
  <SfxPoolItem> = {
    _vptr.SfxPoolItem = 0x640e37e8, 
    m_nRefCount = 0, 
    m_nWhich = 102, 
    m_nKind = 0
  }, 
  members of SwFmtHoriOrient: 
  nXPos = -1706, 
  eOrient = 0, 
  eRelation = 0, 
  bPosToggle = false
}

I also checked the ODTs content.xml. Here is the output for page 2 and 3:

<style:style style:name="P1" style:family="paragraph"
style:parent-style-name="Standard">
  <style:paragraph-properties fo:break-before="page"/>
</style:style>

<text:p text:style-name="P1">
  <draw:line text:anchor-type="paragraph" draw:z-index="1"
draw:style-name="gr1" draw:text-style-name="P2" svg:x1="0in" svg:y1="-0.3799in"
svg:x2="1in" svg:y2="-0.3799in">
    <text:p/>
  </draw:line>
</text:p>
<text:p text:style-name="P1">
  <draw:line text:anchor-type="paragraph" draw:z-index="2"
draw:style-name="gr1" draw:text-style-name="P2" svg:x1="0in" svg:y1="-0.3799in"
svg:x2="1in" svg:y2="-0.3799in">
    <text:p/>
  </draw:line>
</text:p>

If you manually correct the X value of the 2nd line after loading using the GUI
(to 0in) and save the document, you don't get svg:x1="0in" and svg:x2="1in" but
a fraction smaller values.

I'm still trying to understand the styles.xml; even for this simple document
it's kind of "huge". Probably someone else can spot a problem, but for me it
looks correct.

Currently I'm looking for the code, where the SwFmtHoriOrient of the SwFrmFmt
is actually initialized (or changed).

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to