comphelper/source/misc/lok.cxx  |    7 +++++++
 sc/source/core/data/validat.cxx |    1 +
 sw/qa/filter/md/data/table.odt  |binary
 sw/qa/filter/md/md.cxx          |   14 ++++++++++++++
 sw/source/filter/md/wrtmd.cxx   |    5 +++--
 vcl/jsdialog/enabled.cxx        |    1 +
 vcl/source/window/paint.cxx     |    2 ++
 7 files changed, 28 insertions(+), 2 deletions(-)

New commits:
commit a756f98368e328ffadf6d6bac59319419e4b20b6
Author:     Andras Timar <[email protected]>
AuthorDate: Tue Nov 4 16:02:58 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Nov 7 13:57:47 2025 +0100

    if LOK_ALLOWLIST_LANGUAGES is not defined, allow all languages
    
    Change-Id: I7cab7b87dea84449ceae65896841909362390235
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193425
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Miklos Vajna <[email protected]>

diff --git a/comphelper/source/misc/lok.cxx b/comphelper/source/misc/lok.cxx
index 4e06e0cfb2cd..4dc3afaf01d5 100644
--- a/comphelper/source/misc/lok.cxx
+++ b/comphelper/source/misc/lok.cxx
@@ -275,6 +275,10 @@ bool isAllowlistedLanguage(const OUString& lang)
             }
             std::cerr << std::endl;
         }
+        else
+        {
+            aList.emplace_back("*"); // LOK_ALLOWLIST_LANGUAGES not defined, 
allow all
+        }
 
         if (aList.empty())
             std::cerr << "No language allowlisted, turning off the language 
support." << std::endl;
@@ -285,6 +289,9 @@ bool isAllowlistedLanguage(const OUString& lang)
     if (aAllowlist.empty())
         return false;
 
+    if (aAllowlist.size() == 1 && aAllowlist[0] == "*")
+        return true;
+
     for (const auto& entry : aAllowlist)
     {
         if (lang.startsWith(entry))
commit 20089f8c6fab22d48fe9f5450429e96424c8cda0
Author:     Andras Timar <[email protected]>
AuthorDate: Mon Nov 3 19:09:04 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Nov 7 13:57:47 2025 +0100

    vcl: check mpWindowImpl for nullptr
    
    Change-Id: Ib70e14cd791415f47772b1053200e9bab6925e8d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193372
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 60025b44da2d..d4ba048bf49d 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -1251,6 +1251,8 @@ void Window::Validate()
 
 bool Window::HasPaintEvent() const
 {
+    if (!mpWindowImpl)
+        return false;
 
     if ( !mpWindowImpl->mbReallyVisible )
         return false;
commit b5eaf8cbac6f5c0de130d601a73fec685e48de9d
Author:     Caolán McNamara <[email protected]>
AuthorDate: Mon Nov 3 12:40:12 2025 +0000
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Nov 7 13:57:47 2025 +0100

    null deref of SwOLENode
    
    seen on pasting as markdown from another writer document.
    
    The offending node is a SwNodeType::Table, not SwNodeType::Ole
    
     #0  0x00007fffefeb2a2a in 
std::__uniq_ptr_impl<svt::EmbeddedObjectRef_Impl, 
std::default_delete<svt::EmbeddedObjectRef_Impl> >::_M_ptr (this=0x1d0)
         at /usr/include/c++/15/bits/unique_ptr.h:193
     #1  0x00007fffefeb22fe in std::unique_ptr<svt::EmbeddedObjectRef_Impl, 
std::default_delete<svt::EmbeddedObjectRef_Impl> >::get (this=0x1d0)
         at /usr/include/c++/15/bits/unique_ptr.h:473
     #2  0x00007fffefeb0c70 in std::unique_ptr<svt::EmbeddedObjectRef_Impl, 
std::default_delete<svt::EmbeddedObjectRef_Impl> >::operator-> (this=0x1d0)
         at /usr/include/c++/15/bits/unique_ptr.h:466
     #3  0x00007fffefeaa9fe in svt::EmbeddedObjectRef::is (this=0x1d0) at 
core/svtools/source/misc/embedhlp.cxx:406
     #4  0x00007fff9ad2c6f7 in SwOLEObj::GetOleRef (this=0x1c0) at 
core/sw/source/core/ole/ndole.cxx:1048
     #5  0x00007fff9ad29112 in SwOLENode::GetGraphic (this=0x0) at 
core/sw/source/core/ole/ndole.cxx:316
     #6  0x00007fff9b533a2c in (anonymous namespace)::ApplyFlyFrameFormat 
(rFrameFormat=..., rWrt=..., rChange=...) at 
core/sw/source/filter/md/wrtmd.cxx:187
     #7  0x00007fff9b535f2c in (anonymous namespace)::OutFormattingChange 
(rWrt=..., positions=..., pos=0, current=...)
         at core/sw/source/filter/md/wrtmd.cxx:490
     #8  0x00007fff9b5380ae in (anonymous namespace)::OutMarkdown_SwTextNode 
(rWrt=..., rNode=..., bFirst=false) at core/sw/source/filter/md/wrtmd.cxx:827
     #9  0x00007fff9b53962f in SwMDWriter::Out_SwDoc (this=0xc5d5030, 
pPam=0xc5cc6a8) at core/sw/source/filter/md/wrtmd.cxx:1069
     #10 0x00007fff9b53931f in SwMDWriter::WriteStream (this=0xc5d5030) at 
core/sw/source/filter/md/wrtmd.cxx:1037
     #11 0x00007fff9b578252 in Writer::Write (this=0xc5d5030, rPaM=SwPaM = 
{...}, rStrm=..., pFName=0x0) at core/sw/source/filter/writer/writer.cxx:231
     #12 0x00007fff9b3b6958 in SwWriter::Write (this=0x7fffffffab50, 
