Age | Commit message (Collapse) | Author |
|
Regression from commit f3bec764ddbf3fd3ae986f034c89626bf22940e0
"tdf144058 sw track changes: fix table deletion at paragraph join".
Conflicts:
sw/source/core/doc/docredln.cxx
(chrery-picked from commit 7462f728df54c28cea659dbf9aa92070019b489f)
Change-Id: If08a2b85c3db9fe92ad623d3d7cb30f2feaaab36
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140159
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
This reverts commit 06e2cbb31d0ea703df872b91eb8eacdcaced7653
"tdf#130805 SwTextBoxHelper::create: fix frame position in shape"
which caused this regression. That fix is not necessary any more: synchronization does the same without crashing.
Note: according to this, unit test of commit 06e2cbb31d0ea703df872b91eb8eacdcaced7653 wasn't removed.
Change-Id: I45bc15d3cf6a5d93b8c54cb4e68018702e58efff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136674
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 9188d7389c06496905c351a936b85974c1ae516f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136982
Tested-by: Jenkins
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137047
|
|
This code was added in commit 56b2cf0c10d9caa01ebae1d80465e342d046a85c
"sw-collapse-empty-table-par-like-html.diff" and leaves us to guess
what it should do.
Apparently it's trying to replicate a Word feature where an empty
paragraph at the end of a table cell and preceded by a nested table is
effectively hidden, *unless* the user moves the cursor into it, at which
point it grows to its ordinary height.
The problem is that this is implemented by invalidating the position of
any table once the cursor is moved into it, causing it to be
reformatted, at potentially great expense, regardless if the cursor is
actually on a paragraph that may be hidden.
Also limit invalidations to when the cursor has actually moved to a
different node.
To fix tdf#105330, un-collapse a paragraph after Undo, requires
additionally doing the same notification from
SwUndoInsTable::UndoImpl() because the SwCallLink won't see the removed
table any more.
Mysteriously this causes the test SwLayoutWriter2 testTdf124261 to fail
in Jenkins, but only on MacOSX so impossible to debug; tb86 fails with:
layout2.cxx:2227:testTdf124261::TestBody
equality assertion failed
- Expected: 1721
- Actual : 5437
... and tb84 with:
layout2.cxx:2227:testTdf124261::TestBody
equality assertion failed
- Expected: 1721
- Actual : 3740
Change-Id: Ifd55097735d3675e6b82264f455baa44e9c9e30a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136963
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit c605283ad6785dea762feab5fdffd9d27e75c292)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137034
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Regression from commit 78e25558e86188314b9b72048b8ddca18697cb86
(tdf#106059 PDF export: create a reference XObject for JPG images with
PDF data, 2017-02-23), once a PDF image was inserted to a document, an
encrypted PDF export lost those images.
The reason for this is that we started to preserve PDF images as vector
data with the above commit, but this means we copied over PDF objects
from PDF images to the export result as-is, so encryption was not
performed for them.
Fix this by separating the write of the PDF object headers, stream
content and object footer and then calling
checkAndEnableStreamEncryption() / disableStreamEncryption() for each
object, even if it's not something our PDF export created but comes from
a PDF image.
Note that when existing PDF files are signed, PDF objects are also
copied into a vcl::filter::PDFDocument, but such PDF images are never
encrypted, so it's fine to have stub implementations in
vcl::filter::PDFDocument.
(cherry picked from commit 7d56dae3375dc0180aa6d20983b3f5f962302588)
Conflicts:
filter/qa/pdf.cxx
svx/qa/unit/core.cxx
vcl/qa/cppunit/pdfexport/pdfexport.cxx
Change-Id: I2f74b9f51cd35b4319221532ca890e197bab9cf3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137358
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
The conditionally hidden sections became visible when PDF export
is performed. This is due to field update where we temporary made
the conditionally hidden section visible (as the frame is needed),
but never put them back to hidden. Probably the expectation was
that the condition will be recalculated later on, but wasn't. This
change fixes this so that the changed sections will be recalculated
at the end.
Change-Id: Ic6d8a4a38f22ed961b2b37e05aaf3e720fc50ed4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137052
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137162
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
This is a continuation of commit 85376a02348810812d515ee72140dbf56f2b6040
for the case when redlining is turned on.
Also try to restore the anchors in SwUndoRedlineDelete.
(regression from commit 3345feb67f2c49a1b76639965b56968e1c5f03ee)
Change-Id: I4199f5755398d469a606618c037ad9756cb7aeba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135909
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 932a8efce878547bfd81521d0cf1ddfe8dc33ec6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135968
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
The problem is that there isn't a redline type "Replace" so it's
represented as Delete+Insert.
To prevent the flys anchored in the text from being deleted, move the
anchors to the point between the old (deleted) and new (inserted) text.
(regression from commit 28b77c89dfcafae82cf2a6d85731b643ff9290e5)
Change-Id: Ib600c9dbfb9421917e4b8d61195c48cf0b364f06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135604
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 646c6ddd91a98afddf914e3889cb269fc814c060)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135737
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
(regression from commit d6b0e84b236b78f4b21bd16e46dda3fa0876096d)
Change-Id: I1facf1584a349d1d087438f4e6fd3a63a80c6f7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135585
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 45613274794636ba98d0e978fe872511297d275d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135549
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Also fixes: tdf#134007 tdf#138835 tdf#139514
When a character is deleted via the keyboard by Backspace or Delete key,
an artificial selection is created in SwWrtShell::DelLeft()/DelRight().
Ideally this should not delete flys that may be anchored to the
paragraphs, but unfortunately this may happen if there are only 2 empty
paragraphs in the section, because then the artificial selection cannot
be distinguished by the SwDoc implementation from a selection from
Ctrl+A (Select All), which *should* delete the flys.
So introduce a new flag that needs to be passed down multiple layers so
that SwUndoDelete can use it to determine if flys should be deleted, and
translating it to a flag that had been introduced to preserve flys in
ReplaceRange() previously.
There are a couple more callers that look like they want to "replace"
some text, so guess a bit at where to set this new flag.
(note: of course fly anchored *as char* must be deleted via keys.)
(regression from commit e75dd1fc992f168f24d66595265a978071cdd277)
Change-Id: Ib4467476b12a12aefbbcb74ab9802f9318cf9aa0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135476
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 85376a02348810812d515ee72140dbf56f2b6040)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135517
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
When openeing the simplefooter.docx, after removing the footer and
exporting to .doc, LibreOffice crashes. This regression was
introduced with 88e6a1bfeac86e0c89d2ff08c908c2b5ae061177 which is
titled: "DOCX: export hidden (shared) headers/footers".
The current patch fixes this problem by checking to see if the header
or footer text is there or not.
A unit test is added to avoid this problem in the future. One can run
the test with:
make CPPUNIT_TEST_NAME="testTdf149184" -sr CppunitTest_sw_uiwriter7
Change-Id: I5586561677b3c490e49b4b10bd987aecdf3fc134
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134684
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134829
|
|
Change-Id: Ie5d62eaec01a3b06ff1bd6070510384641ea7ad3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134483
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 1f8795df957c18c5c06bf1d68d0d60b1d30f015d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134448
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Commit 915d3eebc1dc4f18d7a1992db801ee8313ee46c0
"tdf#39828 sw: fix table formula calculation at track changes"
allowed to use footnotes in value cells unintentionally.
The only problem was that modifying cells with footnotes didn't
trigger formula recalculation in text tables, according to the
incomplete SwTableBox::IsValidNumTextNd(). Instead of
asking formula recalculation pressing F9, now IsValidNumTextNd
was extended to skip footnotes, similar to the already
skipped comments.
Also clean-up to testTdf39828 (remove copy-paste code), and
clean-up to commit 915d3eebc1dc4f18d7a1992db801ee8313ee46c0
"tdf#39828 sw: fix table formula calculation at track changes"
to avoid of unnecessary calls of GetRedlineText(), which
is an expensive call, especially when there are a lot of redlines
with overlapping (see commit d467cd0dd9e9cf3b018859a592e2638527bc7add
"tdf#135683 speedup DocumentRedlineManager::GetRedlinePos").
Change-Id: I00243ef0985805414723e26fe26d6e9c04ce86cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133579
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 978e22f8cfb3db573bed3fd4b14a515cf090f7e5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133722
Tested-by: Jenkins
|
|
Table insertion mode and Paste as Rows Above inserted
only a single row above, and overwrite the next ones in
the following cases (instead of inserting/pasting rows
above according to the clipboard table content):
The table stored in the clipboard
– has centered, right or not paragraph starting alignment;
– or its resource table has a table header with 2 or more
repeating rows, and the clipboard content contains the
same amount or less rows (it doesn't matter, that
the copied rows weren't header rows originally).
The reason was that parsing of the HTML clipboard content
which is used for counting the row count of the clipboard
content hadn't handle the following cases:
– different table aligment results <tr> elements with
greater indentation level in the HTML extract, according
to the new root element <center>, <div> or <dl>;
– copying rows from a table with row header always starts
with <thead> in the HTML extract, i.e. detecting <tbody>
can fail, because there could be only <thead> in the
HTML extract (see Case 2 above).
Follow-up to commit 0c8b1efbad48fa9697c0b1afbe4753bbbc3c4c5c
"tdf#127759 Writer: add table row/column insert mode" and
commit 7efae60f3625a58f8a617c80f2a55a695fbaef36
"tdf#64902 Writer table: Paste Special->Rows Above".
Change-Id: I466cea20705bc5dd5455e22842da7dfa6631ba81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133445
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 2fbf0f418ccb25010add33449d4e42b8b3f7fd0b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133411
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Paste table content overwrote cells of the row(s) only if the text
cursor was at the beginning of the table cell, otherwise the table
cells on the clipboard were inserted as a nested table.
This was a UX regression from commit 7600a2942ce2b9dac66836105bed6620d55abec2
"fdo#37156 insert table copy as nested table in non-starting cell position"
especially when the user clicked not exactly at the beginning of a
cell, which containing a 1-line text or data.
Since commit 1e278d1d0cfb1d5375195aa764739f00633f21e8
"tdf#37156 Writer menu: Paste as Nested table" it's possible to
force nesting (but not overwriting yet), this commit revert partially
commit 7600a2942ce2b9dac66836105bed6620d55abec2: if the text cursor
is there in the first paragraph of the cell, Paste table content
overwrites the row, not embedding a nested table in the cell
at the cursor position. This change results also better interoperability
with the existing document editors.
Note: table and text selection were checked with the change, too.
Details:
Heuristics to allow copying table rows or nesting tables
without using Edit -> Paste Special -> Paste as Nested Table:
At "table selection" (i.e. when cell(s) completely selected),
or if the text selection starts in the first paragraph, or if
there is no selection and the text cursor is there in the first
paragraph, overwrite content of the cell(s). Otherwise insert
a nested table, i.e. if nothing selected and the cursor is not
in the first paragraph, or the selected text doesn't contain
the first paragraph of the cell.
Change-Id: I7746c6a464123bef6fb7dbff415ff0414e48365d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133377
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit b97116791047f89b768ab4aa8126e543df826be3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133402
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
... in SwTextNode::JoinNext().
The 2nd node is deleted, so its frame is deleted, and if it is the start
of a merged frame, fly frames on the node itself will be recreated
already, but those on subseqent nodes need an extra call.
Change-Id: I18999946334f5560b720d3d275610bc8b07973f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133335
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 98ae340307786c8fe18addc3714c9b859fdf12dd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133371
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
The problem is that SwXTextTableCursor::mergeRange() wants to move some
nodes, and the deleteMarks() deletes a fieldmark creating a SaveBookmark
but it contains the positions relative to the CH_TXT_ATR_FIELD* still in
the text, while deleting the fieldmark of course removes these.
The SaveBookmark would need to adjust the indexes and store the
separator position too and the vector would need to be restored in
reverse order.
But every time the SaveBookmarks are created, they are restored as well,
so it looks simpler to just suppress deleting the CH_TXT_ATR_FIELD* in
this case, and inserting them too (latter is already done when copying
text).
Change-Id: I690c6432a38eab6dec10adff74e638f0e52cca55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132531
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 5d41c2461642364b7159398024acccbee12f6e3e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132589
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
The problem is that a get field in a header on page N may calculate and
show values that do not take into account a set field on page N-1.
This happens if a table row with multiple columns is split across the
pages: SwGetExpField::ChangeExpansion() calls GetBodyTextNode(), which
returns the first node in the first column that is on page N, but in the
SwNodes array this node is *before* any node in columns 2..M, any of
which may be on page N-1 in the layout.
So try to fix this by adding a page number to SetGetExpField and using
that as the highest priority in operator<().
This is a bit risky because some of the places that create
SetGetExpField don't have a frame to get the page number from; try to
adapt all that call into MakeFieldList(), while leaving unrelated ones
such as in MakeSetList() unchanged.
Change-Id: Ied2a897ad34f0faf1ef3d50baad07b23fafd49bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132641
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 9dc6e2c9062725ef1f9d7e321cae5f4dbe8ca749)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132645
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
In Hide Changes mode, undeleted rows didn't reappear at applying
Reject All for tracked row deletions.
See also commit a74c51025fa4519caaf461492e4ed8e68bd34885
"tdf#146962 sw: hide deleted row at deletion in Hide Changes".
Change-Id: I55d76fb0165fefc330934c5a2a6b018904d3a1a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132527
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit d4e2ed9324bd736275f07577ba81c974a0a70eb1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132391
|
|
fixing only regression of hu_Hung
transliteration of punctuation marks.
Add unit test for the fix.
Regression from commit 98fd4fcdc61202846e0957cb6aaed9e4a2d2c520
"tdf#136368 bump to libnumbertext 1.0.8".
(cherry picked from commit d925d1ca9e03863650dd3e450331598624f21724)
Change-Id: Ie92cad96f48f0a7f735bc9cde93a0fded4681800
Conflicts:
sw/qa/extras/uiwriter/uiwriter6.cxx
Change-Id: I7b49467943c97582dba0e5aca20c02a92c43deff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132492
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
In Hide Changes mode, tables didn't reappear during
Undo of their tracked deletion, only by saving and
reloading the document.
Follow-up to commit 0c6221e1545e7b96d9df23cdc24302c28ae935b8
"tdf#148227 sw: fix Undo of tracked row deletion in Hide Changes mode".
Change-Id: Ifdc25ab4ae0be25a0c7559ee05b6af2e4f1aa8cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132169
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit eda1a7aeff42c08e02295e5a8353a6d86a61a118)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132178
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
In Hide Changes mode, table rows didn't reappear during
Undo of tracked deletion of table rows, only by saving
and reloading the document.
Follow-up to commit a74c51025fa4519caaf461492e4ed8e68bd34885
"tdf#146962 sw: hide deleted row at deletion in Hide Changes"
and commit 794fd10af7361d5a64a0f8bfbe5c8b5f308617a5
"tdf#147347 sw: hide deleted table at deletion in Hide Changes".
Change-Id: I7ffe8a3687d1d385a549f7d438f7058d829ffd8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132123
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 0c6221e1545e7b96d9df23cdc24302c28ae935b8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132049
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Last deleted row of a table frame was visible in Hide Changes
mode, if it is deleted in Hide Changes mode.
Fix also missing immediate update of the table layout during
deleting only rows in the table.
Follow-up to commit a74c51025fa4519caaf461492e4ed8e68bd34885
"tdf#146962 sw: hide deleted row at deletion in Hide Changes"
Change-Id: Ic0bf09ac68dd336bd53e84e58f52ebe88ca56238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131701
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 794fd10af7361d5a64a0f8bfbe5c8b5f308617a5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131599
|
|
.. and SwEditWinUIObject.
These need to work with TextFrameIndex. Add some functions to
SwCursorShell to make it possible.
Change-Id: I884c4822a0e7ecf254ea09a893762e1e6d539534
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131042
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 112592ac580108998a2cd99ae9bbf376c80c10d8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131109
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: Ia06cd4e1a74a21788e4d0ddb5f0481e8a144d863
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131147
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit e2076b31a91d3882f3deeaa5d3d4659da0e4b17c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131134
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
SwUndoDelete calls MakeFrames with end being end node of the table, but
it needs to be the following node (with a frame).
(regression from commit 723728cd358693b8f4bc9d913541aa4479f2bd48)
Change-Id: Id0974c8349be5aef9630822738eae9462bbcb4f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131112
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 6f20bcb152948a24dbe40ca2e6c4ecef2bebf853)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131131
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
The problem is that CutImpl() was called with nLen=0 and so returned
without sending any hint to SwTextFrame.
Then the MergedPara gets recreated, but the problem is that the
SwParaPortion is never invalidated so it still contains the portions of
the previous merged paragraph, and painting it will crash.
But it turns out that there isn't a hint that would actually work here;
instead, generalise a condition in SwTextNode::SplitContentNode()
to simply throw away the portions.
(regression from commit eb92dc08f2abf5ed088da0d736266f213adf00de)
Change-Id: I06091ca695ea9180b32e61ddb88ce64fbf20443e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131039
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 6518c45dc0c2fb67500af85b97ed40466fd1d1e0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131025
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
In Hide Changes mode, deleting table rows with change tracking
wasn't applied on the table layout immediately, only using Show
Changes and Hide Changes again. Now the deleted row removed from
the table instead leaving an empty table row (except the last
row of a wholly deleted table).
See also commit 95213407dfcbf34056037d60243ff915340d1a2e
"tdf#146622 sw crash fix: don't delete already deleted rows".
Change-Id: I864957cafa38e631a65db0670c7b566cb689f4cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130701
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit a74c51025fa4519caaf461492e4ed8e68bd34885)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130685
Tested-by: László Németh <nemeth@numbertext.org>
|
|
Delete tables and rows removed also tables and table rows
with tracked row deletion/insertion. This resulted not only
lost change tracking, but a crashing Undo.
Crash regression from commit 99059a1ececa3621c2fe46fabdd79eed9d626c42
"tdf#143359 sw: track deletion of empty table rows".
Non-tracked deletion of the tracked row changes was a
temporary solution for the missing UI of tracked
row changes, implemented in commit 05366b8e6683363688de8708a3d88cf144c7a2bf
"tdf#60382 sw offapi: add change tracking of table/row deletion".
Note: UI was added in commit f348440e17debacbcba9153e238e010e8c020bdc
"tdf#146120 sw: show tracked table changes with different color",
commit 95c003d75e0f8b255344715a35358072b5eba99d
"tdf#146145 sw: 1-click Accept/Reject of table row changes",
commit 84fbb3398f7486f00e7b7dea415e1ea2510a9535
"tdf#146144 sw: add tooltip to table rows with change tracking",
commit eebe4747d2d13545004937bb0267ccfc8ab9d63f
"tdf#144270 sw: manage tracked table (row) deletion/insertion",
commit f481c2c8e74bded11fac754e493560391229dbcd
"tdf#144057 sw track changes: hide deleted table rows" and
commit 23846867ea32667ccf328c36142394dd6aaee8ba
"tdf#147182 sw: accept/reject all changes of a table selection".
(cherry-picked from commit 95213407dfcbf34056037d60243ff915340d1a2e)
Change-Id: I384b750b0d3626fa8b3f256c7eaf5b93f382e4e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130011
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
(regression from commit 58a86af36295b4fc1e07c0bd38f74530a2ce0f08)
Change-Id: Ied4c26255b60f4320f38432ef5e2e27882b7a135
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129681
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 9d30e168112bc5c3c7f2dfc029f293c540ebb280)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129618
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Selecting multiple cells of a text table which contain
tracked text changes, and choosing Accept Track Change/Reject
Track Change, only text changes of the first cell were
accepted/rejected (a problem inherited from OOo).
The fix allows to accept/reject also all tracked row
deletions/insertions in the selected table rows by a single
click.
Note for manual testing: first cell of the selection should
still contain a tracked change, otherwise Accept Track Change/
Reject Track Change menu items/icons aren't active.
Conflicts:
sw/qa/extras/uiwriter/uiwriter4.cxx
Change-Id: I11e71075f4144bba86dda690ec712a24ccf815dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129717
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry-picked from commit 23846867ea32667ccf328c36142394dd6aaee8ba)
Change-Id: I0d04de5b4c482e64ffd1a3b166968163139e7791
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129743
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
With change tracking, moving multiple table rows tracked
only the first row as deleted, and in the insertion point,
as inserted.
Without change tracking, only the first row were deleted
from the original position. This is a regression of tdf#84806
from commit 5e8aa259e48d5602b932353bb146ebb523982cf2
"tdf#146967 sw table: fix freezing in Hide Changes mode".
Add unit tests for the change tracking fix and for the original
table moving fix in commit 7fe64353dc9950e19182a59a486a1ecac27cf98e
"tdf#84806 Writer: drag and drop selected tables, don't empty".
Conflicts:
sw/qa/extras/uiwriter/uiwriter4.cxx
Change-Id: I43250fcef4bbf482e67a7414f4f655e75d226b55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129635
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry-picked from commit 2bb9ad2078e355b71ab25db0c46f3d0bb19cf6d4)
Change-Id: Id90664ba7611bb0fb7f03bcdf029ae4f211904cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129742
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
The transparency value of the hatch was not exported.
Follow-up to commit 001afbed910b7e565f602c1b11b1b4538cd59442
"tdf#127989 OOXML: fix import of transparent hatching".
Change-Id: I9b82a3422de8e4f85c534f861c45c0c097ceb02f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128504
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129396
|
|
The problem is similar to commit eef10be20a4c5108c68b19ccdda263c5ca852386,
there is a fieldmark in a fly and this results in
UpdateFramesForRemoveDeleteRedline() re-creating fly frames that have
already been deleted in SwUndoFlyBase::DelFly(), and then the
SwFlyAtContentFrame::SwClientNotify() crashes on a null anchor position
in the SwFormat::ResetFormatAttr(RES_ANCHOR).
This time the passed rPam is empty, after removing the dummy characters
of the fieldmark; there isn't really anything to do in this case so
just return.
Change-Id: I475b8fcb0bcf94be58ff553454c261d75076303b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129308
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit bdf1d9b8151476531f2fbe06f66db260efcbc529)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129266
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Commit ab6176e88f78d0b3aa2490fbc7858304c2d4a437 introduced a crash
in ModelToViewHelper when the positions of a NonTextFieldmark are invalid.
The NonTextFieldmark must always contain 1 CH_TXT_ATR_FORMELEMENT
but after SplitNode() the position is
(rr) p *pFieldMark->m_pPos1
$2 = SwPosition (node 10, offset 1)
(rr) p *pFieldMark->m_pPos2
$3 = SwPosition (node 9, offset 0)
This is because in ContentIdxStoreImpl::SaveBkmks() there is an
asymmetry where the m_pPos2 is recorded to be wrongly corrected to node
9, but if the positions were swapped so that m_pPos1 is the start
position, then it will not be recorded and remain in node 10.
So fix this by changing the NonTextFieldmark to insert its
CH_TXT_ATR_FORMELEMENT differently.
There is some very subtle code in SwTextNode::Update() that is again
asymmetric and (non-obviously) prefers to move m_pPos2 and leave m_pPos1
alone (by moving it to aTmpIdxReg) in case the positions are equal.
But then the fieldmark code increments "rEnd" (which is really the
m_pPos1 i.e. the start after InsertString() returns), and then
decrements m_pPos2.
So avoid the problem by removing these 2 pointless adjustments.
Then it turns a bunch of tests fail because other code assumes that
m_pPos1 is the end of the NonTextFieldmark, so fix
MarkManager::changeFormFieldmarkType(), ModelToViewHelper and
SwHistoryNoTextFieldmark to use GetMarkStart().
Change-Id: I7c82f9a67661121662c95727e0f8f15e06d85a3a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129289
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit ea06852ee87531794f07710de496734a647a9062)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129265
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I4adfed97a00db71d42bbc4771221f5ebde43197c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128997
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit cd62fa66a7b57c1cdcbf7cdbdf155edf8e40c9fc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128961
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
HTML expansion of the clipboard content is used to calculate the
row number of the table on the clipboard. Skip its empty <tr></tr>
elements here, similar to Paste As HTML in Edit->Paste Special->
Paste Special... to avoid inserting empty rows (e.g. selecting and
copying/moving 4 rows inserted 30 extra empty rows).
Note: likely this was a regression, related to the new empty
rows in the clipboard/expansion code.
Change-Id: I58b16c7869c08cda7e2a2c21c3c03bf38446d826
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128986
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 6ad9a3d74ef6eae3e645df12dedbe059acc180c4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128959
|
|
During change tracking, drag & drop or Cut & Paste a
table row resulted freezing in Hide Changes mode.
Test: In Hide Changes mode, select a table row by
clicking on their left border, and drag & drop or
Cut & Paste it in a different table row.
Regression from commit 5a1c19624eda0c8b847af0dcee70b82502578ceb.
Follow-up to commit 5a1c19624eda0c8b847af0dcee70b82502578ceb
tdf#146965 sw track changes: fix tracked table row moving
Change-Id: Iab606ce036fedcc70e42638e3ccf804c9dbca064
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128875
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128922
Tested-by: Jenkins
|
|
During track changes, drag & drop or Cut & Paste
a table row resulted a nested table in the first cell of
the newly inserted empty table row instead of moving
the original table row.
Test: select a table row by clicking on their left border,
and drag & drop or Cut & Paste it in a different
table row.
Note: This fixes crashing at Redo of tracked table row
insertion, too.
Regression from commit dbc82c02eb24ec1c97c6ee32069771d8deb394f9
"tdf#143358 sw: track insertion of empty table rows".
Change-Id: I9a31cae2c0e6e5e05450336a1e5b8d792035df35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128726
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128921
|
|
Change-Id: Ied2ae576810a9f66e51883375959d372af59abe4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127326
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 22f3f806abc0ef3ef02cd6733bdb3f950085dd17)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127263
|
|
Fix Undo of accepting table row insertion to get back
the "false" value of HasTextChangesOnly property and the
associated light blue table row background.
This fixes also the missing update of the table row
background at accepting the table row insertion.
Follow-up to commit 8c028b7e41e3d350d0e67005b16faf0159cc5c12
"tdf#146244 sw: update HasTextChangesOnly in modified rows".
Change-Id: I8e2436b6b7b67f06037481955ff22cdbc2b22dc0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127228
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 1edaee2f03bce0efa409c592919458658d0aa751)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127186
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Set FillBackground property of hatching fill to false,
if the alpha value is 0 in the <a:bgClr> element, i.e.
if it's a transparent hatching. This way the previous
non-transparent hatching is transparent now.
Change-Id: I483d5c654be55e74c9073769b06f185526429635
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126550
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 001afbed910b7e565f602c1b11b1b4538cd59442)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127247
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
It's not forbidden to write in rows deleted or
inserted with change tracking, also Accept/Reject
only part of the text changes here. Improve to
handle these in SwTableLine::UpdateTextChangesOnly()
by keeping property HasTextChangesOnly = false
(tracked row change) only if
1) there is an insert redline, which is the oldest redline in
the row (tracked row insertion) or
2) there is a delete redline, which is the newest redline in
the row, and no text outside of redlines, and no insert
redline in the row, i.e. whole text content is deleted
(tracked row deletion).
Also update HasTextChangesOnly table row property at accepting
SwRangeRedlines in changed table rows.
And follow-up bug fix commits of this:
commit bc206f7fd3b4a9e843c81f39dcd2faeeff9c785a
"cid#1495785 silence Unchecked return value" and
commit 213173edc5e47bb6da11f9a301f4dca71854a48c
"sw: fix crash with commit 8c028b7e41e3d350d0e67005b16faf0159cc5c12".
(cherry-picked from commit 8c028b7e41e3d350d0e67005b16faf0159cc5c12,
commit bc206f7fd3b4a9e843c81f39dcd2faeeff9c785a and
commit 213173edc5e47bb6da11f9a301f4dca71854a48c)
Change-Id: I2bc556c732e1d0fdca24678c79351aafbfc156b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127195
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
This reverts 7.0 commit fd6feb4f538b0c5c9061529ff002be9f62a7239a.
Noel said this was just a performance fix, so just go ahead
and revert it.
It caused the regression documented in bug 144364.
Change-Id: I044c49e42873db120a94d93a00e9b35105778b9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127012
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
(cherry picked from commit 1addd8c104f6ad390bdd0ca61cd5ce97b55ce218)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126982
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The GetRedlineMergeFlag() of the deleted node is None also if there are
deletions contained completely inside the node, but in this case the
merged node does need a MergedPara, so check if the deleted node had a
frame that has a MergedPara in addition to the flag (which remains as
an "optimization").
(regression from d258fc29560baa5ecae03ebc2740e11420643e27)
Change-Id: I44456f230374ec1de159106678e80fb4670c9f33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127011
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 31f51598fd08c2b76583a1baad0c0d6d4b336664)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126978
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Importing DOCX tables with tracked row deletion and insertion,
accepting them, Undo, and accepting them again (or Redo)
crashed LibreOffice, related to the missing Undo support
of deletions in SwExtraRedlineTable.
SwTableRowRedline is not used for DOCX export since
commit dbc2bdffbec9b3f7eba485652cdd43634458b5a6
"tdf#145091 DOCX: don't export obsolete table row change data",
so it's possible to switch off deletion of row changes
in SwExtraRedlineTable to fix crashing, keeping SwTableRowRedline
only to fix the round-trip of the original row change Date
temporarily.
Change-Id: I6ac571656e45c4299a07a63646bb28d6d1fcd081
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126662
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 6a9cf64ea7509aac258f290cc1f204fd1ce1f974)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126748
|
|
The problem is that on the first SwUndoDelete, the m_nSectDiff branch
MoveNodes() creates a top-level SwTextFrame for the node "Korean", then
the m_nReplaceDummy branch does another MoveNodes() to move the same
node into the section, but its frame remains outside the section.
Generalize fix 55576842ec72a748d0bad123d41fa03c89fc136d for tdf#131684
to check the last SwTextNode inside the section if it has a frame
outside the SwSectionFrame.
(regression from 6c7245e789f973cf6dad03f7008ab3f9d12d350c)
Change-Id: I30495d8f3d8fc0d70cb20df44409174edc2d4a4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126257
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit 2b256c84aa4c063c8161b32a7b424daa28b5741b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126246
|
|
Change-Id: Ic0c479e97b7a5f6fcc7f7eb454eb77a5c47de9db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126191
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
(cherry picked from commit e58583e70b3434a158a3902cc7ae81d0b3bdfc49)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126244
|
|
After the DOCX round-trip of a numbering created in Writer
using direct formatting (e.g. using Toggle Ordered/Unordered
List icons), it was not possible to format only the numbering
or bullets, e.g. selecting and formatting them by positioning
the text cursor on the numbering. Set CharStyleName property
during the DOCX import to allow this formatting.
Note: default list styles of Writer is still not supported,
resulting missing numbering after DOCX import.
Change-Id: I6f2c5d6e0d63b15e9c28367181af1e9e083ae68d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125649
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 7b8ae6f90c37c18ff724c0751b5f73cca6ae02ac)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125999
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I5f9584309c7ad42f43110d11d6fb3d34d8fb9898
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125770
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I1a904f4261f80c2ce709a6e97767c9ba6a71b8f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125662
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|