1. 23 May, 2019 6 kayıt (commit)
    • Michael Stahl's avatar
      tdf#119109 sw: fix SwTableFrame follow chain formatting · 72b52ba3
      Michael Stahl yazdı
      The remaining problem is that with the previous commit, the layout stops
      at some point and everything is crammed into the next-to-last page, with
      the following symptom:
      
      warn:legacy.osl:7667:7667:sw/source/core/layout/tabfrm.cxx:2642: debug assertion: <SwTabFrame::MakeAll()> - format of table lowers suppressed by fix i44910
      
      This is apparently because of some very funny recursion that goes in
      circles until it formats some part of the "outer" table again.
      
      0  SwTabFrame::MakeAll(OutputDevice*) (this=0x82b0280) at tabfrm.cxx:2642
      ^ mpUpper -> 928 - top-level SwTabFrame and m_pFollow of 905
      1  SwFrame::PrepareMake(OutputDevice*) (this=0x82b0280) at calcmove.cxx:372
      2  SwFrame::Calc(OutputDevice*) const (this=0x82b0280) at trvlfrm.cxx:1790
      3  SwFrame::PrepareMake(OutputDevice*) (this=0x6c06ba0) at calcmove.cxx:247
      4  SwFrame::Calc(OutputDevice*) const (this=0x6c06ba0) at trvlfrm.cxx:1790
      5  SwFrame::PrepareMake(OutputDevice*) (this=0x82aebf0) at calcmove.cxx:247
      6  SwFrame::Calc(OutputDevice*) const (this=0x82aebf0) at trvlfrm.cxx:1790
      7  SwFrame::PrepareMake(OutputDevice*) (this=0x6d674e0) at calcmove.cxx:247
      8  SwFrame::Calc(OutputDevice*) const (this=0x6d674e0) at trvlfrm.cxx:1790
      ^ m_pFollow->mpNext -> 332 - again! it's now m_pFollow->mpNext
      9  SwTabFrame::MakeAll(OutputDevice*) (this=0x6d64570) at tabfrm.cxx:2544
      ^ 303 - nested SwTabFrame, used to precede 332 but has now split and its m_pFollow precedes 332
      10 SwFrame::PrepareMake(OutputDevice*) (this=0x6d674e0) at calcmove.cxx:313
      11 SwFrame::Calc(OutputDevice*) const (this=0x6d674e0) at trvlfrm.cxx:1790
      ^ 332 - SwTextFrame originally inside 991, but moved under top-level SwTabFrame 928 at this point
      12 SwContentFrame::CalcLowers(SwLayoutFrame*, SwLayoutFrame const*, long, bool) (pLay=0x6dccbf0, pDontLeave=0x6ed6e30, nBottom=9223372036854775807, bSkipRowSpanCells=true) at tabfrm.cxx:1479
      ^ m_pLower -> 991 - SwRowFrame
      13 lcl_RecalcRow(SwRowFrame*, long) (pRow=0x6dccbf0, nBottom=9223372036854775807) at tabfrm.cxx:1614
      14 lcl_RecalcTable(SwTabFrame&, SwLayoutFrame*, SwLayNotify&) (rTab=..., pFirstRow=0x6dccbf0, rNotify=...) at tabfrm.cxx:1691
      15 SwTabFrame::MakeAll(OutputDevice*) (this=0x6ed6e30) at tabfrm.cxx:2082
      ^ m_pFollow -> 905 - top-level SwTabFrame
      16 SwTabFrame::MakeAll(OutputDevice*) (this=0x381d3e0) at tabfrm.cxx:2504
      17 SwFrame::PrepareMake(OutputDevice*) (this=0x381d3e0) at calcmove.cxx:372
      18 SwFrame::Calc(OutputDevice*) const (this=0x381d3e0) at trvlfrm.cxx:1790
      ^ 866 - top-level SwTabFrame
      19 SwLayAction::FormatLayoutTab(SwTabFrame*, bool) (this=0x7fff95aa3f20, pTab=0x381d3e0, bAddRect=true) at layact.cxx:1483
      20 SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) (this=0x7fff95aa3f20, pLay=0x6cfedc0, bAddRect=true) at layact.cxx:1375
      21 SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) (this=0x7fff95aa3f20, pLay=0x6e23fd0, bAddRect=true) at layact.cxx:1380
      
      The first attempt was to add a TextFrameLockGuard around the
      pFrame->MakeAll() call in PrepareMake(), with corresponding test in
      SwTabFrame::MakeAll() ... but a similar problem still occurred, just now
      on page 18 instead of page 12.
      
      Another idea is to prevent PrepareMake() from formatting the
      SwTableFrame's follow *again*; it was already formatted by
      SwTabFrame::MakeAll() anyway, just before it calls pNxt->Calc().
      
      With this, we get 23 pages for the bugdoc, same as before that commit:
      (regression from 18765b9f)
      
      Change-Id: I71e3f92b5f19b800626a008527fa75d08641e8de
      Reviewed-on: https://gerrit.libreoffice.org/72799Reviewed-by: 's avatarMichael Stahl <Michael.Stahl@cib.de>
      Tested-by: 's avatarMichael Stahl <Michael.Stahl@cib.de>
      (cherry picked from commit 53a0a86d)
      Reviewed-on: https://gerrit.libreoffice.org/72819
      Tested-by: Jenkins
      Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
      72b52ba3
    • Caolán McNamara's avatar
      crashtesting: failure on layout of tdf92372-4.odt · 07642832
      Caolán McNamara yazdı
      Change-Id: I8d5bb318674311b1e21c6fdf487d69609af344a5
      Reviewed-on: https://gerrit.libreoffice.org/72725
      Tested-by: Jenkins
      Reviewed-by: 's avatarMichael Stahl <Michael.Stahl@cib.de>
      07642832
    • Michael Stahl's avatar
      tdf#119109 sw: fix iteration in SwFrame::PrepareCursor() too · 98e4e308
      Michael Stahl yazdı
      This is some copypasta, apply the same fix.
      
      Change-Id: I096594f6d54fef68e63c982c2963499d24af6d15
      Reviewed-on: https://gerrit.libreoffice.org/72798
      Tested-by: Jenkins
      Reviewed-by: 's avatarMichael Stahl <Michael.Stahl@cib.de>
      (cherry picked from commit c24299c3)
      Reviewed-on: https://gerrit.libreoffice.org/72818Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
      98e4e308
    • Michael Stahl's avatar
      tdf#119109 sw: fix iteration in SwFrame::PrepareMake() · 7724fdc2
      Michael Stahl yazdı
      The problem is that with the change in SwFlowFrame::MoveBwd(), a
      SwTextFrame in a table may move backwards during MakeAll(); if the next
      frame of the moved frame, and the "this" frame in PrepareMake(), is a
      SwTabFrame, then the pFrame->FindNext() will return not this SwTabFrame,
      but the first SwTextFrame *inside* the SwTabFrame - hence the iteration
      will never meet the "pFrame == this" termination condition and the
      SwTabFrame remains unformatted; this warning is printed:
      
      warn:legacy.osl:6874:6874:sw/source/core/layout/calcmove.cxx:296: :-( Layout unstable (this not found).
      
      (regression from 18765b9f)
      
      Change-Id: I68207ba9cf68cd5abe51d647cb757176261eda40
      Reviewed-on: https://gerrit.libreoffice.org/72797
      Tested-by: Jenkins
      Reviewed-by: 's avatarMichael Stahl <Michael.Stahl@cib.de>
      (cherry picked from commit e14056e6)
      Reviewed-on: https://gerrit.libreoffice.org/72817Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
      7724fdc2
    • László Németh's avatar
      tdf#125310 change tracking: don't copy page break · dfd5b969
      László Németh yazdı
      at paragraph deletion, because it's more annoying,
      than helpful.
      
      Note: ODT file saving copies the page break
      into the deleted paragraph, but not the DOCX export.
      
      See also commit 22639148
      "tdf#54819 change tracking: keep paragraph style after full deletion"
      
      Reviewed-on: https://gerrit.libreoffice.org/72611
      Tested-by: Jenkins
      Reviewed-by: 's avatarLászló Németh <nemeth@numbertext.org>
      (cherry picked from commit 23c159d9)
      
      Change-Id: Ib9cbb58266a9067b1f8fb1f15bfdf9ff752a1ba4
      Reviewed-on: https://gerrit.libreoffice.org/72682
      Tested-by: Jenkins
      Reviewed-by: 's avatarXisco Faulí <xiscofauli@libreoffice.org>
      dfd5b969
    • Jim Raykowski's avatar
      tdf#123793 Add kb tab navigation to special chars popup window · cf4c1bcc
      Jim Raykowski yazdı
      ...and keep the 'More Characters...' button as first focused
      
      Change-Id: Iab4cb00aaed9250f0cc7f35f27af48eb326f2a48
      Reviewed-on: https://gerrit.libreoffice.org/71834
      Tested-by: Jenkins
      Reviewed-by: 's avatarJim Raykowski <raykowj@gmail.com>
      (cherry picked from commit caa6de6c)
      Reviewed-on: https://gerrit.libreoffice.org/72772Reviewed-by: 's avatarAdolfo Jayme Barrientos <fitojb@ubuntu.com>
      cf4c1bcc
  2. 22 May, 2019 18 kayıt (commit)
  3. 21 May, 2019 16 kayıt (commit)