summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
17 hoursCppunitTest_sw_uibase_docvw: turn on set_non_application_font_useMiklos Vajna1-0/+4
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23), though this didn't find anything. Change-Id: I775e984410c1e25fb1ae09a9ddfa09793a4f9bb6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166231 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2 daysCppunitTest_sw_rtfexport3: avoid DECLARE_RTFEXPORT_TESTMiklos Vajna1-246/+448
No need to go via Writer-specific macros here. Change-Id: I5cc93ca6ee7bfc2f14d90edfe837a14c182bc73c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166169 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
3 dayssfx2 lok: simplify error handling in InterceptLOKStateChangeEvent()Miklos Vajna1-22/+13
The whole function is pointless without a viewshell, move the check & short-circuit to the top of the function, and drop all the duplicate checks. Also drop two calls to SfxViewShell::Current(): getting it from the view frame is better than getting some global state. Change-Id: I4aa7aeb7c89841bbced760ce2e43d2312bc97f20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166139 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
4 daysUpdate libxmlsec to 1.3.4Miklos Vajna3-37/+2
Allows dropping xmlsec-nss-Ensure-NSS-algorithms-are-initialized-754.patch.1, which was a backport. Change-Id: Ifdd0b5285daa79116a91ab2d122a9809f8effb5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166019 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
6 dayssfx2: fix crash in InterceptLOKStateChangeEvent()Miklos Vajna1-7/+11
Notice how e.g. the TransformPosX case already performed the same null pointer check. Crashreport backtrace: > program/libmergedlo.so > InterceptLOKStateChangeEvent > sfx2/source/control/unoctitm.cxx:1143 > program/libmergedlo.so > SfxStateCache::SetState_Impl(SfxItemState, SfxPoolItem const*, bool) > sfx2/source/control/statcach.cxx:432 > program/libmergedlo.so > SfxBindings::Update_Impl(SfxStateCache&) > /opt/rh/devtoolset-10/root/usr/include/c++/10/bits/stl_vector.h:919 (discriminator 2) > program/libmergedlo.so > SfxBindings::NextJob_Impl(Timer const*) > /opt/rh/devtoolset-10/root/usr/include/c++/10/bits/unique_ptr.h:173 Change-Id: I141d4f9ec50d0ce7a0eeaba69752c31390a1f9ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166027 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166046 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
7 dayssc: fix -Werror,-Wunused-but-set-variableMiklos Vajna1-2/+0
Pointed out by clang-15: sc/source/core/data/PivotTableFormatOutput.cxx:256:12: error: variable 'nEntryIndex' set but not used [-Werror,-Wunused-but-set-variable] size_t nEntryIndex = 0; ^ Change-Id: I3abf7fe6d4ed330cd713472ce4102eeef6aea4dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166022 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
8 daysCppunitTest_sw_uibase_shells: turn on set_non_application_font_useMiklos Vajna2-0/+4
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23), got rid of 'MS 明朝' as suggested by the failing assert. Change-Id: I24dcf0bffa8c213f776c0483d53fdee64ff7a413 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165982 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
9 daysCppunitTest_sw_rtfexport2: avoid DECLARE_RTFEXPORT_TESTMiklos Vajna1-565/+1008
No need to go via Writer-specific macros here. Change-Id: I50de20f3199878db2b9fe7e66f09b2620e43cc3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165918 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
10 dayssw: document SwTextFormatCollsMiklos Vajna1-0/+2
Text is never clear, it means paragraph in this case, since we have SwCharFormats for character styles. Change-Id: Iba21df71053f0b4fbcc0616c024e5cd2972ad44a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165902 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
11 daystdf#160067 sw floattable: fix missing move bwd of paras in split section frameMiklos Vajna4-3/+25
The last (5th) paragraph in the index was on page 2, even if page 1 still had space for it. This is a regression from commit 397d72e582c725d162c7e0b819dc6c0bb62e42b0 (Related: tdf#158986 sw floattable: fix unexpected page break with sections, 2024-02-23), in case SwLayAction::FormatLayout() doesn't calc its lower content frames then this bugdoc is good, but the old bugdoc moves its floating table to the next page, which would be bad. Fix the problem by making the condition for this "calc lower in FormatLayout()" action more strict: only do this for content frames which are in sections, followed by sections. Note that probably a cleaner way would be to completely stop calculating content frames in SwLayAction::FormatLayout() and only do that in FormatContent(), but then it's not clear how to re-fix tdf#158986, and at least this resolves the regression. Change-Id: Id671b3b68d8af8ad1cca3399a9aa028de58df3a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165878 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-04-05sw doc model xml dump: show SwTableLine::m_aBoxesMiklos Vajna2-9/+21
Which means we get boxes (cells) grouped by lines (rows), instead of a flat list of all cells in a table. Change-Id: Ibb14c6fb26b2f4b502b18544d9a08d964c45a97e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165806 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-04-04svtools: improve font name in EmbeddedObjectRef::DrawPaintReplacement()Miklos Vajna1-1/+1
Once CppunitTest_sw_uibase_shells sets non_application_font_use to abort, it would fail here with: warn:vcl.fonts:29463:29463:vcl/unx/generic/fontmanager/fontconfig.cxx:1192: PrintFontManager::Substitute: missing font: 'Helvetica' try: Liberation Sans instead Fix the problem similar to what commit 1d9221ebc86f2696a65c12287ea19eea44d680cf (tdf#124601 sw: fix misplaced images in table cells, 2022-11-30) did: use a font that we ship to avoid font fallback. Change-Id: I1301c546d7cce90f0e687bc0db9dc69262eed4a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165779 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-04-03CppunitTest_sw_rtfexport: avoid DECLARE_RTFEXPORT_TESTMiklos Vajna1-337/+567
No need to go via Writer-specific macros here. Change-Id: Iee66114a4cb8db712d932cc78f799809ad5e4341 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165730 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-04-02svx: prefix members of XLineEndEntryMiklos Vajna2-4/+4
See tdf#94879 for motivation. Change-Id: I901e231f8112dea28bdccfb79b17470f1436c0db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165665 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-27tdf#109272 sw: add form filling testcaseMiklos Vajna3-1/+26
Open the document, press tab to switch to a field, start typing, nothing shows up. Looking at the doc model dump, it turns out we inserted characters between the field start and the field separator dummy characters, instead of the field separator and the field end ones, which is quite bad. Turns out that in the meantime commit c80606bb23fd42e41710d70a96b7ffaf948384a6 (tdf#109272: make sure that Delete / Backspace move cursor correctly, 2024-01-18) fixed this, kind of by accident: the comment says the motivation there was change tracking. Add a testcase to to make sure this now continues to work. Change-Id: I1a300d8064f7c2a30aafeefc6cb5612bfcd9a06a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165368 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-27CppunitTest_sw_htmlexport: use more CPPUNIT_TEST_FIXTURE()Miklos Vajna2-32/+42
No need to go via Writer-specific macros here. Change-Id: Ic7f0ed5ff16741d14488a19f1e73486690dd685b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165365 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-26sw: document SwFormatFillOrderMiklos Vajna1-0/+3
Something to be mostly ignored, I guess. Change-Id: Iab7dc0f79d4cccb6d6b2a25e42d9fd1eb7e2b8dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165300 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-25svx: prefix members of XHatchEntryMiklos Vajna2-4/+4
See tdf#94879 for motivation. Change-Id: I1edd4bf9c3b7369898f500f9eb5c483be133ed67 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165267 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-22Relatted: tdf#160139 RTF paste: don't turn off headers/footersMiklos Vajna2-1/+41
Regression from commit d918beda2ab42668014b0dd42996b6ccc97e8c3a (tdf#158814 DOCX import: fix unwanted header with type="first" & no titlePg, 2024-02-05), pasting shape text into the body text of Writer turned off the header, which was not intentional. The original use-case was DOCX/RTF import, and the paste case was just not considered. Fix the problem by leaving the paste alone: we already omit a number of actions in this case (e.g. not overwrite styles), don't turn off headers, either. Note that the original problem is wider: we would probably need to track what page styles are created and only touch those, or something similar. Change-Id: If08fa7956e98766d5807332c5c0baa25b46afe38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165191 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-22CppunitTest_sd_tiledrendering2: extract one test from the old, large suiteMiklos Vajna5-24/+231
Not a split, to avoid too many conflicts while cherry-picking, but at least create a new suite where next tests can be added without too much build time after source code edits. Change-Id: Idb421db0a63dccee205a4092d368f6d48a093a10 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165163 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-21cool#8278 sfx2 lok: fix lost hide notification on sidebar switchMiklos Vajna2-10/+32
Similar to commit 55feb670ca28e0a48ac82a65b5559598704d993e (cool#8278 sfx2 lok: fix unexpected non-json sidebar status update, 2024-03-21), the trouble here was not around hiding the sidebar but around switching between decks. This went wrong in commit aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set language/locale on async sidebar update, 2024-01-11), where I didn't notice that SidebarController::SwitchToDeck() may emit two callbacks, so the effort to avoid code duplication went a bit too far: the hide+show case only emitted a show callback. Fix this by building a list of state changes to emit, so once se switch decks, not only the new one is "on", but also the old one is "off". Change-Id: I1678ee61e004697a6a5c6ecaf40a18b2d1d47e61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165108 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-21CppunitTest_sw_uibase_uiview: turn on set_non_application_font_useMiklos Vajna3-0/+4
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23), replaced fonts as suggested by the failing assert. Change-Id: I528ba0bc7e463c09fb86b424918f7e645cdb552f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165091 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-21cool#8278 sfx2 lok: fix unexpected non-json sidebar status updateMiklos Vajna5-46/+107
Open an Impress document via LOK, open the slide layout sidebar, click the toggle icon so it gets closed: the toggle icon will signal that the sidebar is open, when it's closed already. This is a regression from commit aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set language/locale on async sidebar update, 2024-01-11), previously we always emitted LOK_CALLBACK_STATE_CHANGED callbacks with plain text payloads for the sidebar, where the locale with implicit (with all its issues), but the above scenario worked fine. Fix the problem by making SidebarController::disposeDecks() consistent with SwitchToDeck(), so now we always emit JSON payloads for the sidebar deck changes. An alternative would be to improve the code around extractUnoCommand() in online.git to handle a mix of plain text and JSON payloads, but the plain text payload is tricky to extend, so using more JSON payloads sounds like a better fix. Change-Id: I5b75c2987c230c6720181a1e95ae579727943235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165055 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-20CppunitTest_sw_ooxmlexport13: use more CPPUNIT_TEST_FIXTURE()Miklos Vajna1-1/+3
No need to go via Writer-specific macros here. Change-Id: I097bf16a3c45024184c20f65e811d9acb1f3e8cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165041 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-19sw: document SwCursorMiklos Vajna1-0/+3
Not to be confused with SwShellCursor, which is only the UI cursor, while this is more general. Change-Id: I2b83dbaa48c9e94db45e997b2b8fef23e3840800 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164989 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-18svx: prefix members of SdrLayerMiklos Vajna2-9/+9
See tdf#94879 for motivation. Change-Id: I35c1b90b472a27b34a3ca31cd81cd1fa65b24843 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164963 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-14sw: fix fieldmark crash in MSWordExportBase::OutputTextNode()Miklos Vajna1-19/+22
Crashreport signature: program/libmswordlo.so MSWordExportBase::OutputTextNode(SwTextNode&) sw/source/filter/ww8/wrtw8nds.cxx:2547 program/libmswordlo.so MSWordExportBase::WriteText() sw/source/filter/ww8/wrtww8.cxx:2936 program/libmswordlo.so DocxExport::WriteMainText() /opt/rh/devtoolset-10/root/usr/include/c++/10/bits/stl_tree.h:1261 program/libmswordlo.so DocxExport::ExportDocument_Impl() sw/source/filter/ww8/docxexport.cxx:541 Keep the assert, because ideally it should not happen that we have no fieldmark at CH_TXT_ATR_FIELDEND, but crashing in non-debug builds goes a bit too far. Change-Id: I428f46821771802a0ea2beaaf86463487e561aff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164844 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-14CppunitTest_sw_odfimport: turn on set_non_application_font_useMiklos Vajna11-0/+4
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23), replaced fonts as suggested by the failing assert. Change-Id: Ia0225a15b295efd86b6dbfeb2c80e9c161cbe566 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164800 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-13CppunitTest_sw_txtencexport: rework to avoid DECLARE_DOCBOOKEXPORT_TEST()Miklos Vajna1-11/+9
No need go via Writer-specific macros. And in case the naming would be confusing, testBulletsNotHidden means that the hidden paragraph near the end of the document is hidden or not, it doesn't mean if the bullets are hidden or not. Change-Id: I8948b1c3fc9fe32e6d41405caab70bc349fa7c29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164756 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-12sw: extend the SwFormatChg documentation a littleMiklos Vajna1-1/+4
It's not directly SwFormatChg that describes the change of a format, it's sw::LegacyModifyHint that has pointers to the old and new pool items, which can be SwFormatChg / RES_FMT_CHG. Change-Id: I997d63ea380fbd8cc6434982d348edad2e4bb44b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164698 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-11svx: prefix members of XHatchMiklos Vajna2-21/+21
See tdf#94879 for motivation. Change-Id: I65f69d6fb334b0d376a304cd1bc1437fd116c9a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164643 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-08sw doc model xml dump: avoid SwNode::GetTableBox()Miklos Vajna2-9/+8
The purpose of the doc model dump is to give an idea of the doc model as it's in the memory. SwNode::GetTableBox() is far from trivial and can be problematic when invoked from e.g. an already crashed process. Rather show SwTable::m_TabSortContentBoxes, which knows the (cell) start node, and then this can be avoided in SwStartNode::dumpAsXml(). Change-Id: Ie81181cfd41de4d4df38a8b7a430ecd5f67bc8a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164560 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-07CppunitTest_sw_uibase_dochdl: turn on set_non_application_font_useMiklos Vajna1-0/+4
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23), though this didn't find anything. Change-Id: I5e189764dd8a72d4eff021a2430b480db24f3341 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164519 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-06cool#8465 sw lok: classify anchored images as complex selectionMiklos Vajna2-0/+35
Regression from commit 7a8dc25defee31edbb75a2f8c35f92ee2d3f3a83 (sw lok: simplify SwTransferable::isComplex(), 2021-02-23), in case as-char imagse were part of a selection, we considered that complex, but at-char was considered as simple, which is inconsistent. This was not intentional, simply the rework to avoid copying the selection to a temporary document lost this functionality. Fix the problem by using CollectFrameAtNode() to find at-char images, which tries to use the layout, so is not meant to be too slow. An alternative would be sw::GetFlysAnchoredAt(), but that doesn't try to use the layout, so avoid that. Change-Id: I647d0f3934f9553de69afbf2de059631e2b5619c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164453 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-06CppunitTest_sw_txtexport: rework to avoid DECLARE_DOCBOOKEXPORT_TEST()Miklos Vajna1-13/+16
No need go via Writer-specific macros. Change-Id: Icb5c3d699e03e299f9c93cd92120bc4db800828a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164447 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-05tdf#159706 sw hide whitespace: fix lost follow on enabling thisMiklos Vajna4-5/+66
Regression from commit 6d8da2b2deb4be2182ca1852cec7eb38a4c654eb (tdf#96943 sw Hide Whitespace: don't create pages for widow / orphan ..., 2016-01-07), the reduced bugdoc has 3 paragraphs, 1.5 paragraphs are on page 1, 1.5 paragraphs are on page 2. Hiding whitespace moves the entire paragraph 2 to page 1, which is unexpected. Checking the original use-case, the CheckPageHeightValidForHideWhitespace() call in SwTextFrameBreak::IsInside() can be removed, and still the original "type character at the end of the document results in a new, unwanted page" problem is not back. Likely at some point in the meantime we gave up on these reduced page heights for the last page, so the original tweak for widow/orphan lines is not needed anymore. Fix the problem reverting the original, no longer needed fix, but keeping its testTdf96943 test in the CppunitTest_sw_uiwriter4 suite. Such reducing of last page doesn't happen with Word 2021, so probably this change in behavior is wanted. Change-Id: I5d46d0cd84d0071ffb9ef3f8e4ca7335e61bb226 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164408 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-04svx: prefix members of XGradientEntryMiklos Vajna2-4/+4
See tdf#94879 for motivation. Change-Id: Ib00e0ea61ad421eb1d02d973ab8dc8c79b006a64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164326 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-04tdf#159483 sc HTML copy: handle data-sheets-formula attributeMiklos Vajna2-0/+35
When a formula cell gets copied from Calc to google docs, only the formula result was copied, not the formula. There is a data-sheets-formula attribute on <td> that can describe the formula we have. Fix the problem by extending ScHTMLExport::WriteCell() to emit that. This is more or less the export equivalent of commit 7812adb2ed11a3e08be24d3f2f94d14bfd740c55 (tdf#159483 sc HTML paste: handle data-sheets-formula attribute, 2024-02-12). Change-Id: Iab373ce8a028deb6a2874a8c690e928edf5d79f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164363 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-03-04tdf#159483 sc HTML copy: handle data-sheets-value attribute for the num caseMiklos Vajna2-0/+59
Type 1000 and 2000 into cells in Calc, format them as e.g. a HUF currency, the resulting formatted strings can be copied to google sheets, but the SUM() on them will be 0 (and not 3000). Our own import knows how to read metadata to get the original float value, but our exporter didn't emit these. Fix the problem by adding support for non-boolean float values + number formats in the HTML export. This is more or less export equivalent of commit 789964785a61daab5f8065f006dd7aaf843c7236 (tdf#159483 sc HTML import: handle data-sheets-value attribute for the num case, 2024-02-09). Change-Id: I5acb3724367ce38bd96056dbe4f846cd7bbc5fe2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164213 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-01sc lok: make the formula separator warning dialog asyncMiklos Vajna1-3/+3
I'm not sure what exactly changed here, but recently online.git unit-wopi-languages started to fail for me. First it was an assertion failure: /home/vmiklos/git/libreoffice/core/vcl/source/window/window.cxx:3186: void vcl::Window::SetLOKNotifier(const vcl::ILibreOfficeKitNotifier*, bool): Assertion `pNotifier' failed. Once ScDocShell::CheckConfigOptions() is changed to pass in the view shell explicitly, the next error is: kit-26201-26149 2024-02-28 10:41:31.659255 +0100 [ kitbroker_002 ] ERR non-async dialog triggered So convert it to async, similar to the chart2/ hunk of commit 4b33e878a446b0bcdb1d5f882a05a256967eea54 (Make format condition, chart delete and pivot table error async, 2024-01-10). Change-Id: I159278b24db0acd5fddb6f4d29dae9a35321e614 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164178 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-02-29tdf#158801 sw floattable: fix crash with headers and interactive editingMiklos Vajna3-1/+32
Regression from commit ce2fc5eb29b4e252993b549dee002fa8948c8386 (tdf#158341 sw floattable: fix layout loop when fly is below the body frame, 2023-11-29), open the bugdoc, add an empty paragraph at the start, Writer layout crashes. The immediate problem is that SwTabFrame::MakeAll() assumes that in case HasFollowFlowLine() is true, then GetFollow()->GetFirstNonHeadlineRow() is always non-nullptr, similar to the situation in commit 223d2fac61e061478721a7a4a89b1362f5037d8f (sw floattable: fix crash by trying harder to split tables, 2023-11-22). The deeper problem is that the bugdoc has a repeated table header row, the fly frame temporarily gets shifted down, so nominally the header doesn't fit anymore, and this leads to a modification of the doc model, which creates inconsistency: the model now says we have no header rows but the layout still contains table row frames where the header bit is true. This is problematic in theory, but in practice caused no problem so far. Fix the problem by disabling this mechanism for floating tables: trying to have a table header that doesn't fit the table is asking for trouble anyway, and this way at least we have a layout that is consistent with the model, which also avoids the crash, now that nobody violates the "HasFollowFlowLine -> follow's FirstNonHeadlineRow != nullptr" invariant. Also extend the layout dump, so it's easier to see when the master's flag and the follow's row list gets out of sync. Change-Id: I52b51f6d86ab4e0bab560f892e9cceb183aecd5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164136 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-29CppunitTest_sw_tiledrendering2: turn on set_non_application_font_useMiklos Vajna1-0/+4
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23), though this didn't find anything. Change-Id: Ia3a58220b772c4a68ca86dff01fae7e693b48fca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164137 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-28Related: tdf#158986 sw floattable, RTF import: use more setNeedPar()Miklos Vajna1-6/+7
See <https://gerrit.libreoffice.org/c/core/+/163844/1#message-ea0bfde78fa24ad83e5c153ecaddbf897a89f547>, this keeps the bug fixed but is a better version, as pointed out by Michael S: > there was a bug where dispatching PAR here caused a deferred page > break to be lost, which was fixed by calling setNeedPar(true) instead. Change-Id: Ibe6e4c14286d40d3066ce9cb7fac9f6847fb81dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164081 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-28CppunitTest_sw_docbookexport: rework to avoid DECLARE_DOCBOOKEXPORT_TEST()Miklos Vajna1-4/+6
No need go via Writer-specific macros. Change-Id: I68619a8cc610d7aa2d14657adaf8a7806060ced5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164079 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-28Related: tdf#150408 RTF filter: handle legal numberingMiklos Vajna5-2/+59
The bugdoc's 2nd para started with 'Sect I.01', while Word rendered this as 'Sect 1.01'. The reason for this difference is that there is an "is legal" boolean property on the numbering that we ignored from RTF during import/export. Fix the problem by extending RTFDocumentImpl::dispatchTableSprmValue() for the numbering table import + RtfAttributeOutput::NumberingLevel() for the export. The import default for this value was also wrong, given that the default is to enable it when the control word is present. Change-Id: I4dcd23768000ba29d4df314b475b412bb371545e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164078 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-27Related: tdf#150408 DOC filter: handle legal numberingMiklos Vajna4-1/+43
The bugdoc's 2nd para started with 'Sect I.01', while Word rendered this as 'Sect 1.01'. The reason for this difference is that there is an "is legal" boolean property on the numbering that we ignored from [MS-DOC] during import/export. Fix the problem by WW8ListManager::ReadLVL() and WW8AttributeOutput::NumberingLevel() to handle this, building on top of the existing DOCX work. RTF still needs doing. Change-Id: I57ec402c1dd829251afa639ddfa7fc6620da1125 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164000 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-27sw: document SwFormatEditInReadonlyMiklos Vajna1-0/+5
What it is, which item set can contain it, where is the UI. Change-Id: I470b057418c551da78b174dd02a22206a18dd03f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163999 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-26svx: prefix members of XFillHatchItemMiklos Vajna2-32/+32
See tdf#94879 for motivation. Change-Id: I4e2251aa5488c76a270e01f48ed4ccc12fc56332 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163930 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-26tdf#158986 sw floattable: fix RTF import of table followed by \sectMiklos Vajna4-3/+46
The bugdoc had a floating table, immediately followed by a section break. The floating table went to the second page, should be on the first page. The trouble is that RTF's section break is just a special symbol, so we can have a section break right after a floating table. This is in constrast with DOCX where a non-last section break is a paragraph property, so it's guaranteed to have at least a paragraph start after a floating table and before a section break, which can nicely serve as an anchor point for the floating table. Fix the problem similar to what the OOXML tokenizer did in a similar case in commit 01ad8ec4bb5425446e95dbada81de435646824b4 (sw floattable: fix lost tables around a floating table from DOCX, 2023-06-05), by injecting a paragraph before the section break. Handling this at a tokenizer level seems to be the right place, since the DOCX version of the same document was already imported OK. Change-Id: Ic945c472c08ba872a5c46e2b8f75e919678aa0a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163929 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-23Related: tdf#158986 sw floattable: fix unexpected page break with sectionsMiklos Vajna3-1/+27
Regression from commit c303981cfd95ce1c3881366023d5495ae2edce97 (tdf#156724 sw: layout: fix tables not splitting due to footnotes differently, 2023-08-24), the floating table in the DOCX version of the bugdoc went from page 1 to page 2. It seems what happens is that the first page has 2 section frames, and we used to directly recalc the last lower of the first section frame, which triggered a recalc of the second section frame, so the table moved from page 2 to page 1 once the top of the second section frame was reduced (so the table could fit on page 1). But this direct recalc was removed because it caused problems for split tables and footnotes in tdf#156724. Fix the problem by conditionally restoring the OptCalc() call in SwLayAction::FormatLayout(): only do it for the last lower of section frames, which is enough for the DOCX version of tdf#158986, but it keeps the old tdf#156724 use-case working (the layout of that bugdoc doesn't modify with this change). The RTF version of the bugdoc (which was the originally reported problem) still needs more work, but that's hopefully not a layout problem but an RTF import one. Change-Id: I1134ec3a27aec8ee871b535d81dedf9d27bd6bd5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163805 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins