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; }
