a0a8351...
by
Christian Lohmaier <email address hidden>
Update git submodules
* Update translations from branch 'libreoffice-6-2-4'
- update translations for 6.2.4 rc2
and force-fix errors using pocheck
Change-Id: Ic143bd8070d7f8ef2c46265a88cfc215717c807c
(cherry picked from commit b4ac8d65832ab402e449f0e294bb3f09c4095fef)
3a93e29...
by
Michael Stahl <email address hidden>
tdf#125261 sw_redlinehide: fix inf. loop in SwAutoFormat::AutoCorrect()
The problem is that somehow a subraction of 1 from nPos made its way
into commit 938f8a6b387828b8c18819184c47a5245bdfac8a, which is likely
some copypasta blunder.
a813b7b...
by
Michael Stahl <email address hidden>
tdf#124675 sw: fix crash when moving SwTextFrame in table to prev page
The problem is that the SwTabFrame and SwRowFrame that are being
iterated are deleted:
7 SwFrame::DestroyFrame(SwFrame*) (pFrame=0x79052c0) at sw/source/core/layout/ssfrm.cxx:386
8 SwTabFrame::RemoveFollowFlowLine() (this=0x5bf07d0) at sw/source/core/layout/tabfrm.cxx:907
9 SwTabFrame::MakeAll(OutputDevice*) (this=0x5bf07d0) at sw/source/core/layout/tabfrm.cxx:1839
10 SwFrame::PrepareMake(OutputDevice*) (this=0x5bf07d0) at sw/source/core/layout/calcmove.cxx:344
11 SwFrame::Calc(OutputDevice*) const (this=0x5bf07d0) at sw/source/core/layout/trvlfrm.cxx:1790
12 SwFrame::PrepareMake(OutputDevice*) (this=0x603a570) at sw/source/core/layout/calcmove.cxx:247
13 SwFrame::Calc(OutputDevice*) const (this=0x603a570) at sw/source/core/layout/trvlfrm.cxx:1790
14 SwFrame::PrepareMake(OutputDevice*) (this=0x5daf120) at sw/source/core/layout/calcmove.cxx:247
15 SwFrame::Calc(OutputDevice*) const (this=0x5daf120) at sw/source/core/layout/trvlfrm.cxx:1790
16 SwFrame::PrepareMake(OutputDevice*) (this=0x6005ca0) at sw/source/core/layout/calcmove.cxx:247
17 SwFrame::Calc(OutputDevice*) const (this=0x6005ca0) at sw/source/core/layout/trvlfrm.cxx:1790
18 SwFrame::MakePos() (this=0x6094330) at sw/source/core/layout/calcmove.cxx:490
19 SwTextFrame::MakePos() (this=0x6094330) at sw/source/core/text/frmform.cxx:343
20 SwContentFrame::MakeAll(OutputDevice*) (this=0x6094330) at sw/source/core/layout/calcmove.cxx:1346
21 SwFrame::OptPrepareMake() (this=0x6094330) at sw/source/core/layout/calcmove.cxx:368
22 SwFrame::OptCalc() const (this=0x6094330) at sw/source/core/inc/frame.hxx:1060
23 SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) (this=0x7ffc6da48350, pLay=0x8a349c0, bAddRect=false) at sw/source/core/layout/layact.cxx:1362
24 SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) (this=0x7ffc6da48350, pLay=0x79052c0, bAddRect=false) at sw/source/core/layout/layact.cxx:1357
25 SwLayAction::FormatLayoutTab(SwTabFrame*, bool) (this=0x7ffc6da48350, pTab=0x7a9c300, bAddRect=false) at sw/source/core/layout/layact.cxx:1569
26 SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) (this=0x7ffc6da48350, pLay=0x7c30300, bAddRect=true) at sw/source/core/layout/layact.cxx:1354
27 SwLayAction::FormatLayout(OutputDevice*, SwLayoutFrame*, bool) (this=0x7ffc6da48350, pLay=0x79e1780, bAddRect=true) at sw/source/core/layout/layact.cxx:1357
28 SwLayAction::InternalAction(OutputDevice*) (this=0x7ffc6da48350) at sw/source/core/layout/layact.cxx:546
They are deleted because the last SwTextFrame was moved via MoveBwd() to
the previous page, and is formatted there.
(regression from commit 18765b9fa739337d2d891513f6e2fb7c3ce23b50)
Prevent this via:
* delete-guard for the SwRowFrame - causing RemoveFollowFlowLine() to
return early (also, let it return false, so the Join() isn't even
called, although that doesn't make a difference in practice because
of the next item:)
* join-guard for the SwTabFrame - otherwise tabfrm.cxx:2199 will Join()
it anyway
This means that when the page with the follow-frame is done formatting,
the empty SwTabFrame with no SwTextFrame in it will remain. Fortunately
this is not a problem, because due to the moving, the previous page will
be invalid and layact.cxx:613 will iterate to the previous page and
format it again; then tabfrm:2199 of the master SwTabFrame will detect
that the follow SwTabFrame is empty and Join() it.
d20121b...
by
=?utf-8?q?Caol=C3=A1n_McNamara?= <email address hidden>
Resolves: tdf#124927 crash on multiple drawing shapes in animation dialog
since...
SOSAW080: Added first bunch of basic changes to helpers
commit dfefe448c41921f2f1e54d3f69b8b9e89031d055
Date: Thu Mar 1 15:54:32 2018 +0100
Change-Id: I9feba16b5efdbec5c817bebf2772e2f2882bdfe9
Reviewed-on: https://gerrit.libreoffice.org/72055
Reviewed-by: Michael Stahl <email address hidden>
Tested-by: Jenkins
(cherry picked from commit 6670ae80580a5f80d6042b7f9d49308862472c90)
Reviewed-on: https://gerrit.libreoffice.org/72081
Reviewed-by: Xisco Faulí <email address hidden>
Reviewed-by: Katarina Behrens <email address hidden>
Tested-by: Katarina Behrens <email address hidden>
880fa53...
by
Michael Stahl <email address hidden>
tdf#122892 tdf#124366 sw: fix loop in SwTextFrame::CalcFollow()
... differently; commit b7d4418c309c8bc4fd25485dd3a0ea6ad9edf34e
was partially wrong because if SetPrepWidows() isn't called and the
master and follow have fewer lines than the sum of orphans and
widows, then the frames must be merged, i.e., master must move
forward to the next page and follow must be deleted, but that only
happens with SetPrepWidows().
However if the SwTextFrame::PrepWidows() determines that no lines can be
moved from the master, SwTextFrame::CalcPreps() will grow the master
to force it to move to the next page, and then it sets SetWidow() too,
so check this flag to break the loop in SwTextFrame::CalcFollow().
Another question is what is the point of the "very cheesy" follow
formatting fall-back, which might be removable.