rxWriter=..., pRealFileName=0x0) at core/sw/source/filter/basflt/shellio.cxx:871
     #13 0x00007fff9b74914e in SwTransferable::WriteObject (this=0xbeed890, 
rOStream=..., pObject=0xbf05ce0, nObjectType=128)
         at core/sw/source/uibase/dochdl/swdtflvr.cxx:835
     #14 0x00007fffed8d4d27 in TransferableHelper::SetObject (this=0xbeed890, 
pUserObject=0xbf05ce0, nUserObjectId=128, rFlavor=...)
         at core/vcl/source/treelist/transfer.cxx:912
    
    Change-Id: I336a443b33de688d8397dff934c02c6ecc079829
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193349
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/sw/qa/filter/md/data/table.odt b/sw/qa/filter/md/data/table.odt
new file mode 100644
index 000000000000..cd8a1c6a0268
Binary files /dev/null and b/sw/qa/filter/md/data/table.odt differ
diff --git a/sw/qa/filter/md/md.cxx b/sw/qa/filter/md/md.cxx
index ac3be4b87c29..a970a270cae4 100644
--- a/sw/qa/filter/md/md.cxx
+++ b/sw/qa/filter/md/md.cxx
@@ -61,6 +61,20 @@ public:
 };
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testExportTableFrame)
+{
+    createSwDoc("table.odt");
+
+    // Without the fix in place, this test would have crashed here
+    save(mpFilter);
+
+    std::string aActual = TempFileToString();
+    std::string aExpected("Text" SAL_NEWLINE_STRING SAL_NEWLINE_STRING
+                          "![]()Text" SAL_NEWLINE_STRING);
+
+    CPPUNIT_ASSERT_EQUAL(aExpected, aActual);
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testExportingBasicElements)
 {
     createSwDoc("basic-elements.fodt");
diff --git a/sw/source/filter/md/wrtmd.cxx b/sw/source/filter/md/wrtmd.cxx
index 8622a40c74cb..df423ad6a334 100644
--- a/sw/source/filter/md/wrtmd.cxx
+++ b/sw/source/filter/md/wrtmd.cxx
@@ -151,7 +151,8 @@ void ApplyFlyFrameFormat(const SwFlyFrameFormat& 
rFrameFormat, SwMDWriter& rWrt,
     SwNodeOffset nStart = rFlyContent.GetContentIdx()->GetIndex() + 1;
     Graphic aGraphic;
     OUString aGraphicURL;
-    if (rWrt.m_pDoc->GetNodes()[nStart]->GetNodeType() == SwNodeType::Grf)
+    SwNodeType eNodeType = rWrt.m_pDoc->GetNodes()[nStart]->GetNodeType();
+    if (eNodeType == SwNodeType::Grf)
     {
         SwGrfNode* pGrfNode = rWrt.m_pDoc->GetNodes()[nStart]->GetGrfNode();
         aGraphic = pGrfNode->GetGraphic();
@@ -171,7 +172,7 @@ void ApplyFlyFrameFormat(const SwFlyFrameFormat& 
rFrameFormat, SwMDWriter& rWrt,
             aGraphicURL = "data:" + aGraphicInBase64;
         }
     }
-    else
+    else if (eNodeType == SwNodeType::Ole)
     {
         SwOLENode* pOLENode = rWrt.m_pDoc->GetNodes()[nStart]->GetOLENode();
         assert(pOLENode->GetGraphic());
commit 8277dce87b44fdc17e5037184c901ddc362fb1ab
Author:     Shardul Vikram Singh <[email protected]>
AuthorDate: Sun Nov 2 11:15:51 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Nov 7 13:57:47 2025 +0100

    Convert Overwrite tunneled dialog to JSDialog
    
    Change-Id: I713d3a845558dfbb69bc0175f7770f94e7ba396c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193297
    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 ca0333aad142..c78a1fd63f26 100644
--- a/vcl/jsdialog/enabled.cxx
+++ b/vcl/jsdialog/enabled.cxx
@@ -109,6 +109,7 @@ constexpr auto CuiDialogList
         { u"cui/ui/slantcornertabpage.ui" },
         { u"cui/ui/spinbox.ui" },
         { u"cui/ui/queryduplicatedialog.ui" },
+        { u"cui/ui/querysetinsmodedialog.ui" },
         { u"cui/ui/similaritysearchdialog.ui" },
         { u"cui/ui/specialcharacters.ui" },
         { u"cui/ui/spellingdialog.ui" },
commit 30fabdf7208e61370e01efd20bae26403b22100b
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Thu Oct 30 15:20:21 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Nov 7 13:57:47 2025 +0100

    tdf#167126: resume ScInputHandler even if error not displayed
    
    problem:
    regression from 72bbb0dd4a368dab2b1bd99917cd07d23a92a3f0
    when data validity dialog was not displayed, error function returned early
    this caused issue with cell invalid data cleaning and it was not possible
    to enter new data in any new cell
    
    Change-Id: I612ea8b9c651afba1095fc14726e5398484207f5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193185
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index 898d4bc986fb..1dbb452a5d22 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -378,6 +378,7 @@ void ScValidationData::DoError(weld::Window* pParent, const 
OUString& rInput, co
 {
     if ( eErrorStyle == SC_VALERR_MACRO ) {
         DoMacro(rPos, rInput, nullptr, pParent);
+        callback(true);
         return;
     }
 

Reply via email to