Age | Commit message (Collapse) | Author | Files | Lines |
|
Takes load time from 22s to 15.5s
sw::mark::IMark does not need to be held by shared_ptr - we have one
vector, which holds all marks we created, and when we remove from that
vector, which remove the other references too.
Change-Id: Ie6d287d9d825f7129855b64a34afa81a2ef9c378
Reviewed-on: https://gerrit.libreoffice.org/73206
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
I don't understand if the right one is:
raising is greater, then 100%
or
raising is greater than 100%
Change-Id: I0bd4b297214f423ce0e3bb5223e0e2edee2a30e9
Reviewed-on: https://gerrit.libreoffice.org/73222
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
|
|
And if I'm at it, IWYU pointed one more unused one.
Change-Id: I978e0bbf281bebc3da574a8a857167b18a540f0a
Reviewed-on: https://gerrit.libreoffice.org/73215
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I1350a340eddad180447c46175b6b21ce787802f3
Reviewed-on: https://gerrit.libreoffice.org/72952
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Iccd87324b56fb7ff003f028330758024e47f3f26
Reviewed-on: https://gerrit.libreoffice.org/73207
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is similar to commit 6bb241ccc61c6904efec95978fa17e33c0eb1df3 (ODT
export: fix lost <text:user-field-decl> for fields in tables in headers,
2019-05-29), but here the container we want to ignore (between the
header and the field) is a text frame, not a table cell.
Change-Id: I6e8006fbd666802070cfeb88ca4528c66cc6d559
Reviewed-on: https://gerrit.libreoffice.org/73205
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Takes load time from 1m45 to 22s
Instead of (1) taking a list of SwTextAttrs (2) invoking a method that
inserts a new one (3) taking a new list and doing a delta on the list,
just the information about the new SwTextAttr up the stack and avoid all
that work.
Change-Id: Iec88618af696299aaba65f43bc33b1a5f030fac0
Reviewed-on: https://gerrit.libreoffice.org/73195
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Takes load time from 2m11 to 1m45
Since we're only interested in hints with end <= nIdx,
GetLastPosSortedByEnd to avoid scanning some of the list
Change-Id: Ibd80cb247176419aac5b6956593e5b7807c23cbf
Reviewed-on: https://gerrit.libreoffice.org/73194
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Japanese users prefer to remove a CJK IVS character
when pressing the backspace instead of removing
the selector part of IVS.
Change-Id: I4313d69ed52d82c5a7e4e4823b1da06f1d90bdad
Reviewed-on: https://gerrit.libreoffice.org/72971
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
|
|
Takes load time from 3m to 2m11
(*) Add a list sorted by which/start
(*) Use it in lcl_GetTextAttrs
(*) Fix GetLastPosSortedByEnd, previously we could potentially
static_cast the search item to something it is not
(*) Add assert to SwpHints::DeleteAtPos to verify that we don't need
sorting of the main list when deleting.
Change-Id: If82ea650172ca88486507f31b45cac8d22682451
Reviewed-on: https://gerrit.libreoffice.org/73152
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The problem was that XMLTextFieldExport::ExportFieldAutoStyle() assumed
that the text of a field anchor is always the toplevel XText, which is
true in case of body vs header text, but false in case header text vs
text-in-table-in-header.
So add an UNO property which exposes the parent of a table cell, this
way text in header (regardless of it's in a table or not) will have the
same XText, leading to writing the necessary <text:user-field-decl>
element for the matching <text:user-field-get> definition.
Change-Id: I077b8d7e9dfae4062539894318637e266b925382
Reviewed-on: https://gerrit.libreoffice.org/73176
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I85952c011e0f49e0fa8613910c993c919aa2b413
Reviewed-on: https://gerrit.libreoffice.org/73189
Tested-by: Jenkins
Reviewed-by: Zdenek Crhonek <zcrhonek@gmail.com>
|
|
Change-Id: I3fe17af05869fe7eb540b85b24742cf0045d7569
Reviewed-on: https://gerrit.libreoffice.org/73185
Tested-by: Jenkins
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
|
|
Change-Id: I79d5d8973a19c0e639081ec61ac596620518d0b5
Reviewed-on: https://gerrit.libreoffice.org/73145
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I3a824acd126dcbd3bde60ca9d68afd79cb708ed8
Reviewed-on: https://gerrit.libreoffice.org/73126
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
See https://bugs.documentfoundation.org/show_bug.cgi?id=56738#c3
Change-Id: I8dbab3fe76b2c2d83cbb07509fabe9f784664c03
Reviewed-on: https://gerrit.libreoffice.org/73088
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
by editeng support of large superscript raising.
Maximal raising of superscript text is 1584 pt in MSO,
while LibreOffice didn't import the values greater
than 100% of the current font height. Using the maximal
percent value of the default 11 pt font, the limit
is 14400% now, fixing most of the import problems.
Greater raisings will be limited to 14400% during the
DOCX import.
Note: the standard doesn't limit the bigger percent
values, see "20.374 style:text-position" and
"18.3.23 percent" in OpenDocument 1.2.
Change-Id: I3d0d08f273f2067180f74fba40c47d62364fcc59
Reviewed-on: https://gerrit.libreoffice.org/69164
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Takes load time from 4m to 3m
Use equal_range to give us a start and an end, so we avoid the operator<
cost while scanning
Change-Id: Ie57d460237cddaacecdc6032136f614e02d13760
Reviewed-on: https://gerrit.libreoffice.org/73124
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ic291a6f9907e2449093469ae8a899093dc296e26
Reviewed-on: https://gerrit.libreoffice.org/73127
Tested-by: Jenkins
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
|
|
Change-Id: I42b2ccbb4484ab2acb8208ad88c6f22e4af09f7d
Reviewed-on: https://gerrit.libreoffice.org/73114
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
It seems a bit pointless to offer formats that no other app will use.
Change-Id: I54474a4ba40d91c184592cede4224cbfbb78d518
|
|
There is no reason why Ctrl-A should be a NOP when you have an image
selected.
No test, there is one in the cp-6.0 copy&paste code, that coverage will
arrive as part of that copy&paste code forward-port.
Change-Id: If0013ee0e9ff9a6fb038a22de7b5d3c76e5c52b9
Reviewed-on: https://gerrit.libreoffice.org/73118
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
There were O(n^2) issues all over the places where we walk these lists.
This takes the opening time from 10m+ to 4m.
(*) Invalidate the sorting on a much less aggressive basis, by having
the SwTextAttr objects tell the SwpHints object when start and end pos
changes
(*) Add a bool field to indicate when the maps become unsorted, so we
can resort them only when we actually need sorted access
(*) Add an API for walking the list of SwTextAttr* without triggering
sorting, which is particularly important when the RedlineManager starts
moving things around.
(*) Add various asserts to catch code that tries to iterate over these
sorted lists but triggers resorting during the loop.
I also moved some of the logic around so that instead of
update hint
delete hint
insert hint
it now goes
delete hint
update hint
insert hint
which means that the needToSort flag does not get set because the
hint is disconnected while it is being updated.
Change-Id: Ie153ddafc9ef9e3470d588db2be2457c676232a8
Reviewed-on: https://gerrit.libreoffice.org/73090
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
by removing the redundant export of the temporary
DOCX import character styles for bullets of bulleted lists.
Note: this commit will fix the older documents – sometimes
with thousands of unused styles – by the next export.
The problem was escalated from the commit
f9c8d97d82a85b897520a2fe897352ee5ad879d9
"tdf#95213 DOCX import: don't reuse list label styles"
Change-Id: I90590352c0c85a92dbad19a45e82339e1201f1e9
Reviewed-on: https://gerrit.libreoffice.org/73098
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
This reverts commit c5338e3ad116dbde0aed801f459173231716efa3.
The actual problem was fixed in previous commit for tdf#125475.
ValidateFrame() must only be called in text formatting with a
SwTextLineAccess keeping the corresponding SwTextLine alive.
Change-Id: I5b092b094f620f2dc2524aa5a83c673ec6b1fbbe
Reviewed-on: https://gerrit.libreoffice.org/73048
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
SwCache::DeleteObj() may decide to shrink the cache, and then the
SwTextFrame::mnCacheIndex goes stale, because only
SwCacheObj::m_nCachePos is updated.
In this bugdoc, this can happen *inside* SwTextFrame::Format(), where
first it succeeds to find an existing SwTextLine, then some footnotes
anchored in this paragraph are moved around and formatted, creating new
SwTextLines, and SwCache::DeleteObj is called. Later, any access of the
original frame's SwTextLine fails to find it and eventually some null
pointer crash happens.
Newly added SwTextLine::UpdateCachePos() requires that SwTextFrame lives
longer than its SwTextLine; there was another problem with that, because
SwTextFrame::FormatEmpty() was throwing away the mnCacheIndex, which
could then cause a second SwTextLine to be created for the same
SwTextFrame, and the first one is not deleted until it falls to the
bottom of the LRU list.
Apprently for this particular document the problem didn't happen before
commit 3d37463eec0c891243a8971a34903b2da01c9e24 and/or
commit 31ae7509003b1e650463ee1468c0b315ba13efe6 but that is mostly luck.
Change-Id: I7bef1b340a453d6dd44d51a1dc69ee5fd0b697db
Reviewed-on: https://gerrit.libreoffice.org/73047
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
When pasting a table we get:
warn:legacy.osl:29407:29407:sw/source/core/layout/findfrm.cxx:1136: <SwFrame::FindPrevCnt_()> - unknown layout situation: current frame should be in page header or page foote
... because SwCellFrame's constructor inserts the content of the cell
before the SwCellFrame's mpUpper is set, so it's not connected to
anything; hence FindNextCnt()/FindPrevCnt() can only return frames
inside the cell anyway, and all of those are newly created, so
invalidating a11y flow-relations for them seems pointless because a11y
doesn't even know about them yet.
Change-Id: I96eb59d6ecfdaa453894d06494c6c50faa7cd1bd
Reviewed-on: https://gerrit.libreoffice.org/73046
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Metafiles may have an external header, so once graphic data is read, we
need to set the size explicitly. Otherwise the width of the EMF image in
the bugdoc will be too small.
Change-Id: I2441eda61278b0f4973db5d9aa14618ccd17c397
Reviewed-on: https://gerrit.libreoffice.org/73064
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
FinalizeImport() could be triggered by accident while
editing the document. Now we set it by checking
PROP_REDLINE_REVERT_PROPERTIES used only in OOXML import.
This is a clean-up of the commit 8acc15b5113c798ecdbeed91456a92e7b0c1334e
"tdf#118699 DOCX import: don't add numbering."
Change-Id: Ib1f4ee41ba94d640788396037b668b85b800f9d0
Reviewed-on: https://gerrit.libreoffice.org/73043
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I67550b325a0ac177ffbd52718234c2a0edf1154c
Reviewed-on: https://gerrit.libreoffice.org/73033
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
A chart in a footnote was appeared in every footnotes,
resulting fatal problems during a few import/export cycles,
see tdf#115558 (MSO is unable to open the DOCX export
with multiplied objects).
Change-Id: Ib729e4442ed3c92e4646fa7cdf7253a963d883e8
Reviewed-on: https://gerrit.libreoffice.org/73025
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
No function change, default behavior is still mapping them to postits.
Change-Id: I55041452909e9f0b83d6c5d113af3067b3c0afdb
Reviewed-on: https://gerrit.libreoffice.org/73021
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: I84fc75e06e61e5391aef6e237c36daad95dedb84
Reviewed-on: https://gerrit.libreoffice.org/72550
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I44565d1ba019f3639ef920f7ef7177a3cd89d117
Reviewed-on: https://gerrit.libreoffice.org/73018
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Changed the solution https://gerrit.libreoffice.org/#/c/70786/
of Vasily sligthly, so MS Office can recognize fields still
as fields.
Change-Id: Id45330a96dfe002685c6ef3dc62e408c5f9f46c4
Reviewed-on: https://gerrit.libreoffice.org/72868
Tested-by: Jenkins
Reviewed-by: Vasily Melenchuk <vasily.melenchuk@cib.de>
|
|
Change-Id: Iea795980626b09a227f8fda59f0065d5dbb1ac24
Reviewed-on: https://gerrit.libreoffice.org/72986
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia71a6c8758c08f6824588308dde4a581cf52030b
Reviewed-on: https://gerrit.libreoffice.org/72985
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I2b7e2df1ad3bfddb3182691720fa3aa1cdf21721
Reviewed-on: https://gerrit.libreoffice.org/72984
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia4f4d57899821cf735a3babadd73bbd90e84afb0
Reviewed-on: https://gerrit.libreoffice.org/72983
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to make followup improvements easier
Change-Id: I2b0ab30589bc19a3e6c80228ab037745c7781292
Reviewed-on: https://gerrit.libreoffice.org/72978
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Reduce unnecessary scanning on MarkManager::deleteMark
Change-Id: I4af07877a98b12f20f486974eb77ee2989a2fbc9
Reviewed-on: https://gerrit.libreoffice.org/72949
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This fixes tdf112618, which wasn't importing properly anymore
since recent commit cc899c6967238877f0094bcf00627145e484ffec
for bug 101826.
I tried to setFly( XFillTransparencyItem(100) ), but then
it didn't round-trip. Fixing up the export sounds like a
suicide mission, so I just used the non-regressive path.
There is still a chance that unset transparency could cause problems
with other types like solid/gradient/bitmap. However, I wasn't
able to design any example documents to prove that. One difference
is that the RES_BACKGROUND looks in the parents (bInP) for
attributes, while I only transfer directly set attributes(!bInP).
Change-Id: I5160562e222629510ede3b49ae85ec99f7b351c9
Reviewed-on: https://gerrit.libreoffice.org/71646
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
|
|
Change-Id: I09ea15a845bdae45453983862edbcbe9550cce86
Reviewed-on: https://gerrit.libreoffice.org/72942
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Revert LO 6.3 bugfix d9a6eab15a747cf4c8a3d04f4b21fe1a1c3d0721
because LO has changed the behaviour of implicit sections
when Protect Forms is enabled. Now they are editable,
making the Protect Form compatibility option nearly useless.
(tdf#122201 commit d9a6eab15a747cf4c8a3d04f4b21fe1a1c3d0721
which was backported to LO 6.2). Since implicit sections are
now editable in LO, they should export as editable.
See tdf#124451 for a one-sided discussion about this.
Since many people may have used this switch as a simple way
to create a protected form in the past, document this change
and point to sections as the way to set protection natively.
Protect Form is now only good for protecting the form field
itself from being deleted while the user is filling out the form,
and that is true only for legacy sw::mark::IFieldmark form fields
which have no UI in LO for adding them (.doc compatibility forms).
Change-Id: I938f015fe63c22e831654e96de77b5809bb924ff
Reviewed-on: https://gerrit.libreoffice.org/71716
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
|
|
it is just obfuscating the code
Change-Id: I72491d4861d06bd032bb014314c18605967aa3c9
Reviewed-on: https://gerrit.libreoffice.org/72824
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
of a paragraph after a tracked deletion in Hide Changes
mode (including hiding the numbering completely).
We add the numbering of the paragraph to the first node
of the deletion, so Hide Changes mode will show the
actual text content correctly.
Note: file saving already makes the same changes in the
deletion without this workaround, too.
Change-Id: I09d3ad2c05bfd6c7f9f65cfe21a4bade2ac18a14
Reviewed-on: https://gerrit.libreoffice.org/72784
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: Ic89a07a6ac3103da77fae8d28f4295fd17c35f89
Reviewed-on: https://gerrit.libreoffice.org/69602
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
This patch makes multi selected chapter promote demote results the same
as when each selection is promoted or demoted individualy. Multi
selected chapter promotions (moved up) are done in tree list order from
top to bottom. Multi select chapter demotions (moved down) are done in
tree list order from bottom to top.
Change-Id: Iee238fd2bc84521a6eacf6688b94fa0be1e32f67
Reviewed-on: https://gerrit.libreoffice.org/71270
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Change-Id: I1ac3c3f5da3322d33c130cbd5de77c564b1e66ed
Reviewed-on: https://gerrit.libreoffice.org/72892
Tested-by: Jenkins
Reviewed-by: andreas_kainz <kainz.a@gmail.com>
|
|
...by 28bff4bd3947f442c0aebb92217cd0c7b6a53bda "convert nsRedlineType_t to
scoped enum", causing an invalid read in SwRedlineData::operator == during
CppunitTest_sw_uwriter.
Change-Id: I4e124532c84fa19e6e29e6d17ed48e34ccaa4042
Reviewed-on: https://gerrit.libreoffice.org/72887
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|