cui/source/tabpages/swpossizetabpage.cxx | 7 +++++++ editeng/source/items/numitem.cxx | 5 +++++ svx/source/svdraw/svdmrkv.cxx | 4 ++-- sw/inc/paratr.hxx | 7 ++++++- sw/source/core/txtnode/modeltoviewhelper.cxx | 5 ++++- vcl/jsdialog/enabled.cxx | 1 + 6 files changed, 25 insertions(+), 4 deletions(-)
New commits: commit cc62a216f239bfb2b0629b2c0343616cf844eab8 Author: Miklos Vajna <[email protected]> AuthorDate: Mon Jan 5 08:49:57 2026 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Jan 6 14:24:50 2026 +0100 sw: fix crash in the ModelToViewHelper ctor gdb backtrace on the core file from the crash report: #5 0x0000000000afc0ee in std::__glibcxx_assert_fail(char const*, int, char const*, char const*) () #6 0x0000727cd30229b1 in std::deque<std::pair<sw::mark::Fieldmark const*, bool>, std::allocator<std::pair<sw::mark::Fieldmark const*, bool> > >::pop_back (this=0x7ffc1ea0f8e0) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_deque.h:1597 #7 std::deque<std::pair<sw::mark::Fieldmark const*, bool>, std::allocator<std::pair<sw::mark::Fieldmark const*, bool> > >::pop_back (this=0x7ffc1ea0f8e0) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_deque.h:1597 #8 ModelToViewHelper::ModelToViewHelper (this=this@entry=0x7ffc1ea0fb40, rNode=..., pLayout=0x631dce00, eMode=eMode@entry=(ExpandMode::ExpandFields | ExpandMode::ExpandFootnote | ExpandMode::ReplaceMode | ExpandMode::HideFieldmarkCommands)) at sw/source/core/txtnode/modeltoviewhelper.cxx:207 #9 0x0000727cd311cea2 in SwXFlatParagraphIterator::getNextPara (this=0x64417ab0) at sw/source/core/unocore/unoflatpara.cxx:485 ... #12 0x0000727cd2c23b4f in SwDoc::StartGrammarChecking (this=<optimized out>, bSkipStart=bSkipStart@entry=false) at sw/source/core/doc/docnew.cxx:184 and: (gdb) frame 8 #8 ModelToViewHelper::ModelToViewHelper (this=this@entry=0x7ffc1ea0fb40, rNode=..., pLayout=0x631dce00, eMode=eMode@entry=(ExpandMode::ExpandFields | ExpandMode::ExpandFootnote | ExpandMode::ReplaceMode | ExpandMode::HideFieldmarkCommands)) at sw/source/core/txtnode/modeltoviewhelper.cxx:207 207 startedFields.pop_back(); (gdb) print startedFields $2 = std::deque with 0 elements We have no reproducer for this, but seems the grammar checker is somehow invoked on an inconsistent model where the start and end field mark dummy characters are not balanced. Leave the assert in place, so possibly a later debug build can find a reproducer; but also check for this to avoid a crash in product builds. Change-Id: Ic9696e32bf344b336800bfa475f506e3cc103ef6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196531 Tested-by: Jenkins CollaboraOffice <[email protected]> Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/sw/source/core/txtnode/modeltoviewhelper.cxx b/sw/source/core/txtnode/modeltoviewhelper.cxx index 7b33bb32baa8..2573d273e460 100644 --- a/sw/source/core/txtnode/modeltoviewhelper.cxx +++ b/sw/source/core/txtnode/modeltoviewhelper.cxx @@ -204,7 +204,10 @@ ModelToViewHelper::ModelToViewHelper(const SwTextNode &rNode, case CH_TXT_ATR_FIELDEND: { assert(startedFields.back().first == rIDMA.getFieldmarkAt(SwPosition(rNode, i))); - startedFields.pop_back(); + if (!startedFields.empty()) + { + startedFields.pop_back(); + } aHiddenMulti.Select({i, i}, true); break; } commit 577d2fb2c300a806a33b0955f024110021af3199 Author: Miklos Vajna <[email protected]> AuthorDate: Fri Jan 2 10:47:55 2026 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Jan 6 14:24:01 2026 +0100 cool#13945 cui lok: hide UI to set DOCX-incompatible anchor types This is similar to commit 4154d281fbecaadf6cd118c00cc6cff929e339a4 (sw lok: hide UI to set Word-incompatible anchor types, 2019-07-05), but here the context menu was already filtered, so just need to hide two radio buttons in the Writer-specific tab page of the shape position & size dialog. Change-Id: I575872a65deb2e6c6bc08515752911991e6505f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196552 Reviewed-by: Miklos Vajna <[email protected]> Tested-by: Jenkins diff --git a/cui/source/tabpages/swpossizetabpage.cxx b/cui/source/tabpages/swpossizetabpage.cxx index baf69df3257b..4cf1b873d207 100644 --- a/cui/source/tabpages/swpossizetabpage.cxx +++ b/cui/source/tabpages/swpossizetabpage.cxx @@ -628,6 +628,13 @@ SvxSwPosSizeTabPage::SvxSwPosSizeTabPage(weld::Container* pPage, weld::DialogCon m_xHoriMirrorCB->connect_toggled(LINK(this, SvxSwPosSizeTabPage, MirrorHdl)); m_xPositionCB->connect_toggled(LINK(this, SvxSwPosSizeTabPage, ProtectHdl)); + + if (comphelper::LibreOfficeKit::isActive()) + { + // Hide these, they can't be saved to OOXML. + m_xToPageRB->hide(); + m_xToFrameRB->hide(); + } } SvxSwPosSizeTabPage::~SvxSwPosSizeTabPage() commit b114d88f4b3b5c26536e0258f878973a8a4fac13 Author: Miklos Vajna <[email protected]> AuthorDate: Fri Dec 19 08:29:23 2025 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Jan 6 14:23:41 2026 +0100 sw: extend the SwFormatDrop documentation The old comment happened to focus on the SwClient part of it; also say where it appears in the model & where to find it on the UI. Change-Id: I4d91e4d77b1f9ded6cbe7d0f5b4a9232d697b73a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195909 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/sw/inc/paratr.hxx b/sw/inc/paratr.hxx index 947e9a7c665e..77931bc207ad 100644 --- a/sw/inc/paratr.hxx +++ b/sw/inc/paratr.hxx @@ -60,7 +60,12 @@ namespace o3tl template<> struct typed_flags<sw::ListLevelIndents> : is_typed_flags<sw::ListLevelIndents, 0x03> {}; } -/** If SwFormatDrop is a Client, it is the CharFormat that describes the font for the +/** + This pool item is in the item set of a text node, for the Drop Caps feature. + + Format -> Paragraph -> Drop Caps on the UI. + + If SwFormatDrop is a Client, it is the CharFormat that describes the font for the DropCaps. If it is not a Client, formatting uses the CharFormat of the paragraph. If the CharFormat is modified, this change is propagated to the paragraphs via the Modify of SwFormatDrop. */ commit a892bc45878c6b22e94296c9f4496daa038107e9 Author: Miklos Vajna <[email protected]> AuthorDate: Mon Dec 15 08:43:08 2025 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Jan 6 14:23:25 2026 +0100 sw doc model xml dump: show SvxNumberFormat's 'label followed by' property I'm looking at a weird numbering which has a tab portion but no actual numbering, and this is part of the puzzle. Change-Id: I840b535846bf20fa962423ddee7245ad81705c3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195696 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx index 08c7f1429c01..a02cc575fcf5 100644 --- a/editeng/source/items/numitem.cxx +++ b/editeng/source/items/numitem.cxx @@ -585,6 +585,11 @@ void SvxNumberFormat::dumpAsXml(xmlTextWriterPtr pWriter) const BAD_CAST(OString::number(mePositionAndSpaceMode).getStr())); (void)xmlTextWriterEndElement(pWriter); + (void)xmlTextWriterStartElement(pWriter, BAD_CAST("label-followed-by")); + (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), + BAD_CAST(OString::number(meLabelFollowedBy).getStr())); + (void)xmlTextWriterEndElement(pWriter); + (void)xmlTextWriterStartElement(pWriter, BAD_CAST("first-line-offset")); (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), BAD_CAST(OString::number(nFirstLineOffset).getStr())); commit 4e7d148a014f965c334dc39a5fcaa32a32e88570 Author: Andras Timar <[email protected]> AuthorDate: Tue Jan 6 09:48:23 2026 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Jan 6 09:48:23 2026 +0100 Avoid std::stringstream::view() It breaks our toolchain (Oracle Linux 7, GCC 12) error: ‘std::stringstream’ {aka ‘class std::basic_stringstream<char>’} has no member named ‘view’ Change-Id: I31bd47c2eb8fd0ef9aa05e3520e8984b77bf16fc diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index 4af1bb8dc7ee..7e151d1e6aca 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -1229,12 +1229,12 @@ void SdrMarkView::SetMarkHandlesForLOKit(tools::Rectangle const & rRect, const S responseJSON.add_child("kinds", nodes); std::stringstream aStream; boost::property_tree::write_json(aStream, responseJSON, /*pretty=*/ false); - handleArrayStr = OString::Concat(", \"handles\":") + aStream.view(); + handleArrayStr = OString::Concat(", \"handles\":") + aStream.str().c_str(); if (bConnectorSelection) { aStream.str(""); boost::property_tree::write_json(aStream, aGluePointsTree, /*pretty=*/ false); - handleArrayStr += OString::Concat(", \"GluePoints\":") + aStream.view(); + handleArrayStr += OString::Concat(", \"GluePoints\":") + aStream.str().c_str(); } } commit 188653fcfff74d474a9d35d490d0747168f530c8 Author: Maya Stephens <[email protected]> AuthorDate: Thu Dec 11 13:43:38 2025 +0000 Commit: Andras Timar <[email protected]> CommitDate: Mon Jan 5 17:53:26 2026 +0100 Add borderareatransparencydialog.ui to CuiDialogList When the more button was pressed in online, it would open two instances of the window: one JSdialog, one tunneled (?). I believe this is because parts of the opened dialog (e.g. "cui/ui/borderpage.ui") are on the JSdialog list, while other parts ("cui/ui/borderareatransparencydialog.ui") were not. Related issue: https://github.com/CollaboraOnline/online/issues/13774 Change-Id: If449e74258fb9c70b322a157cfe5f0906a6a6964 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195468 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Szymon Kłos <[email protected]> diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx index ebf4a49b2ebe..654d061bf227 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -58,6 +58,7 @@ constexpr auto CuiDialogList { u"cui/ui/areatabpage.ui" }, { u"cui/ui/areadialog.ui" }, { u"cui/ui/asiantypography.ui" }, + { u"cui/ui/borderareatransparencydialog.ui" }, { u"cui/ui/borderpage.ui" }, { u"cui/ui/bulletandposition.ui" }, { u"cui/ui/cellalignment.ui" },
