diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2018-08-06 19:03:22 +0200 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2018-08-07 13:59:07 +0200 |
commit | 31e66bd07c1082bb375be8aaf7835f019351d9bb (patch) | |
tree | 91ed8214c02bb9970edc3f6f3347e82e5a02c357 /android | |
parent | deb#905442 apparmor: fix saving files in enforced mode (diff) | |
download | core-31e66bd07c1082bb375be8aaf7835f019351d9bb.tar.gz core-31e66bd07c1082bb375be8aaf7835f019351d9bb.zip |
sw: fix ignored frames in AppendAllObjs()
The problem is that AppendAllObjs() doesn't check if MakeFrames()
actually created frames, it just assumes success.
If there are frames anchored in frames, then it could go through
the circular_buffer, find a dependent frame before its anchor frame,
unsuccessfully call MakeFrames(), then call MakeFrames() on the anchor
frame, and then the vector is empty.
A surprising aspect is that push_back on a boost::circular_buffer will
silently pop the first element if it's already "full". Possibly this
is what caused tdf#112447.
1. insert section
2. in paragraph in section, insert frame
3. repeat 2
4. drag anchor of frame 1 into body of frame 2
5. edit section, click hide
6. edit section, un-click hide
7. only one frame is displayed
(regression from 575e222a1742918be052f2b716ddf57ce0008404 and/or
ce2fce9a41729774689080c8b5552b60c2e6ee2d)
Change-Id: Ie782252ac388524dfb083f655320a50e95239b24
Reviewed-on: https://gerrit.libreoffice.org/58676
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Diffstat (limited to 'android')
0 files changed, 0 insertions, 0 deletions