summaryrefslogtreecommitdiff
path: root/sw/source/core/doc
AgeCommit message (Collapse)AuthorFilesLines
2018-06-19vcl: detach usage and remove GraphicManager and GraphicCacheTomaž Vajngerl1-22/+1
Also remove some GraphicObjectTest because they call into GraphicManager which now doesn't exist anymore. Reviewed-on: https://gerrit.libreoffice.org/52243 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit ea3d755ac949c1b6dada5c341e018f8c23f5d395) Change-Id: Ia434736d8611df629af3e897c878a7fb8bbe4706
2018-06-09graphic: rename Set{Get,Is}Link to Set{Get,Is}GfxLinkTomaž Vajngerl1-2/+2
The main reason is to differentiate when we have the GfxLink from other (url, file) links which use the same terminology. Reviewed-on: https://gerrit.libreoffice.org/52245 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 11163faafe718e65b25f0dfea8700d1a18d4dee6) Change-Id: I805c61e7fb231062340562c51c25a189b2cfc7f7
2018-05-22tdf#104349, tdf#104668 MS Word compatibility trailing blanks optionVitaliy Anderson1-0/+9
The commits: 1c1747ac13a9d895df0fcba2fbb1bd266dccd74b and 4a410dd147f7160c1d62e3e0b67388a178d5136c make trailing spaces and their highlighting compatible with the Ms Word. The option is enabled by default for imported MS Word formats: .doc, .docx, .rtf For the ODF files the option is disabled by default Also it allows saving and loading the option state to the ODF UserData. It may be manually set in Tools->Options->LibreOffice Writer->Compatibility Reviewed-on: https://gerrit.libreoffice.org/33046 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 7fa20da88a4778bdf20d6ca0491fe97ae03ab554) Change-Id: I5a86359c52d18e50bbb54b9f37c79b672591c369
2018-05-22bccu#3100: Writer: Change tracking boxes aren't repositioned with editingTamás Zolnai1-0/+12
Emit a notification related to the node position change, so the track changes comment box is repositioned when the text node changes it's position. Reviewed-on: https://gerrit.libreoffice.org/50640 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit b687cebfb1488341853824de1a15c06175c94258) Change-Id: I34b5ec453b3dc43895865f15d71aaead46ae6f24 Reviewed-on: https://gerrit.libreoffice.org/50766 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-02-09sw lok: include the field name in the description of the redlineHenry Castro1-1/+11
In tiled rendering case, when the text node is a field, the description shows incorrect characters Change-Id: I1e3a456b6e2a19a7629b58a8a6ae77e2090a06a1 Reviewed-on: https://gerrit.libreoffice.org/48538 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/48723 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-01-15lok: Tile not invalidated with certain changesTamás Zolnai1-0/+14
Calling FillRects caused this issue, which updates text area, so the invalidation, runing after that call, won't now where was the old text. We call invalidation here on the whole frame not only on the rects where the actual text is. Change-Id: I23db4b9579aa5710540b5d241506726630219b02 Reviewed-on: https://gerrit.libreoffice.org/47848 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit 39dd42b5aa34d0960cdab0c9fd967d4ae5cc6801) Reviewed-on: https://gerrit.libreoffice.org/47904 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-12-18convert ND constants to o3tl::typed_flagsNoel Grandin10-51/+61
Reviewed-on: https://gerrit.libreoffice.org/31343 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit b8aa1def37b62091f15bf09529104ca38333d5f5) Change-Id: I5fe3df5515017ec24db1184e8aca823714fcfdb3 (cherry picked from commit 1c4771b5134911c1e0b1211ddaeecabbb3656716)
2017-12-18tdf#42949 Remove unused uno headers from /sw/source/coreBartosz Kosiorek6-16/+0
Change-Id: I0029144d049ad1c5ee3ff4d188ff969b6881712f Reviewed-on: https://gerrit.libreoffice.org/31095 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit c840c49b62b919ec4d0d947fe8cd530a785cf80d) (cherry picked from commit 4e10b49d74bedb12381c195fc53434237cd7dedb)
2017-12-18convert DecodeMechanism to scoped enumNoel Grandin4-4/+4
(cherry picked from commit bfde4866e07746eafa2f0d6173c29d805cc35ad0) (cherry picked from commit 3de922d4a695e253d4ca2d42b70e0b35b52e9b7c) Change-Id: I5c56634b1bca8e37fa73d02d2428645301b6c547
2017-12-18convert INetURLObject::EncodeMechanism to scoped enumNoel Grandin1-1/+1
(cherry picked from commit 803215142efa6437515348f63bd70ffdcf5d45f1) (cherry picked from commit 736cd289d4cdb0db61d92134bcc9d48aa7e79613) Change-Id: I50ea17c7779c7b5cacddf548f1773fd7d6c8bade
2017-12-05tdf#97087 GDB pretty print the Scheduler task listJan-Marek Glogowski3-0/+3
In addition to the GDB pretty printer, this annotates a lot more Timers and Idles. Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c (cherry picked from commit 9e51007039770370182839846676b205f5c34c57) (cherry picked from commit a090e1e17962c5ca95f66c9d18fca6ac5dd4bca0)
2017-12-05loplugin:useuniqueptr extend to check local varsNoel Grandin1-11/+8
just the simple and obvious case for now, of a local var being allocated and deleted inside a single local block, and the delete happening at the end of the block Reviewed-on: https://gerrit.libreoffice.org/33749 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 2489000d3fd66319a8355fd4e37cfdfda47296d0) Change-Id: I3a7a094da543debdcd2374737c2ecff91d644625 (cherry picked from commit e540ccfb5eb43bd4a3d6920074dce8436720ba8e)
2017-11-28sw lok: add Accept/Reject All tracked changes, tdf#101977Henry Castro1-0/+32
Change-Id: I04d747343e24cb498a621c965d034d0791411d83 Reviewed-on: https://gerrit.libreoffice.org/44311 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/44486 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-11-27ofz#4066 Bad-castCaolán McNamara2-7/+7
and a cluster of others around here. This pRedl has been deleted at this point. This doesn't matter for most users, seeing as !LibreOfficeKit::isActive() is the usual case so the deleted pRedl isn't fully accesssed. Because the deleted pRedl won't be found in GetRedlineTable when deleted, rework this a little to avoid the problem. Reviewed-on: https://gerrit.libreoffice.org/44392 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit f0074dd8c6e0040d7f331ba4a42ea6193c0eac99) Change-Id: I5c2f405cdae0b0c804ee7452629a14206516962d
2017-11-03tdf#103978 textboxhelper: syncProperty OPAQUE (wrap in background)Justin Luth1-0/+3
Although the containing shape is in the background (and thus the normal paragraph text is still visible), the shape's text was still painting over top of the normal paragraph text because the textbox was set as opaque and not transparent. Setting the textbox to sync the opacity value of its containing shape. Change-Id: I02477e2fa7def1f13590afcaa7c6564dd79d6406 Reviewed-on: https://gerrit.libreoffice.org/39672 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit cc438f60d6ad0855f754dd32da9c9a80c7cabf92)
2017-09-29tdf#112679 sw: fix copying of fieldmarksMichael Stahl2-19/+23
Aha, now we know that the reason for the defensive programming in lcl_AssureFieldMarksSet() was that there are actually 2 different use-cases for it: usually a new mark is inserted, so there are no dummy characters and they must be inserted. However when copying text, the dummy characters are copied too, so they must not be inserted, or we get duplicate fieldmarks. This also reverts commit d4036d3a89b65a4912f62e3930eb1a31cd90a16b which fixed the problem only for CHECKBOX_FIELDMARK in a different way. (regression from bb069fe7b8b6a24f9ff4df4c7052961e17ea3a8c) (cherry picked from commit 421a23bb36bbf51edfabc58b7d2cd28ad37719d0) Change-Id: I3c99b8c6d720951655198e682018794337859373 Reviewed-on: https://gerrit.libreoffice.org/42938 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2017-09-28tdf#112634 Don't remove embedded database before closeSzymon Kłos1-0/+1
Change-Id: Iaa60160d40b0f7b5dceba319bc3813d124c34cc1 Reviewed-on: https://gerrit.libreoffice.org/42762 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit 79a425900e31bda83cde1bee150c1234931cb8bd) Reviewed-on: https://gerrit.libreoffice.org/42844 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2017-09-19ofz#3301 sw: DeleteAndJoin found yet another way to delete new redlineMichael Stahl1-35/+31
Not only can that happen in CompressRedlines(), it can also happen in the SwComparePosition::Outside case when the DeleteRedline() decides in particular circumstances to split up the inserted new redline. Arguably it's wrong to split up the new redline in this case; not sure if that ever happens in a legitimate use case though. Avoid this by removing the hack to temporarily insert the new redline and instead create a temporary SwUnoCursor that will be corrected on behalf of the new redline, while the new redline is parked on a safe node. This not only avoids the crash on this file but also makes the "corrupted redline table" assertions go away. Change-Id: I478f4cfc53a19d2cf2f0937f631962f80b1815ff Reviewed-on: https://gerrit.libreoffice.org/42408 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit a562be54f3127f4e22a3a38e62db2b38d48499f3)
2017-09-18tdf#108572 remove connection also if not savedSzymon Kłos1-0/+7
Change-Id: Iddce37c3ad187f4a5572cb3cc2362535134c28e8 Reviewed-on: https://gerrit.libreoffice.org/42357 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit 29bd193146b40cf90bda5db04b136987f3c7c94d) Reviewed-on: https://gerrit.libreoffice.org/42369 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2017-08-25tdf#99692 sw: fix the fix: don't set bNullContent if node was splitMichael Stahl1-1/+2
When showing the redlines in rhbz908615-13.odt, the following assertion happens: Assertion `IDocumentMarkAccess::IsLegalPaMForCrossRefHeadingBookmark(rPaM) && "<CrossRefBookmark::CrossRefBookmark(..)>" "- creation of cross-reference bookmark with an illegal PaM that does not expand over exactly one whole paragraph."' failed. This is because in DocumentContentOperationsManager::MoveRange() the flag bNullContent is set after the node has been split; in this case the nContent is of course always 0. Later the function then restores aSavePam to the index 0 of the next node, when it actually shouldn't do anything because the JoinNext() already positioned it correctly at the merge-index of the re-joined node. (regression from 850795942b3e168cab8ce88b4f2b421945ff29ca) Change-Id: I64d50e70b19e2fd81537a9771fa8706898b17642 (cherry picked from commit 6a018363791945b6fd7f04f2aa311e4f4753f6aa) Reviewed-on: https://gerrit.libreoffice.org/41305 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> (cherry picked from commit 3ddc16fc26a06a95b7e373ee930881f91b22ad1f)
2017-08-04tdf#105705 sw: sort bookmarks in ContentIdxStoreImpl::RestoreBkmks()Michael Stahl1-0/+6
The problem here is that the SplitNode() calls in SwRTFReader::Read() destroy the order of the bookmarks, which causes an assert later from the std::lower_bound() when a new mark is created. The 2 marks that cause the problem are: SwPosition (node 5, offset 0) SwPosition (node 5, offset 0), SwPosition (node 5, offset 0) During the 2 SplitNode calls, the second one is corrected by ContentIdxStore and remains on 5, but the first one is not and becomes: SwPosition (node 7, offset 0) ContentIdxStoreImpl::SaveBkmks() does different things when a mark position is exactly on the parameter position: if it has only one position, it is ignored, but if it has a second position, then both its positions are corrected. It is not possible to change the sort order so that marks with one position are sorted behind marks with 2 positions, because while SplitNode() corrects marks "backward", JoinNode() uses ContentIdxStore to correct marks "forward"; hence manually sort the marks. Change-Id: If5b35f18bfd47ffe98c0f67e84d380ca801411a3 (cherry picked from commit f2d2093b2198bd4c65475a60329a5a6a7a8575f1) Reviewed-on: https://gerrit.libreoffice.org/40544 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 75a1dce57f7038bc88c74c4e50dd22306be8cf61)
2017-07-31tdf#99692 sw: fix bookmark positions in tables at start of redlinesMichael Stahl1-3/+10
The code assumes that if it can move the cursor backward in line 2038, that move can be "inverted" by moving the cursor forward after the content has been moved - but if the cursor moved back a node, and the moved content does not start with a SwTextNode, the cursor will move forward skipping over the non-text nodes, so offsets in the aSaveBkmks (and aSaveRedl, presumably) are going to be wrong. Just don't use Move() if it leaves the current node. Change-Id: I95278a10c14aeba9f76558486bb2712f6726dbcb (cherry picked from commit 850795942b3e168cab8ce88b4f2b421945ff29ca) Reviewed-on: https://gerrit.libreoffice.org/40419 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit be2a7025e5b62e9dab73886436ee52d5330ae381)
2017-05-31tdf#108056 sw SubtractFlys: work with a polypolygon directlyMiklos Vajna1-1/+2
In case the intention is that the clip rectangle should include the page, except a fly frame, we built a list of rectangles that covered this area. This introduces the problem if adjacent rectangles don't join perfectly. Instead allow lcl_SubtractFlys() to work on a clip state directly, this way the clip polypolygon will only contain two paths (the page rectangle and the rectangle of the fly), so rounding errors can't happen. Change-Id: I5b2e9a382aa7d16f3b16509670de754b5e00bd6d Reviewed-on: https://gerrit.libreoffice.org/38066 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 87d62a6222932d36c91d7b69240c7bccbf4e46be)
2017-05-30tdf#106424 fix crash in SfxItemPool::PutJochen Nitschke1-12/+0
This fix reverts commit 304d3856c138fb54ff536f41be3eff26ab4d6315 Date: Wed Oct 16 07:55:09 2002 +0000 #103124# possible unremoved SwFmt object fixed and commit fab98924e01f211c1d1fc5823c0867019b590c60 Date: Wed Oct 16 10:18:26 2002 +0000 #103152# possible unremoved SwFmt object fixed as they are causing crashes: http://crashreport.libreoffice.org/stats/signature /SfxItemPool::Put(SfxPoolItem%20const%20&,unsigned%20short) The comments suggest there was/is a use-after-free when SwFormatCharFormat is changed with API. This happens in unoobj.cxx and unostyle.cxx by SwFormatDrop::SetCharFormat(). With following changes: commit bf2ae97a223df987d6b9bc649afe311b5421f61e INTEGRATION: CWS os7 (1.64.4.3.34); FILE MERGED 2003/03/25 14:23:43 os 1.64.4.3.34.1: #104245# table mode added to the SwXTextCursor::SetPropertyValue attribute list; 'Standard' character format not allowed as drop cap char style and commit 9625366d0b2fd36a57c6283a4a80c47b80d57707 INTEGRATION: CWS os8 (1.64.4.3.48); FILE MERGED 2003/04/09 09:11:53 os 1.64.4.3.48.3: #104245# Default not allowed as DropCapCharStyleName, too in unoobj.cxx, setting the documents' default SwFormatCharFormat is rejected by throwing an exception. Likely to fix the same issue as the first 2 commits. So we do the same in unostyle.cxx now too. Add an assert in SwFormatCharFormat::SetCharFormat and SwFormatDrop::SetCharFormat, to uncover other changes to the default SwFormatCharFormat or SwFormatDrop. Such an case could happen in SwXTextDefaults::setPropertyValue where we bail out now. Change-Id: Iac59dffbd6285dd28d1000a8eacda8ffd3bdc962 Reviewed-on: https://gerrit.libreoffice.org/37499 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 6d51bb3d54ac52e4870bd00a21fce3a3b1c5010b) Reviewed-on: https://gerrit.libreoffice.org/38005 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 69330c31f5e8c35fb5ede92dcd130fde0bdc7e4f) Reviewed-on: https://gerrit.libreoffice.org/38032 (cherry picked from commit f750372ac81cb51177cd6cbda39ecacd5f821590)
2017-05-11lok: sw: change tracking: deleted characters aren't deleted right awayMarco Cecchetti1-0/+54
Problem: Start/open a document in CS Writer, and enable track changes. - Type a few characters. - Delete a couple of them with backspace or delete. => The deleted characters are still shown in the document (but not in the tracking comment). Findings: In SwViewShell::ImplEndAction pRegion is 0, so no call to SwRootFrame::Paint->vcl::Window::Invalidate occurs. That is due to the fact that the call to SwLayAction::Action() does not lead to populating *pRegion with rectangles (SwViewShellImp::AddPaintRect). In fact we stop at SwLayAction::TurboAction_ since pCnt->IsValid() returns true and so SwLayAction::PaintContent() is never invoked. SwFrame::IsValid() returns: mbValidPos && mbValidSize && mbValidPrtArea. Here SwFrame::mbValidSize is the one that makes the difference: it is true in Online and false in Desktop. (In our case the other 2 data members are always true). The reason is that the computation of the text range (SwShellCursor::FillRects) in SwRedlineTable::LOKRedlineNotification, which occurs just before collecting paint rectangles, leads to invoke SwContentFrame::MakeAll which in turns set SwFrame::mbValidSize to true. Solution: Call SwFrame::InvalidateSize() on any frame on which MakeAll is invoked soon after we finish to compute the text range in SwRedlineTable::LOKRedlineNotification. Change-Id: Id5e29b06c044f14207722e67d6f5facbf786ffa6 Reviewed-on: https://gerrit.libreoffice.org/37508 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit b973b184a0870ad70e2db4e0e3842cf208b87abf) Reviewed-on: https://gerrit.libreoffice.org/37514 Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-05-04ofz#1262 sw: DeleteAndJoin could delete proposed new redlineMichael Stahl1-0/+21
... because that calls CompressRedlines, which may combine the new redline with a previous one. In that case, the part of the new redline that follows the currently handled overlap cannot be checked for overlaps with subsequent existing redlines. So prevent this with a new flag m_isForbidCompressRedlines and instead call CompressRedlines() at the end of AppendRedline(). Change-Id: I7567962c31366ded9a433a13232d3db985745e43 Reviewed-on: https://gerrit.libreoffice.org/37041 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 5d1c6f1c9f392679cec6f1f4ab9673ab31e96585)
2017-03-29tdf#105625 related: don't duplicate dummy character on copyMike Kaganski1-0/+9
Change-Id: I5881887c7a0fd0c9ccd954a36482a3ada5103098 Reviewed-on: https://gerrit.libreoffice.org/34025 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit d4036d3a89b65a4912f62e3930eb1a31cd90a16b) Reviewed-on: https://gerrit.libreoffice.org/35861 Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-03-29tdf#106377 sw: fix Undo of delete of ToXMark from dialogMichael Stahl1-15/+27
The problem is that SwUndoResetAttr and the SwHistorySetTOXMark by design only insert the SwTextAttr, they don't insert the dummy char of a SwTextAttr that needs one, like the ToXMark does if it marks a point. So just change SwDoc::DeleteTOXMark to create SwUndoDelete instead. Change-Id: Ic1eebac4cf859771a6032bffb2fd8e198aa08084 (cherry picked from commit 63f7da77985674ddf59bb566bdada9c41893e822) Reviewed-on: https://gerrit.libreoffice.org/35501 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 123bb36e7eafde85732b57e84d0377586a0a66d8)
2017-03-24tdf#104447 sw: make lcl_DebugMarks output more readable, pos. at the startMichael Stahl1-10/+10
(cherry picked from commit f6596a35c2d9a8c365bb78e1256a2def57ee1a36) The pass-by-value is also fixed here which is a surprisingly expensive performance regression. Change-Id: If9c151faefa3d109af2df7933a275c667880fb75 Reviewed-on: https://gerrit.libreoffice.org/35492 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 4c7775247fbbf38cd397fd7649bf10810f27a0b4)
2017-03-23sw lok: Use unique redline identifier, instead of array indicesPranav Kant1-12/+16
Use a static integer counter as identifier to each redline Change few unit-tets that was testing redlines by using a hardcoded array index. Instead use these unique redline identifiers now. (cherry picked from commit fe3007b013ac74760a6377387bebd15dbd23420f) Conflicts: sw/inc/docary.hxx sw/source/core/doc/docredln.cxx sw/source/uibase/uiview/view2.cxx Change-Id: I63aec3fc8ab10d0dad0c936600d16e96999a2bcd
2017-03-23sw lok: Notify when redline position is changed + unit testPranav Kant1-8/+6
Make RedlineNotification function a static member of SwRedlineTable class Reviewed-on: https://gerrit.libreoffice.org/35177 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 1eb69f6b9c78b19d3944c90c17ff8d498affc316) Conflicts: sw/source/core/doc/docredln.cxx Change-Id: Ifbd6014198838b1106e873c9563d215e95b3572d
2017-03-23sw: Simplify - no need to create a pointer herePranav Kant1-6/+6
Change-Id: I5c7d1d47f347b3ce8de6e2e4995da8724a464941 Reviewed-on: https://gerrit.libreoffice.org/35045 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 41c7ee5f0a3d0e128134665d709fd46e663fd373)
2017-03-23lok: Do not use UNO for fetching tracked changesPranav Kant1-1/+1
See inline comment for reasons. Also, move the SwRedlineTypeToOUString function as inline to same header file containing redline types. Change-Id: I9b4be4f104c095b2ccd8287d935347c81fd25974 Reviewed-on: https://gerrit.libreoffice.org/34950 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit e6cca48bc9deb1049f8d501406269b71f91511ca)
2017-03-23lok: Create change tracking position tooPranav Kant1-2/+27
We want to expose change tracking comments to lok clients also. For this, lok clients needs to know the position in the document where the comment should be shown. Change-Id: I38794387cef3d11b5e0c1cfd0967408d8e54ded3 Reviewed-on: https://gerrit.libreoffice.org/34949 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 9582fae07e9ea2df20a7265c62402180995c57da)
2017-03-10tdf#106218 sw: compare document: tweak special handling of EndOfContentMichael Stahl1-0/+22
In case the last paragraph in the document is inserted or deleted, the redline must not be positioned on the EndOfContent node (i#101009). But then rejecting the redline will have an additional paragraph as compared to the original document. Try to avoid that by tweaking the start position of the redline to the end of the previous paragraph. (regression from f4609c4c294a62023b6cd6baeb6a73d44992dec3) Change-Id: Iae75042a3124d0f3bca955fb856c94a6f478b986 (cherry picked from commit 9b3fa51e7ba4e2bfe9806295c3cbc8db347480d8) Reviewed-on: https://gerrit.libreoffice.org/34960 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit a990b46ccc788db45ff4d8f0d47b799782ecb2af)
2017-02-24assert on export of ooo59665-1.sxw to odtCaolán McNamara1-2/+4
rSecondStart.nContent in this case has no m_pIndexReg just move on with our lives wrt this sorting Change-Id: I9642c5d345dabd02f3feea83bc2ffbf3f7adb082 Reviewed-on: https://gerrit.libreoffice.org/34336 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 5d6b5bb57bb82a0dc480ca2ea17da5396f598af7) Reviewed-on: https://gerrit.libreoffice.org/34593 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit b8a0289f89cda6b816c710f687f4a4735e0f2bf4)
2017-02-07sw: fix assertion on exporting novell633099-1.doc to DOCMichael Stahl1-1/+17
This asserts because MarkManager::m_vAllMarks is not sorted. info:sw.core:32273:1:sw/source/core/doc/docbm.cxx:286: 1493,39 1493,39 N2sw4mark8BookmarkE _Source_Device_Configuration info:sw.core:32273:1:sw/source/core/doc/docbm.cxx:286: 1493,39 1493,39 N2sw4mark8BookmarkE _Deploying_the_Connector info:sw.core:32273:1:sw/source/core/doc/docbm.cxx:286: 1493,39 1493,39 N2sw4mark8BookmarkE _Setting_up_Connection info:sw.core:32273:1:sw/source/core/doc/docbm.cxx:286: 1493,39 1493,39 N2sw4mark8BookmarkE _Testing_the_Audit info:sw.core:32273:1:sw/source/core/doc/docbm.cxx:286: 1493,0 1493,0 N2sw4mark23CrossRefHeadingBookmarkE __RefHeading___Toc270687978 This happens while called from SwRangeRedline::MoveFromSection; the target paragraph has some normal bookmarks and a CrossRefBookmark all at index 0 before, but the move messes up the sorting. The reason is that SwIndexReg::Update() has a special case HACK to avoid adjusting the content index of CrossRefBookmark away from 0. Prevent the problem by tweaking the bookmark sort function to always sort CrossRefBookmark before other marks in the paragraph. (cherry picked from commit 3a3b4f2b51005eef62a38d43d1dbef4c8201cc5c) loplugin:simplifybool (cherry picked from commit ad2935eee6640a5ee09d0b21c7c1f83dbfcd4c58) Change-Id: I1373337a9c7e6760fdbe5b634a14c63428a2e73c Reviewed-on: https://gerrit.libreoffice.org/33971 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-01-26tdf#101828 handle rtf/richtext correctlyOliver Specht1-0/+1
Change-Id: Id894f62a918bd6e6fa59f8d546307343bf2bd4b0 Reviewed-on: https://gerrit.libreoffice.org/32682 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 048e30c1f8231e6cd144a9251061f6fa127b353e) Reviewed-on: https://gerrit.libreoffice.org/33567 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-12-21tdf#104814 Writer: accepting change tracking changes get stuckNoel Grandin1-0/+4
Change-Id: Ie8e0919b53c0b21f480b62eec7c394554757a061 Reviewed-on: https://gerrit.libreoffice.org/32273 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit b7b5c23e6979205a662d857bc1c83270fb4a43ec) Reviewed-on: https://gerrit.libreoffice.org/32276
2016-12-15tdf#104554: fix iterator calculusJulien Nabet1-1/+0
and avoid unexpected behaviours when pasting columns between tables regression from: https://cgit.freedesktop.org/libreoffice/core/commit/?id=f0fa43ea99ac7564f2cc7ca1d997831808056b68 http://www.cplusplus.com/reference/list/list/insert/ and http://www.cplusplus.com/reference/deque/deque/insert/ helped me to understand my mistake Change-Id: I6ff6b84a90c7ea8db1e4d7c2d12dd191f96141ae Reviewed-on: https://gerrit.libreoffice.org/32020 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr> (cherry picked from commit 14a0d26d6ae0ee59a685c254ec235fea81636475) Reviewed-on: https://gerrit.libreoffice.org/32028
2016-12-13Resolves: rhbz#1401082 gnome hangs opening a certain .docxCaolán McNamara1-0/+14
this seems to be a problem since.... commit 199eb08be994ef968eb38f4966bc27ef1756d382 Author: Miklos Vajna <vmiklos@collabora.co.uk> Date: Thu Jun 5 16:25:01 2014 +0200 SwAnchoredDrawObject::GetObjBoundRect: avoid SwDoc::SetModified() This is a const method, but it does a const_cast to still resize an object... if that's so, then we should ensure that the "is modified" flag of SwDoc is untouched. CppunitTest_sw_ooxmlimport's testChartSize is a reproducer for this, when shape text is imported as textbox. (note under gtk3 and wayland this isn't as noticable, there use export GDK_BACKEND=x11 to reproduce the freeze effect where even the mouse cursor doesn't move during part of the load) Change-Id: Ic0bd98b032dfe1255d79d8070d50f65fcfa676dd Reviewed-on: https://gerrit.libreoffice.org/31687 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit d393039655edf9bb884fc2956674badde59d2326) Reviewed-on: https://gerrit.libreoffice.org/31948 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-01Resolves: tdf#103313 idles never get to complete postit shell formattingCaolán McNamara1-1/+7
Change-Id: Ic01628bca8c306c48277ffbc84d334d1922a248b Reviewed-on: https://gerrit.libreoffice.org/30864 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 3690218b1f5073db8407a58f1b45a97d3d6fe7cd) Reviewed-on: https://gerrit.libreoffice.org/31446
2016-11-21Revert "Revert "std::list<sal_uLong> to deque""Julien Nabet1-2/+3
+ use returned iterator by insert method call This reverts commit 1a583283d6b58c8951cb52faac82ecb24fdbf1b3. Change-Id: I02547663230fb7b5959df349c4d395bbadd74c3b Reviewed-on: https://gerrit.libreoffice.org/30439 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2016-11-21convert inventorId to scoped enumNoel Grandin1-1/+1
SW_DRAWLAYER had the same value as SC_DRAWLAYER, so I merged it into the ScOrSwDraw enum constant Change-Id: I5c45d378c00364d11cc960c9e48a6e3f10928724 Reviewed-on: https://gerrit.libreoffice.org/31037 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-21tdf#95699: allow copy FORMCHECKBOX and FORMDROPDOWN ...Mike Kaganski1-2/+4
... when they are selected alone (no adjacent text selected). Unit test included. Change-Id: Ia278ae2ea86a3e6d83e1a628880f770f1eb11cd7 Reviewed-on: https://gerrit.libreoffice.org/30954 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-11-18includes should be at the top of the fileNoel Grandin1-2/+2
not randomly scattered through the code found with something like: git ls-files *.cpp | xargs grep -Pzl "(?s){.*#include" Change-Id: I9c242fa4ef99e8677f2800d7ec9f16d16e488351 Reviewed-on: https://gerrit.libreoffice.org/30952 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-17loplugin:unusedfieldsNoel Grandin1-4/+1
Change-Id: Id2dbbf384637223db3d334d95332251832918003 Reviewed-on: https://gerrit.libreoffice.org/30927 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-16make the element names in dumpAsXml match the class namesNoel Grandin5-11/+11
Change-Id: I955facfe3e901fcb76798dab342f96a67d5ac63f Reviewed-on: https://gerrit.libreoffice.org/30894 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-15loplugin:constantparamNoel Grandin2-27/+13
Change-Id: Iced8ff99d52d55e6b6c3126affafbea6786e94f0 Reviewed-on: https://gerrit.libreoffice.org/30858 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-05tdf#90070 don't clip flys with bordersJustin Luth1-2/+14
regression from commit e598ab04476a32a08f18e8f0662fafa5f78f1a4a very aggressively forced a new frame size via compat setting CLIPPED_PICTURES on any fly - not just images. This only affects MS-format documents, EXCEPT that it is a document property, so if the file every spent any part of it's life in MS-format, it will always retain that compatibility setting. That explains why the problem was intermittent for me - and was hard to reproduce in a clean document, even though I'd seen it in .ODTs. bIgnoreLine (ignore the fact that there is no visible line) was a confusing word choice for "if there is no line, then return a spacing size of zero". bEvenIfNoLine=false is better. Change-Id: I50a3bdef3a67339ae517ee6319920651bc56f9be Reviewed-on: https://gerrit.libreoffice.org/30585 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org>