summaryrefslogtreecommitdiff
path: root/sw
AgeCommit message (Collapse)AuthorFilesLines
2021-09-07[API CHANGE] oox: fix import of chart date categoriesDennis Francis2-2/+3
Before this fix, date categories imported in oox's DataSourceContext were stored as formatted strings according to number format code in <c:formatCode> under the <c:cat> tree. As a result chart2 could not recognize them as dates. This causes problems like: * The axis that is linked to date categories cannot use the scaling/range-selection(min/max)/increments specs mentioned as axis properties. This results in distorted/unreadable chart renders w.r.t the date axis. * No re-formatting is attempted as per the number format provided for axis. This patch introduces a role qualifer argument to the XDataProvider interface method createDataSequenceByValueArray to support categories of date type via this method. When exporting to oox, write date categories and format code under <c:cat> <c:numRef> <c:numCache> This patch also fixes some discrepancies in date axis interval computation (auto mode) found by already existing unit tests. Conflicts: chart2/qa/extras/chart2export2.cxx chart2/source/inc/InternalDataProvider.hxx chart2/source/tools/InternalDataProvider.cxx Change-Id: Ibc53b0a56fdddba80ba452d5567ce98d80460ea7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121525 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit f547cf17a179ebd7de5c2b4dd2d00d0027a25429) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121723 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2021-09-03sw: fix crash in SwView::Execute()Miklos Vajna1-0/+5
Crashreport: program/../program/libswlo.so SwView::Execute(SfxRequest&) sw/source/uibase/uiview/view2.cxx:1312 program/libmergedlo.so SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) sfx2/source/control/dispatch.cxx:263 /opt/collaboraoffice6.4/program/libmergedlo.so SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) sfx2/source/control/dispatch.cxx:760 (discriminator 3) /opt/collaboraoffice6.4/program/libmergedlo.so SfxDispatcher::Execute(unsigned short, SfxCallMode, SfxItemSet const*, SfxItemSet const*, unsigned short) sfx2/source/control/dispatch.cxx:819 Change-Id: I2e7b27f458971dbd33971589f71337c59981ee83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121547 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121604 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-09-02indexing: move xml parsing into SearchResultLocatorTomaž Vajngerl5-48/+88
Let's keep unneeded complexity out of SwXTextDocument, so move parsing into SearchResultLocator. As a bonus we can now test parsing. Change-Id: I944bfc43e6953523eee19b26b7f483aa401809aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121032 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 0b698aa6eb26d75ca4baf677a461aee095f69317) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121116 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-09-02indexing: make indexing XML flat and use simple element namesTomaž Vajngerl2-86/+109
This changes the indexing XML to be flat-er and change the element names to just be either "paragraph" or an "object", where an "object" then has an attribute what type exactly it is. This makes converting the XML to an indexing engine accepted format easier. Change-Id: Ia8941cc9616a862c1bc980efea5ba2548217644e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120836 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 50f0e8c7880122a05585a2233f6f35d0dfee0385) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121115 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-09-02indexing: allow for multiple entries in search indexing dataTomaž Vajngerl4-36/+57
Change-Id: Idb9bbbaa940b7cd48423c6cc65b9c7d0b94f57dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120396 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit adf65471e889676a600a9c6d0454c75cbd549ad3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121114 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-09-02indexing: use XML as input that is identical to indexing XMLTomaž Vajngerl1-13/+36
Change-Id: I2242b4bd77220b55e67c2e0f0fe54f008759d282 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120194 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 7da5537f6a43c1b82afc5e0c8d18b8d847293fda) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121113 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-02indexing: add "type" to the xml for paragraph nodesTomaž Vajngerl2-0/+5
The type is either WriterNode (1) or SdrObect (2) as we need to know for which one the index is refering to. Change-Id: I0f4bc95d91e37cf75db5ed49cd14df61133f5f19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120193 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit df3d733724de84a2b54398434b621049a326c4d8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121112 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-02indexing: add support for SdrObjects in SearchResultLocatorTomaž Vajngerl4-21/+102
Also add (node) "type" parameter because we need to differentiate between Writer nodes and SdrObject nodes. Change-Id: I590695ae71781f64c22bdd7e1df01d69e3376e67 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118671 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit ea1818b8ba34378b777b8706069d28fade2cc924) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121111 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-09-02indexing: add LOKit API to render the search result into a bitmapTomaž Vajngerl3-5/+30
This adds a new LOKit API to render the search result into a bitmap buffer. It combines the SearchResultLocator to get the location inside the document of the search result (a series of rectangles) and the existing LOKit paintTile API to render the result into a bitmap (byte) buffer. It also adds a LOKit test to show how the API is used and to render a search result of a example document. Change-Id: I4284d90188777fd28158d029daa04151e71022bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118670 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit e1511ce551f27a5560600029193f076fd65ece17) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121110 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-09-02sw: disable SearchResultLocatorTest for Windows and MacOSTomaž Vajngerl1-1/+4
Because of inconsistent reuslts for those 2 platforms for unknown issues, turn the tests off for now. Change-Id: I9b1c8a839d6765d695ed5d9b129c001ffd66ed5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119508 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit b4f7a61abe222f874b064076eaec05c371b89c5f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121109
2021-09-01indexing: search result locator to return the rect of the resultTomaž Vajngerl5-0/+166
Returns the rectangle(s) where the search result is located in the document. Change-Id: Ib2333584fbc460cc16b1bf205fc3d674a1c06957 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118668 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 6e155959de6f46afbe0b68057200c3da822d81f9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121108 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-09-01indexing: add indexing export as an export filter for WriterTomaž Vajngerl4-0/+136
Change-Id: I26157a8ffeee80b03866569d3d3cec2a34fe377d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118144 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 95b06d3aa514ce83f82fd538d1731fc6363e4b8a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121107 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-01indexing: add test case for fontworks and footer/header paragraphsTomaž Vajngerl3-0/+46
Change-Id: I7b6879d0e038f8c07ae5853d66c43096c25365e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117841 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 922e2610a4745c6e33d9e8e808131922a3ea0dc4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121106 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2021-09-01indexing: indexing sections for the IndexingExportTomaž Vajngerl3-2/+45
Adds handling of sections to the IndexingExport. SectionNode also derives from StartNode, so we handle it similar as the tables. Change-Id: I5eb8d599bdf680144b161aa93295ea3d360eb5c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117452 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 2ce10eedfb1de8beef8ddfa457f1e19545846f86) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121105 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-31indexing: write parent index to paragraphs if possibleTomaž Vajngerl1-0/+7
When writing paragraphs from a table we want to associate the parent table to the paragraphs so we also write the parent index. Change-Id: Idf9c285f08481ed0556700e92adda27027b91408 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117451 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 705fe1c44b41cd11518069e0627d0f48a65a7dfc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121104 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-31indexing: indexing tables for the IndexingExportTomaž Vajngerl3-0/+98
Adds handling of tables to the IndexingExport and also handling of the end node (as table node is also a start node), so we know which paragraphs belong to a table. Change-Id: I624ce12a3e810797a37ae2efe5baa552828f75dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117450 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit b3a62ab0a43510cf43c88aa4d6e145e46db7e7e5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121103 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-31indexing: indexing shapes/text boxes for the IndexingExportTomaž Vajngerl5-1/+85
Adds handling of shapes and text boxes to the IndexingExport with exporting the the name, alt text, description and paragraphs of the inner shape text to the indexing xml. Change-Id: I3db68078b7e793cab552b4f7f8e8ddf9bfd1a6f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117359 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit c23408aeafc1f2ce3f7dde685d0b519d8e2daff7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121102 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-31indexing: indexing OLE objects for the IndexingExportTomaž Vajngerl3-1/+36
Adds handling of OLE objects to the IndexingExport with exporting the alt text and the name to the indexing xml. Change-Id: Ie357f55195cda864ee12d6b120babd106eff6179 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117358 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 37cd5bd4fdf2317709882c933844c4cc67e4cee4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121101 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-31indexing: indexing graphics for the IndexingExportTomaž Vajngerl3-6/+47
Adds handling of graphics to the IndexingExport with exporting the alt text and the name to the indexing xml. Change-Id: I20344dd04c5da4668c8eafbf1f863a26357ad616 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117357 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit f81115740bac985cad3cd15348f75c2c78b8843a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121100 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-31indexing: indexing paragraph text with the ModelTraverserTomaž Vajngerl7-0/+223
This adds the basic paragraph text export for indexing, which uses the new ModelTraverser, which is inspired by AccessibilityCheck (and in the future it will be changed to use the ModelTraverser too, when it matures). ModelTraverser implements traversing through the model and executes a handler for a element of a model (which can be various things). IndexingExport class implements indexing export that uses the ModelTraverser to write into the indexing xml document, that uses the tools::XmlWriter. Change-Id: I7a6a5de332534270fe894a881131e5eb5ea9d881 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117356 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 686c35a3c37674d08c1f8585a621143c959b3f29) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121099 Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-30indexing: remove indexing changes from html exportTomaž Vajngerl6-74/+59
Turns out that reusing HTML export wasn't the best way to generate output XML that can be used for indexing, so reverting those changes. The IndexingExportTest and the test file has been moved out of html to its own folder, so it can be reused. Change-Id: Ie2b34285775133322c16c05eee9c0e9712c86c3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117354 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 1da7d73eeaaff43e4f3e8a61ad77fcec3c7aaed8) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121097 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-30indexing: start of Indexing Export impl. based on (X)HTML exportTomaž Vajngerl6-3/+140
This adds a indexing output/export to HTML code, which will output a xml document that will be used for indexing of the document. It is based on HTML to reuse the traversal through the doc. model. It is enabled by setting the "IndexingOutput" export parameter. This commit only adds in the groundwork, but the output is still more or less the same as html and the follow up commits will add more indexing specific changes. The only change is to use "indexing" as the top level element and the document is a valid xml (has the xml header). Also add basic test that the indexing output/export works and can be parsed as an xml with "indexing" top level element. Change-Id: I153b1a70da7cbcf0d33b8610d962e6b7ae23ad23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116631 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit ed984f8e68996bcbdcf590814c41479ba76907f2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121096 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-24rhbz#1996735 SwEditShell::GetCorrection can return nullCaolán McNamara1-1/+3
Though the exact steps to reproduce are unknown. From the text seen in the backtrace the language is possibly Finnish in which case voikko is probably the spellchecking backend in use. Change-Id: I9b3186e4699946235ccc161575bba7d4a3820565 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120879 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2021-08-24Resolves: tdf#142003 tracked changes in footnotes offset in .doc importCaolán McNamara3-6/+1
Reverts: commit e71d05eaa9a8c9e628b256f3e889b85ac11ed474 Author: Caolán McNamara <caolanm@redhat.com> Date: Fri Apr 27 15:42:26 2018 +0100 ofz#8038 defer subdocument redlining to end of parse like main document Change-Id: Ie8d7a98c7927dcba53228ebcd991d715d8faabe7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120563 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit b5870d727685ec10447e8ae446ada895250fec2e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120581 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-08-24tdf#143778 these async callbacks expect to have SdrModel::IsChanged of falseCaolán McNamara2-3/+8
when they are entered. They are adapted from the original non-async SwDrawShell::ExecDrawDlg where the start of SwDrawShell::ExecDrawDlg has... bool bChanged = pDoc->IsChanged(); pDoc->SetChanged(false); and the end has if (pDoc->IsChanged()) GetShell().SetModified(); else if (bChanged) pDoc->SetChanged(); and before async dialogs the start and end happened before and after the dialog appeared and disappeared. The intent seems to be unset the sdrmodel-changed and restore its original state if the dialogs caused nothing to happen and to explicitly set SetModified on the document if something did. Now the async dialogs callback happens after SwDrawShell::ExecDrawDlg has ended and so the callbacks start with SdrModel::IsChanged at its original value (restored by the end of ExecDrawDlg), not the "false" they were originally written to expect. For simplicity set the SdrModel IsChanged to false at the start of the callbacks and continue to restore to the passed in bChanged state if there was no changes by the callback. Change-Id: I671b35acab6d1b391fa7e6590c09f8be135449b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120548 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit c64f221fc2e22ffa60c4d78240893f7f04531b3e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120576 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-24tdf#139811 trigger layout when content changesCaolán McNamara1-0/+5
in writer styles panel of page deck which is similar to the draw case of tdf#143795. Doing this always in PanelLayout::queue_resize might make the most sense rather than these manual triggers, but do it this way initially for a safe backport. Change-Id: I4bd2e9cb9d52b66a73cd0615406052e19e6e8b51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120369 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-20LOK make sure single row/column table are resizablePranam Lashkari1-21/+30
First row/column are treated as heading in the table, that's why need some special case handling for it First row/column are not counted in regular row/column Change-Id: If67b759911ea87f2b166a69243b85e98d90c4d22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120672 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-08-16Resolves: tdf#132739 two style tags where there should be just oneCaolán McNamara3-5/+10
Change-Id: Id9c8c8cc8c5ffdd21ba79ff39a6279cf2ddc8025 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120360 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-16undo blocking emitting focus events during grab_focusCaolán McNamara2-3/+0
revert... commit f97dbac73fe149e8fed0932890d0c1d6be4869a3 Author: Caolán McNamara <caolanm@redhat.com> Date: Wed Jun 26 21:00:02 2019 +0100 infinite focus changing in toc biblio page which blocked calling focus-changed callbacks when grab_focus is called explicitly analogous to how we block value-changed callbacks setting values through code but don't block them when the value is changed by user interaction. In retrospect that was a poor choice, so revert that and subsequent workarounds in favour of just not calling gtk_grab_focus if the widget already has focus. checked: a) tdf#138427 focus set to wrong input box b) tdf#138078 only call GetFocus if we gained focus from an unfocused state c) tdf#137993 ensure the toplevel vcl::Window is activated d) tdf#136941 call focus in handler explicitly Change-Id: I411480e2d627aa9995fb41b0aa17e9fb6d34d73f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114524 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit db1cf111666847ce5ce93d18ae5ae8c29a4c44d6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120079 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Caolán McNamara <caolanm@redhat.com>
2021-08-16tdf#143626 "protect" always shown checked for sections linked to fileCaolán McNamara1-1/+0
Change-Id: I8a403a25ae5c5e3b6183ba559b0224f2886eb925 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119862 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-16Resolves: tdf#143720 treeview not resizing to fill available spaceCaolán McNamara2-2/+4
Change-Id: I041c3a743b8624f49bfe57e8a4469535e334e5dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120068 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2021-08-16tdf#143464: fix SmartTag managementJulien Nabet3-2/+4
by putting back missing information in lcl_FillRecognizerData Regression from e98711c14db9348f4d3f7d0f5bbde9276a3e73bc loplugin:unusedfields in sw (2018-12-12) Change-Id: I2e99df1a712915851c30c018a1f7279756da72de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119346 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 717ec99667f5a9ab570f1c8581e2d7a0241c32f6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119263 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 6d799778945e5481a50ffdbb908a188f6ec77aae) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119264
2021-08-06sw: fix assert fail with ShowRedlineChanges=false and para formatMiklos Vajna5-1/+154
It fails like this: loolforkit: sw/source/core/layout/wsfrm.cxx:4551: void UnHide(SwRootFrame&): Assertion `rLayout.GetCurrShell()->ActionPend()' failed. #4 0x00007f98e9f8c198 in UnHide(SwRootFrame&) (rLayout=...) at sw/source/core/layout/wsfrm.cxx:4551 #5 0x00007f98e9f8c839 in SwRootFrame::SetHideRedlines(bool) (this=0x7f98c40f7bd0, bHideRedlines=false) at sw/source/core/layout/wsfrm.cxx:4664 #6 0x00007f98e9b18afd in sw::DocumentRedlineManager::SetRedlineFlags(RedlineFlags) (this=0x80a4120, eMode=49) at sw/source/core/doc/DocumentRedlineManager.cxx:1097 #7 0x00007f98e9cfa503 in SwEditShell::SetAttrSet(SfxItemSet const&, SetAttrMode, SwPaM*, bool) (this=0x8885840, rSet= SfxItemSet of pool 0x808fd10 with parent 0x0 and Which ranges: [(63, 64), (120, 120)] = {...}, nFlags=SetAttrMode::DEFAULT, pPaM=0x0, bParagraphSetting=true) at sw/source/core/edit/edatmisc.cxx:187 #8 0x00007f98ea995f07 in SwTextShell::ExecParaAttr(SfxRequest&) (this=0x8bd0820, rReq=...) at sw/source/uibase/shells/txtattr.cxx:451 Fix it the same way commit dd489bc01adc22fc5015ea56b61d66104af184a8 (tdf#125754 sw_redlinehide: avoid recursive layout in SetHideRedlines(), 2019-06-19) did: make sure that SetHideRedlines() is called before EndAllAction(). (cherry picked from commit 39392ee94c78692a9179f7face15af0c9e74e492) Conflicts: sw/Module_sw.mk Change-Id: I6304abec2e2e2967a8369b0219492bebcd606d03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120077 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-08-04sw lok: avoid expensive DLPre/PostPaint2() around InvalidateWindows()Miklos Vajna1-2/+8
This shows up on profiles and it's not needed. It was only there, because Online always needs an invalidation to have updated tiles, so there the paint was replaced with an invalidate. And then the drawinglayer setup/teardown was not made conditional by accident. The PaintTile() case goes via Paint() -> PaintSwFrame(), which still calls these functions; this commit only speeds up SwViewShell::ImplEndAction(), which is called synchronously e.g. on every keypress. (cherry picked from commit aff28c59816d046d9b74460c1b17101b99b9514e) Change-Id: I6c362f148bc2837bd842602754770c5267e16afd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120002 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-07-20Fix lang::Locale.Language usage, tdf#128191 follow-upEike Rathke1-1/+1
Using plain lang::Locale.Language is always wrong, it may even be 'qlt' for a more complex language tag. As the InfoBar message is "Please install the hyphenation package for locale “%1”." actually use the BCP 47 language tag of that character/paragraph attribution. Spotted in https://ask.libreoffice.org/en/question/280102/install-the-hyphenation-package-for-locale-ka/ https://ask.libreoffice.org/en/question/238764/error-message-reads-install-the-hyphenation-package-for-locale-zh/ Change-Id: I5805d4d711989a9d0260940666d3eb33eae830af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119020 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit 64f885a6c9d51999b737c0f61bc3a7fa311a5a94) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119032 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-19lok: fix incorrect multi-view table selection updatesDennis Francis1-2/+5
Use the correct writer shell to fetch selected table info, else the active view's table selection data is sent to all views which is incorrect. Also avoid interference from draw empty table updates in SdrMarkView::SetMarkHandlesForLOKit() if we are in writer. [tml: In this branch, this commit also includes a fix from Miklos.] Change-Id: Iff8181a7d43712e3c9a23cee43a8b6b98ba032d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118000 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118941
2021-07-19sw: xDictionary may be an empty reference in SID_SPELLCHECK_IGNORE_ALLMiklos Vajna1-1/+1
Seen in a crashreport: handleFatalSignal ./common/SigUtil.cpp:255 /lib/x86_64-linux-gnu/libpthread.so.0 __restore_rt ??:? program/../program/libswlo.so SwTextShell::Execute(SfxRequest&) sw/source/uibase/shells/textsh1.cxx:1496 Change-Id: I709f361a1396abbb07cea06509afc41bb5f5c9a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119006 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119061 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-11cid#1470585 Dereference null return valueCaolán McNamara1-4/+6
Change-Id: If2a3eae843753a06d2f3fa9ac31acc9470cb6982 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107584 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 2c0930f19e269348a2aadc0ffe69ff23d04d7cc1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118616 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-11cid#1470368 Unchecked dynamic_castCaolán McNamara1-1/+1
Change-Id: Ie67501aea8df37e894edfecf75e2338709535253 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106986 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 52a69f41e992efa2abc2e2e94414a2547df71329) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118620 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2021-07-11Remove warning while buildingdante1-1/+1
Operator >>= from any does not guarantee initialization, so compiler warns you. Value defaluted at 0. Change-Id: Icecc765be73bb653f0167958e319a1417df6ac86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108485 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit edc7a8a372a689802a583092ff0da0f60b6dbf97) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118584 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-11tdf#140506: fix repeated table header switchingBjoern Michaelsen1-2/+2
this fixes regression from f899c28f210c6565b7227d7665d449f194d2af8e, which asssumed all frames to be listening to the Notifier of the format. That is not (yet) the case. Change-Id: Ib684842c571823eeb72824196ccfdb1df8179e85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118370 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 25e09087d8e2c5cecca1d548c69a263c7bf8b7ca) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118418
2021-07-02fix potential use-after-free in SwClipboardChangeListenerNoel Grandin1-0/+2
we think we're seeing this in COOL Change-Id: I29a287b032158076a99a836d98113d1623ebef99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118277 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 558dface96fbc5f487b16cfa1bf3c3ea20776331) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118269 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-06-30tdf#143107 related: ensure correct order of which idsMike Kaganski1-4/+3
... discovered after 8aaa28ed43978a9a4a20d62368410a57ec05c23f Change-Id: I1a14d227414210393c00c395486ede6daa438218 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118053 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 7c95c16deba975b0b282ccea1fbfcfadd7aa28b3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118106 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-06-29sw: layout: fix table split loop caused by RemoveFollowFlowLinePendingMichael Stahl2-5/+22
In no_view.odt, the table 1340 does RemoveFollowFlowLine(), then splits again, and by the time Split() returns, its flag m_bRemoveFollowFlowLinePending is set and so in the next SwTabFrame::MakeAll() it will do the same thing again, until eventually it hits layact.cxx:544: LoopControl_1 in SwLayAction::InternalAction The flag is set during lcl_RecalcSplitLine(), in SwContentFrame::Cut(), which operates under the assumption that there are no other cells in the follow flow line that may contain content frames. This only happens if "Verdana" and "Arial" fonts are available and not substituted with "DejaVu Sans" etc. (regression from c4af8b0f106f31b6e79a145bc4ab83bb6a55c808) Unfortunately this uncovers another pagination bug in testTdf88496 which was hidden by this flag being set from text frames that shouldn't exist anyway. Change-Id: I3cc82c13bfc06960b827aefc64f5b5b12520955a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117851 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit a0cd270a99f43049fc099ddd463e57aa243d5b0e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117860 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-06-24tdf#142925 render the button arrow like it used to beCaolán McNamara1-2/+18
in 7.1 Change-Id: Ibbe4b7dd2212d1bc28bad7588672bb37c8259605 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117417 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 0389e2eb50ddc0f83bfa4469861592165ea911de) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117755 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2021-06-24tdf#140934 update annotation menubutton bg when comment color changesCaolán McNamara2-20/+31
Change-Id: Ia4d10a8f19c039655dbe28c5f612061ce3755afa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112278 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 47ad7497f736b27c23667e0754cd686b78b60744) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117754 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2021-06-23sw: add BIRT layout test documentMichael Stahl2-0/+6
This nested table is an example that was broken by commit 91b2239783dc716bd71ce7962bfd7e341dfe4175 - if loaded with a wide window, it goes into layout loop; if loaded with a tall window size where page 2 is visible, strangely it doesn't loop. Change-Id: I5e73cfcd928ff1a321667c1a75b0ba7f348d4b77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117587 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit a41c71838d4662adf1ada9d46ec6e070cae7e695) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117603 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-06-23tdf#116501 sw: layout: check for flys in SwTabFrame::ShouldBwdMoved()Michael Stahl3-9/+45
On loading, this hits loop control warn:legacy.osl:580715:580715:sw/source/core/layout/layact.cxx:543: LoopControl_1 in SwLayAction::InternalAction This is because there's a fly frame 404 anchored at the last text frame 353 on page 2 inside the nested table 347. ShouldBwdMoved() sees that there is space on the bottom of page 2 and hence the follow flow row joined, but then it immediately splits again in the same way as before due to the fly with WrapTextMode_NONE. But then the outer table's cell 273 (upper of 347) is invalidated again, hence the loop. Try to check for overlapping flys in SwTabFrame::ShouldBwdMoved() by reusing CalcFlyOffsets(), which is ... not quite ideal, but perhaps better than copy-pasting half of it to a new function. This should have less side effects than the previous fix, but a problem remains that clicking on the shape on bottom of page 2 causes the layout to go wonky, but that was also the case with previous fix. Note there's a check of SwLayouter::DoesRowContainMovedFwdFrame() there already, but that doesn't help because it will only detect when the fly itself was moved forward, but in this case the fly remains on the page. Also likely it wouldn't be a good idea to move a text frame forward if the only thing of it that fits on a page is an anchored fly (i.e. its follow has mnOffset=0) because that can be intentional. Change-Id: I0376f7dcb784c006990336233c97f5093aaccb77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117473 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit f1439db62eb36ef5fbc9111b87dc4e0f24b3cb86) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117602 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-06-23Revert "tdf#116501 fix freezing at embedded text tables"Michael Stahl4-38/+3
This reverts commit 91b2239783dc716bd71ce7962bfd7e341dfe4175. This breaks documents that have many nested tables. For example Eclipse BIRT generates reports with tables nested 8 levels deep, they run into the counter in no time and, ironically, one goes into a layout loop because of this counter. Change-Id: I7451d01787903bbc60b305da3dc72f8259175e97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117472 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit ee042a371e98cdcc59848f0b953f1ce545e18e31) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117601 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2021-06-23ofz#34221 avoid OOMCaolán McNamara1-15/+17
Change-Id: I1987d39ea8ff195b397b0ee3fb0e45f9bfbfb572 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117516 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>