summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-02tdf#50934: Initial plumbing and infrastructureKurt Nordback
Change-Id: I355bdc8e6d67e7cdd47e4d6eccecedc4b53ac11b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155851 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-02Update git submodulesChristian Lohmaier
* Update translations from branch 'master' to 7eb44b4e6e21e49027b3caca5f5c85d0aa1f7859 - update translations for master and force-fix errors using pocheck Change-Id: Ief082cee65d31c24f50f8c500bbc5fb14c55ac27
2024-02-01tdf#154587: allow directory entries in ZIP packagesMike Kaganski
The problem in the bugdoc was the directory entries. These entries are valid in ZIP packages (even if not common); they may be useful to e.g. define per-directory permissions (ACLs). In normal mode, ZipFile reads central directory; there we can read if the entry has FAT file attributes; and then, if the entry is a directory. Then it is OK to skip it. In repair mode, central directory is not used, local file headers don't contain a "directory" flag. A workaround is used, checking if there are entries that represent directories of other entries. Also this change fixes some places that didn't pass the recovery flag correctly. Change-Id: I324671841a2c4d0f279b03801d95c8f2eeb99b46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162888 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-01Update git submodulesTaichi Haradaguchi
* Update helpcontent2 from branch 'master' to 10c11a706ac08e4324a9439e42c748417c0e7f47 - Fix link to graphic_size_check page Fix a bug that the "Help Page Not Found" page is displayed when the Help button in the "Graphic Size Check" dialog is clicked. Change-Id: I6bf7c568b5f0dafc5d21de49d950b074cc09f442 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/162645 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-02-01Update git submodulesDione Maddern
* Update helpcontent2 from branch 'master' to 3f4e836fd8b70243326cb8cb5f71213055f08195 - tdf#155877 Fix broken links in Tools menu help pages in Draw Added HID bookmarks to /text/shared/guide/redaction.xhp so that pressing F1 opens the correct help page for: Tools > Redact > Rectangle Tools > Redact > Freeform Tools > Redact > Export Redacted PDF (White) Tools > REdact > Export Redacted PDF (Black) Change-Id: I6ae3dcb39f794c9acff004d66b5fecd821fe93c9 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/162819 Tested-by: Jenkins Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
2024-02-01Update git submodulesMarco A.G.Pinto
* Update dictionaries from branch 'master' to 208a9fd80b2a182fe20f224cd615119c6323ae2e - tdf#159164 Update the English dictionaries: GB+ZA+AU+CA+US Change-Id: I1ad3cb7a283f85cd8260d2d12f3abd78dfcf6206 Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/162881 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-02-01tdf#159015 sw: layout: fix infinite loop in ::CalcContent()Michael Stahl
SwObjectFormatter::FormatObj() will just return if IsAgain() is set, so the while loop here won't make any progress. (regression from commit 191babee4f0ec643b80e96b0cd98c2d04ff96e4e) Change-Id: I1c194b148760ae05cf4dee1d5729be28e87d6ba0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162880 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-01tdf#159483 sc HTML import: handle data-sheets-value attribute for the text caseMiklos Vajna
The A2 cell in the bugdoc has 01 in it, which was auto-converted to 1 (float) value on import, even if it was text originally. This is hard to solve for HTML in general, which is not typed, but this input is coming from google sheets, which has an additional data-sheets-value attribute on <td> that does tell us about the type of the cell. Fix the problem by handling that attribute, and in case it explicitly says it's text, then apply the matching number format. Other types are not yet handled. Change-Id: I2986ef864e97d9c46d191aba25ca5740a1151a71 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162869 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-01tdf#117118 - Saves data automatically in Firebird embedded databaseJuan c. Sanz
Saves data when disposing connection regardless of whether or not the save button is pressed. Solve Linux problems reported after previous patch (commit 9227fbabe0a33134f56aefdd8ec16024f006a659) was reverted. Change-Id: Idc02930c894560dfdb40265c253ee7c5557fe18b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159019 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-01check that rtl_random_getBytes() was successfulMichael Stahl
... everywhere it is used to generate material for encryption. Change-Id: Id3390376bb2f3a5fa1bbfd735850fce886ef7db2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162873 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-01tdf#131575: sc_subsequent_filters: Add unittestXisco Fauli
Change-Id: I6f4bcc3da028dc9b2cd86ed06e309bed8d808ca9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162872 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-02-01tdf#76115: sc_subsequent_filters: Add unittestXisco Fauli
Change-Id: I355eef6b0f145da8aacdd3b395ce3dcbecfb3e42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162870 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-02-01tdf#140004 Toggle comment in the Basic IDERafael Lima
This patch adds the "toggle comment" functionality to the Basic IDE. The shortcut Ctrl + Alt + C is used to execute it. It works similarly to other code editors such as Kate and VSCode. Change-Id: Ifdae42b3729cc909baf87c729fe8c3cdf6428184 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162005 Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-02-01tdf#131641 Enter selected text in the search bar (Basic IDE)Rafael Lima
This patch makes the selected text in the code editor be automatically inserted in the search bar. Change-Id: Ibbe64aa3375a5a47dedb762001ed4b99f4b22e46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162548 Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Tested-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-02-01tdf#158326 - Auto Filter: separate sorting and removing of duplicatesAndreas Heinisch
Change-Id: Ide74895508af280f4b0c129689d852635e62dbff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160052 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-02-01tdf#159496: clear mxObjectContainer in PrepareSecondTryLoad_ImplMike Kaganski
The problem here is that the object container has own reference to the storage object. In SfxBaseModel::load, when preparing for a second try, the storage gets disposed, and a cleanup is performed; but previously, the reference to the disposed storage was used in the object container, and thus generated a failure when it was used to import the OLE. Clearing it allows to re-create it properly, with the updated storage. Change-Id: I08b7503d79240ccc51b253fe1f4e99a0232995b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162866 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-01Fix typoAndrea Gelmini
Change-Id: I38aaf46f65749bb0aff88e2fbeb2fd65bc8b7030 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162874 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-02-01tdf#159493: hold solar mutex in TimerUpdateMike Kaganski
Several functions called from here check that the mutex is held, specifically: === call stack 1 === tllo.dll!DbgTestSolarMutex() at C:\lo\core\tools\source\debug\debug.cxx(55) swlo.dll!SwTextBoxHelper::isTextBox(const SwFrameFormat * pFormat, unsigned short nType, const SdrObject * pObject) at C:\lo\core\sw\source\core\doc\textboxhelper.cxx(300) swlo.dll!SwDoc::GetFlyCount(FlyCntType eType, bool bIgnoreTextBoxes) at C:\lo\core\sw\source\core\doc\docfly.cxx(76) swlo.dll!SwFEShell::GetFlyCount(FlyCntType eType, bool bIgnoreTextBoxes) at C:\lo\core\sw\source\core\frmedt\feshview.cxx(2557) swlo.dll!SwContentType::FillMemberList(bool * pbContentChanged) at C:\lo\core\sw\source\uibase\utlui\content.cxx(585) swlo.dll!SwContentTree::HasContentChanged() at C:\lo\core\sw\source\uibase\utlui\content.cxx(3431) swlo.dll!SwContentTree::TimerUpdate(Timer * __formal) at C:\lo\core\sw\source\uibase\utlui\content.cxx(4174) ... === call stack 2 === tllo.dll!DbgTestSolarMutex() at C:\lo\core\tools\source\debug\debug.cxx(55) vcllo.dll!OutputDevice::SetDeviceClipRegion(const vcl::Region * pRegion) at C:\lo\core\vcl\source\outdev\clipping.cxx(205) vcllo.dll!OutputDevice::SetClipRegion(const vcl::Region & rRegion) at C:\lo\core\vcl\source\outdev\clipping.cxx(66) vcllo.dll!SvImpLBox::ShowCursor(bool bShow) at C:\lo\core\vcl\source\treelist\svimpbox.cxx(654) vcllo.dll!SvImpLBox::UpdateAll() at C:\lo\core\vcl\source\treelist\svimpbox.cxx(680) vcllo.dll!SvImpLBox::SetUpdateMode(bool bMode) at C:\lo\core\vcl\source\treelist\svimpbox.cxx(2996) vcllo.dll!SvTreeListBox::SetUpdateMode(bool bUpdate) at C:\lo\core\vcl\source\treelist\treelistbox.cxx(2306) vcllo.dll!SalInstanceTreeView::thaw() at C:\lo\core\vcl\source\app\salvtables.cxx(3938) swlo.dll!SwContentTree::clear() at C:\lo\core\sw\source\uibase\utlui\content.cxx(3018) swlo.dll!SwContentTree::Display(bool bActive) at C:\lo\core\sw\source\uibase\utlui\content.cxx(2853) swlo.dll!SwContentTree::TimerUpdate(Timer * __formal) at C:\lo\core\sw\source\uibase\utlui\content.cxx(4181) ... Change-Id: I643f5984d4678f8062f20bf341bfad6e8462526b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162865 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-01CppunitTest_sw_uibase_fldui: turn on set_non_application_font_useMiklos Vajna
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23), though this one didn't find any problems. Change-Id: Idcd186358d20321753dac9cb899aa887aa4a3430 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162863 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-02-01tdf#159474: fix handling of pre-set RepairPackage propertyMike Kaganski
StorageFilterDetect::detect had a wrong logic here, only honoring repair request in case it haappened interactively inside it. The pre-existing RepairPackage set to true was treated as "do not try to repair". Change-Id: I3fb63a5d72097a79977e8ed734f8e69dd2ea999a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162858 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-02-01writerfilter: replace members w/ SubstreamContext::eSubstreamTypeMichael Stahl
This should not change any behaviour. Change-Id: Ic970f0e1b6401119d875c9e811589b9c210e0c34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162842 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-01writerfilter: move m_bFirstParagraphInCell to SubstreamContextMichael Stahl
This is a change to set it for all substreams. Change-Id: I44ed9a5485000f40f8ccfe3ec885ef8f05f5aab2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162841 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-01writerfilter: use SubstreamContext for all substreamsMichael Stahl
<vmiklos> possibly just nobody needed that so far. could be some more general SubstreamContext, i don't see an obvious problem reusing that at more places. Change-Id: If0749155452f65f8dfc4ac2b10f91bb8e48a6b2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162840 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-01writerfilter: move m_bParaHadField to SubstreamContextMichael Stahl
Change-Id: Ie15e35d304a423bfa3d7b7ead71015d5ec1228d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162839 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-01embindmaker: Add support for sequence typesStephan Bergmann
Ideally, JS code would have a way to create instances of arbitrary UNO sequence types (to e.g. put them into Anys), but that goes against the static nature of Embind. So at least register JS support for all those UNO sequence types that are actually used in the UNO API. (This would cause duplicate failures, though, if we generated multiple separate .cxx files from embindmaker invocations, with registration code for the same UNO sequence types.) (Even more ideally, UNO sequence types could map to JS arrays, and/oror be garbage-collected on the JS side rather than needing explicit delete(). The resize/size/get/set interface in unoembindhelpers::registerSequence is modelled after Embind's emscripten::register_vector.) Change-Id: Icd38b2e03db442dd613b9222b9bd092f947f7bec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162849 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-02-01fix --enable-mergelibs build on macOSNoel Grandin
by including the spellchecker library into the merged library Change-Id: I427458005af3b30bfdcd2134ef102852e4c92ea2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162861 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-01tdf#154863 Add unit test to cover crash on image moveMatt K
This change adds a CppUnit test that changes the position of an image in an example document which causes a crash if the bug exists. Change-Id: I0f507ccf63c2c7f49f6ed71cd8df174b2b3136f1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162857 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-02-01make table-tab dialog asyncNoel Grandin
Change-Id: I3d5e4a691e494ec27eead8882b6155545361d48d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162835 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-01make insert-new-doc dialog asyncNoel Grandin
Change-Id: I4977fc6ef2c6da356051ac5573ed088707d3b311 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162834 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-01make insert-db-col-auto-pilot dialog asyncNoel Grandin
Change-Id: I954c9a4c55c9c641955484626aa744dd9fa74995 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162808 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-01Currency pop-up: move getDocumentCurrencies to cxx, extend testTomaž Vajngerl
Test now checks that multiple cells with the same currency still result in only one entry returned by getDocumentCurrencies. Change-Id: I34b0fd3b117ce01b3fd462f684d0927dd53f796d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162788 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-02-01sc: put used currencies on top of the currency pop-up listTomaž Vajngerl
The list of currencies is fairly long and there is no easy way to search the list, so to make it easier to concurrently fint the desired currency, put the currencies that are used in the document on top of the list. This adds a DocumentModelAccessor class, which is used to access parts of the document model from other modules throught the SfxObjectShell. Change-Id: I81a180b674ae69b373b0422f363678e8bab37194 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162638 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 79da840fac78f11c156801c43d8b79d6d4f32869) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162755 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-02-01editeng: access ImpEditEngine with getImpl() not directTomaž Vajngerl
In EditEngine use getImpl() when accessing ImpEditEngine and not directly via the mpImpEditEngine member variable. Change-Id: I11f9ee21aec4f5e99fbe78bacab57ddc21580af7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162662 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-01-31Related tdf#158750 Fix line highlight for all modules when color scheme changesRafael Lima
Prior to this patch, if a library had multiple modules and the color scheme was changed (via View - Color Scheme), the line hightlight color would only update for the current module and remain unchanged for the other modules in the same library. Change-Id: Idda78c07d02534dfedcd927c37116a2617500ebc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162818 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2024-01-31qtcreator: Fix generating .pro files for externalsMichael Weghorn
Since commit 3460799175e6c5795aa07c784e16d10ba9081d49 Date: Thu Jan 25 23:41:52 2024 +0600 Clear gb_GbuildToJson_DENYLISTEDMODULES, allow these modules , externals are taken into account in the generation of IDE integrations, causing errors like this when running `make qtcreator-ide-integration` to generate the *.pro files for the QtCreator IDE integration: cd /home/michi/development/git/libreoffice && bin/gbuild-to-ide --ide qtcreator --make make ERROR : creating pro file=/home/michi/development/git/libreoffice/clucene/clucene.pro [Errno 2] No such file or directory: '/home/michi/development/git/libreoffice/clucene/clucene.pro' Traceback (most recent call last): File "/home/michi/development/git/libreoffice/bin/gbuild-to-ide", line 1787, in emit with open(qt_pro_file, mode) as fpro: ^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/home/michi/development/git/libreoffice/clucene/clucene.pro' Fix this by creating the .pro files in a directory that has the same relative path to the $(BUILDDIR) as the corresponding .mk files have in the $(SRCDIR) rather than in $(BUILDDIR)/$(LIBNAME)/. While both are the same for LO's internal modules, the latter directory does not exist for externals, since they're located underneath a top-level directory called "external". For the simple case of an in-tree build, this now e.g. creates a file `external/clucene/clucene.pro` instead of failing to create a `clucene/clucene.pro` because there's no top-level "clucene" directory. An alternative approach might to just ignore the externals, as this commit implemented it for the codelite integration: commit 41c8e0957369b7b53a3b9cf4b4cf1e49a982a414 Date: Sat Jan 27 21:54:10 2024 +0200 fix codelite-ide-integration externals seems to be part of the list of modules now, but I don't know how to deal with that, so just ignore them. (In that case, they wouldn't be part of the project, speeding up update of the clang code model after changes, but then not providing features like code navigation and autocompletion etc.) Change-Id: Idb04af5f7445955e5dbf9ec3fd8626bbcb09ab11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162837 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-01-31embindmaker: Consistently spell out "::com::sun::star::"Stephan Bergmann
Change-Id: I253236c908b1827479c1824cf01c707e48ef58c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162832 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-31move CharMap out of cuiCaolán McNamara
remove CUI_DLLPUBLIC from stuff which is not exported then drop the cui/include dir which is then empty and the places we link to cui where we now don't need to and restore cui back to a lib containing stuff that doesn't need to be explictly linked to in keeping with original #i106421# idea Change-Id: I21894e6f8529dd3306df345fb52dbf5009015f3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162798 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-31embindmaker: Handle (plain) structsStephan Bergmann
Change-Id: I16ac3a6a2f42cf3054104a5ba90f4b75238e2ec4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162843 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-31make char properties dialog asyncNoel Grandin
Change-Id: I5bba9b50cc1a34944afea28458f57bd51047433e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162344 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-31tdf#159350 Hiding Options dialog tabpages stopped workingNoel Grandin
regression from commit 3ed7511eca99819012fc1baa490ef85963a9472e Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon Jul 26 15:21:35 2021 +0200 simplify SvtOptionsDialogOptions Change-Id: If300aefd3b249e64c15bc664ed16c00e743c2b80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-31Rename UnoInOutParamXxx -> uno_InOutParam_xxxStephan Bergmann
...to harmonize with the other existing uno_Type_... etc. names, and with upcoming uno_Sequence_... names. (And template'ize the registration code.) Change-Id: I5dace5bc643ab636977fde84fa51825efc5cafa5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162838 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-31tdf#158586 writerfilter: RTF import: fix \page \sect \skbnone w/ headerMichael Stahl
The problem was not fixed yet for the less-minimized bugzilla attachment where the sections contain headers and footers. What happened there is that first \page caused a deferred page break, then \sect and sectBreak() delayed-read the header substream and the \par in the header resets all the deferred break flags. Add the deferred break to an already existing Context class, and remove the direct members in DomainMapper_Impl in favor of always using the m_StreamStateStack. Probably this problem cannot occur for DOCX import, because it imports header/footer eagerly where the reference element is, and sectPr is before any runs that contain breaks in the same paragraph element. Change-Id: Iba971955e9cf0c398d416518e72d99307d3e1cfd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162833 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-01-31tdf#158586 writerfilter: RTF import: handle \sect in frame as \parMichael Stahl
This fixes the test testTdf158586_0 and testTdf158586_0B to look like in Word; the case appears a bit esoteric, hopefully Word won't actually create such documents? But Word will round-trip such bugdoc to a DOCX where the first w:p contains all of w:framePr and w:sectPr and w:br... Change-Id: I6ec09478a774e1e9c785e9482618c1afc388df0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162778 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-01-31tdf#158586 writerfilter: RTF import: fix \page \sect \skbnoneMichael Stahl
The problem is that \page is actually completely ignored in the bugdoc testTdf158586_1. If you delete the \sbknone then there is a page break but it's caused by \sect; the \page is still ignored. It is ignored because, first, the \page results in a deferred break in DomainMapper, then for \sect, the synthetic \par is dispatched and that moves the break from deferred to the top paragraph properties context, then sectBreak() calls endParagraphGroup() which just removes the top paragraph properties context. Remove the dispatchSymbol(RTFKeyword::PAR) for \sect, instead set a flag so that RTFDocumentImpl::sectBreak() does it. Add a new flag m_bParAtEndOfSection so that RTFDocumentImpl::parBreak() can suppress the startParagraphGroup(), so the deferred break remains present. This also fixes testTdf158586_lostFrame. (regression from commit 15b886f460919ea3dce425a621dc017c2992a96b) Change-Id: I82a00899a9448069832a0b2f98a96df00da75518 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162770 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-01-31make date-form-field dialog asyncNoel Grandin
Change-Id: Ia43217c3218344bacde823aa52dc0776de822d60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162807 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-31make change-db dialog asyncNoel Grandin
Change-Id: I3310592cb2e7922f86ead8a6e19792e5852a4ca1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162806 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-31make field-edit dialog asyncNoel Grandin
Change-Id: Ib24166fe0370a27357adf1611deafda2686a14aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162805 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-31lo_dumpState doesn't take the SolarMutex, so dbgutil state dumping can assertCaolán McNamara
so disable the SolarMutex checks during dumpState and restore afterwards #8 0x00007fa179e287f3 in abort () at /lib/x86_64-linux-gnu/libc.so.6 #9 0x00007fa179e2871b in () at /lib/x86_64-linux-gnu/libc.so.6 #10 0x00007fa179e39e96 in () at /lib/x86_64-linux-gnu/libc.so.6 #11 0x00007fa1706904de in ImplDbgTestSolarMutex() () at libreoffice/vcl/source/app/dbggui.cxx:35 __PRETTY_FUNCTION__ = "void ImplDbgTestSolarMutex()" #12 0x00007fa1782cb713 in DbgTestSolarMutex() () at libreoffice/tools/source/debug/debug.cxx:54 #13 0x00007fa170559ebb in VirtualDevice::AcquireGraphics() const (this=0x5589006636b0) at libreoffice/vcl/source/gdi/virdev.cxx:49 pSVData = 0x7fff8a2386d0 #14 0x00007fa17020d849 in OutputDevice::DrawRect(tools::Rectangle const&) (this=0x5589006636b0, rRect=...) at libreoffice/vcl/source/outdev/rect.cxx:67 __PRETTY_FUNCTION__ = "void OutputDevice::DrawRect(const tools::Rectangle&)" aRect = {static RECT_EMPTY = -32767, mnLeft = 0, mnTop = 0, mnRight = 10244, mnBottom = 269} #15 0x00007fa17021d997 in OutputDevice::DrawColorWallpaper(long, long, long, long, Wallpaper const&) (this=0x5589006636b0, nX=0, nY=0, nWidth=10245, nHeight=270, rWallpaper=...) at libreoffice/vcl/source/outdev/wallpaper.cxx:90 __PRETTY_FUNCTION__ = "void OutputDevice::DrawColorWallpaper(tools::Long, tools::Long, tools::Long, tools::Long, const Wallpaper&)" aOldLineColor = {{mValue = 0, {B = 0 '\000', G = 0 '\000', R = 0 '\000', T = 0 '\000'}}} aOldFillColor = {{mValue = 16777215, {B = 255 '\377', G = 255 '\377', R = 255 '\377', T = 0 '\000'}}} bMap = false #16 0x00007fa17021d851 in OutputDevice::DrawWallpaper(long, long, long, long, Wallpaper const&) (this=0x5589006636b0, nX=0, nY=0, nWidth=10245, nHeight=270, rWallpaper=...) at libreoffice/vcl/source/outdev/wallpaper.cxx:73 __PRETTY_FUNCTION__ = "void OutputDevice::DrawWallpaper(tools::Long, tools::Long, tools::Long, tools::Long, const Wallpaper&)" #17 0x00007fa17021daa8 in OutputDevice::Erase() (this=0x5589006636b0) at libreoffice/vcl/source/outdev/wallpaper.cxx:106 eRasterOp = RasterOp::OverPaint #18 0x00007fa17055c716 in VirtualDevice::InnerImplSetOutputSizePixel(Size const&, bool, unsigned char*) (this=0x5589006636b0, rNewSize=..., bErase=true, pBuffer=0x0) at libreoffice/vcl/source/gdi/virdev.cxx:292 bRet = true nNewWidth = 10245 nNewHeight = 270 __PRETTY_FUNCTION__ = "bool VirtualDevice::InnerImplSetOutputSizePixel(const Size&, bool, sal_uInt8*)" #19 0x00007fa17055cbf5 in VirtualDevice::ImplSetOutputSizePixel(Size const&, bool, unsigned char*) (this=0x5589006636b0, rNewSize=..., bErase=true, pBuffer=0x0) at libreoffice/vcl/source/gdi/virdev.cxx:360 #20 0x00007fa17055ceba in VirtualDevice::SetOutputSizePixel(Size const&, bool) (this=0x5589006636b0, rNewSize=..., bErase=true) at libreoffice/vcl/source/gdi/virdev.cxx:408 #21 0x00007fa16fea3ca4 in VirtualDevice::SetOutputSize(Size const&) (this=0x5589006636b0, rNewSize=...) at libreoffice/include/vcl/virdev.hxx:163 #22 0x00007fa16fe96388 in VclDrawingArea::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588fe9ba320, rJsonWriter=...) at libreoffice/vcl/source/window/layout.cxx:3092 pDevice = {<ScopedVclPtr<VirtualDevice>> = {<VclPtr<VirtualDevice>> = {m_rInnerRef = {m_pBody = 0x5589006636b0}}, <No data fields>}, <No data fields>} pRefDevice = 0x5588ff474fd0 aRenderSize = {<Pair> = {mnA = 10245, mnB = 270}, <No data fields>} aOutputSize = {<Pair> = {mnA = 683, mnB = 18}, <No data fields>} aRect = {static RECT_EMPTY = -32767, mnLeft = 140735510973440, mnTop = 140331342376707, mnRight = 140735510973456, mnBottom = 94046886702440} aImage = {maBitmap = {_vptr.Bitmap = 0x7fff8a238c20, mxSalBmp = std::shared_ptr<class SalBitmap> (empty) = {get() = 0x7fa16fd029cc <std::__uniq_ptr_impl<WindowImpl, std::default_delete<WindowImpl> >::_M_ptr() const+28>}, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x7fff8a238d60}}, maPrefSize = {<Pair> = {mnA = 94046793857224, mnB = 140331516265348}, <No data fields>}}, maAlphaMask = {_vptr.Bitmap = 0x0, mxSalBmp = std::shared_ptr<class SalBitmap> (use count 1875914999, weak count 32672) = {get() = 0x5588ff46fa98}, maPrefMapMode = {mpImplMapMode = {m_pimpl = 0x7fa16fd030f7 <std::_Tuple_impl<0ul, WindowImpl*, std::default_delete<WindowImpl> >::_M_head(std::_Tuple_impl<0ul, WindowImpl*, std::default_delete<WindowImpl> > const&)+28>}}, maPrefSize = {<Pair> = {mnA = 94046793857224, mnB = 94046886754968}, <No data fields>}}, maBitmapSize = {<Pair> = {mnA = 140735510973568, mnB = 140331342377207}, <No data fields>}} aOStm = {<SvStream> = {_vptr.SvStream = 0x2ab, m_xLockBytes = {pObj = 0x12}, m_nActPos = 140735510973600, m_pRWBuf = std::unique_ptr<unsigned char []> = {get() = 0x7fa16fd03026 <std::__get_helper<0ul, WindowImpl*, std::default_delete<WindowImpl> >(std::_Tuple_impl<0ul, WindowImpl*, std::default_delete<WindowImpl> > const&)+28> "\311\303\363\017\036\372UH\211\345H\203\354\020H\211}\370H\213E\370H\211\307", <incomplete sequence \350\265>}, m_pBufPos = 0x7fff8a238cb0 "\340\214#\212\024", m_nBufSize = 64152, m_nBufActualLen = 65350, m_nBufActualPos = 21896, m_nBufFree = 0, m_isIoRead = 192, m_isIoWrite = 140, m_isDirty = 35, m_isSwap = 138, m_isEof = 255, m_nError = {m_value = 1875914499}, m_nCompressMode = (SvStreamCompressFlags::ZBITMAP | unknown: 0x7fa0), m_eLineDelimiter = (unknown: 0x8a238ce0), m_eStreamCharSet = 20, m_aCryptMaskKey = {pData = 0x5588ff46fa98}, m_nCryptMask = 224 '\340', m_nVersion = 16, m_nBufFilePos = 140735510975776, m_eStreamMode = 2317587744, m_isWritable = 255}, nSize = 140735510973776, nResize = 28087389472, nPos = 140735510975776, nEndOfData = 140735510975776, pBuf = 0x7fff8a238d58 " \225#\212\377\177", bOwnsData = 32} #23 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff46fa90, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 20 nTop = -12124904 nWidth = 21896 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588fe9ba320 pAccLabelFor = 0x7fff8a238de0 pAccLabelledBy = 0x68a238db0 #24 0x00007fa16fe86709 in VclBox::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff46fa90, rJsonWriter=...) at libreoffice/vcl/source/window/layout.cxx:398 #25 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff46fd10, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 32767 nTop = -12221224 nWidth = 21896 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588ff46fa90 pAccLabelFor = 0x7fff8a238e58 pAccLabelledBy = 0x7fff8a238e20 #26 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff462d60, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = -1 nTop = -1 nWidth = 1 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588ff46fd10 pAccLabelFor = 0x5588ff458838 pAccLabelledBy = 0x7fff8a238e90 #27 0x00007fa16fe8fecd in VclScrolledWindow::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff462d60, rJsonWriter=...) at libreoffice/vcl/source/window/layout.cxx:2184 #28 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff458830, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 20 nTop = -12220472 nWidth = 21896 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588ff462d60 pAccLabelFor = 0x7fff8a238fb0 pAccLabelledBy = 0x68a238f80 #29 0x00007fa16fe86709 in VclBox::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff458830, rJsonWriter=...) at libreoffice/vcl/source/window/layout.cxx:398 #30 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff4587c0, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 20 nTop = -18974136 nWidth = 21896 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588ff458830 pAccLabelFor = 0x7fff8a239040 pAccLabelledBy = 0x68a239010 #31 0x00007fa16fe8becd in VclGrid::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff4587c0, rJsonWriter=...) at libreoffice/vcl/source/window/layout.cxx:1406 #32 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588fede7a40, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 20 nTop = -22893640 nWidth = 21896 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588ff4587c0 pAccLabelFor = 0x7fff8a2390d0 pAccLabelledBy = 0x68a2390a0 #33 0x00007fa16fe86709 in VclBox::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588fede7a40, rJsonWriter=...) at libreoffice/vcl/source/window/layout.cxx:398 #34 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588fea2abb0, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 32767 nTop = -1977380544 nWidth = 32767 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588fede7a40 pAccLabelFor = 0x7fff8a239148 pAccLabelledBy = 0x7fff8a239110 #35 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588feddd8a0, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 0 nTop = 2049803913 nWidth = 32673 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588fea2abb0 pAccLabelFor = 0x7fa16fcdc774 <__gnu_debug::_Safe_sequence_base::~_Safe_sequence_base()+28> pAccLabelledBy = 0x0 #36 0x00007fa16ff6e15e in ToolBox::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588feddd8a0, rJsonWriter=...) at libreoffice/vcl/source/window/toolbox2.cxx:1713 childrenNode = {mrWriter = @0x7fa16fd6409c} #37 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588fee04430, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = -1 nTop = -1 nWidth = 1 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588feddd8a0 pAccLabelFor = 0x7fff8a2393c8 pAccLabelledBy = 0x7fff8a239390 #38 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588ff2738a0, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 32767 nTop = -1977379792 nWidth = 32767 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588fee04430 pAccLabelFor = 0x7fff8a239438 pAccLabelledBy = 0x7fff8a239400 #39 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588fedbafd0, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 32767 nTop = -1977379680 nWidth = 32767 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588ff2738a0 pAccLabelFor = 0x7fff8a2394a8 pAccLabelledBy = 0x7fff8a239470 #40 0x00007fa16ffbcaba in vcl::Window::DumpAsPropertyTree(tools::JsonWriter&) (this=0x5588fedc2d50, rJsonWriter=...) at libreoffice/vcl/source/window/window.cxx:3388 childNode = {mrWriter = @0x7fff8a239520} nLeft = 21896 nTop = 2045399353 nWidth = 32673 childrenNode = {mrWriter = @0x7fff8a239520} pChild = 0x5588fedbafd0 pAccLabelFor = 0x7fff8a239520 pAccLabelledBy = 0x7fff8a2394e0 #41 0x00007fa170764efa in vcl::lok::dumpState(rtl::OStringBuffer&) (rState=...) at libreoffice/vcl/source/app/svapp.cxx:1868 props = {mpBuffer = 0x5588ff911780 "{ \"id\": \"\", \"type\": \"borderwindow\", \"text\": \"hello-world.ods - Collabora OfficeDev Calc 23.05 [ebacfb1a63566077eb10cbe53dfac8fac9da898f]\", \"enabled\": true, \"children\": [ { \"id\": \"\", \"type\": \"workwindo"..., mPos = 0x5588ff912c3c "", mSpaceAllocated = 8244, mStartNodeCount = 24, mbFirstFieldInNode = false, static JSON_WRITER_DEBUG_MARKER = 222 '\336'} pSVData = 0x7fa171f3aea0 <rtl::Static<ImplSVData, (anonymous namespace)::private_aImplSVData>::get()::instance> pWin = 0x5588fedc2d50 #42 0x00007fa179b08219 in desktop::LibLibreOffice_Impl::dumpState(rtl::OStringBuffer&) (this=0x5588fa5a7710, rState=...) at libreoffice/desktop/source/lib/init.cxx:5105 #43 0x00007fa179b08002 in lo_dumpState(LibreOfficeKit*, char const*, char**) (pThis=0x5588fa5a7710, pState=0x7fff8a239630) at libreoffice/desktop/source/lib/init.cxx:5086 aState = {pData = 0x5588ffa27670, nCapacity = 1048576} pLib = 0x5588fa5a7710 aStr = {pData = 0x5588ff9bfd30} #44 0x00005588f9b2e947 in lok::Office::dumpState(char const*, char**) (pState=0x7fff8a239630, pOption=0x5588f9bd5e4d "", this=<optimized out>) at libreoffice/include/LibreOfficeKit/LibreOfficeKit.hxx:1149 pState = 0x0 Change-Id: Icc5910238656566479ea0796c25779866ff8ec7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162794 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit f4fa41cefe2ede6edfa89fb098294cee598cf394) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162816 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-31embindmaker: Handle enumsStephan Bergmann
Change-Id: I07e068e52df2a838e76f32e691d23a47d7fcfdda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162809 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-31Resolves tdf#159328 - Fix field shading regressionHeiko Tietze
Introduced by 4d7a98b582dc70bbffc78e6622969e218f108433 Change-Id: Ibcc057e47c62d53dfa9e6410230c4b231df8551c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162799 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>