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" },

Reply via email to