core.git: vcl/skia
vcl/skia/gdiimpl.cxx | 20 ++-- 1 file changed, 14 insertions(+), 6 deletions(-) New commits: commit 14e49062012f8699125422cc8a82a22b26f43143 Author: Mike Kaganski AuthorDate: Mon Jan 1 17:47:11 2024 +0600 Commit: Mike Kaganski CommitDate: Tue Jan 2 05:56:39 2024 +0100 tdf#158945: blind fix (try to decrease pending operations limit) *If* the crash in the bug was caused by OOM in Vulkan, then *maybe* it was exactly the case mentioned in the comment above: > queueing many tiny bitmaps ... may make [Skia] even run out of memory Let's try to reduce the threshold dynamically, from 1000 down, in the hope that this would avoid the OOM in the specific HW. If it doesn't, it will eventually still abort(). Change-Id: If6151d4f273a5f938030121d13c268bc9906fa23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161516 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index e03fa32c3532..bc29920f1626 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -462,7 +462,8 @@ void SkiaSalGraphicsImpl::postDraw() // a problematic operation has been performed too many times without a flush. // Note that the counter is a static variable, as all drawing shares the same Skia drawing // context (and so the flush here will also flush all drawing). -if (pendingOperationsToFlush > 1000) +static int maxOperationsToFlush = 1000; +if (pendingOperationsToFlush > maxOperationsToFlush) { mSurface->flushAndSubmit(); pendingOperationsToFlush = 0; @@ -471,13 +472,20 @@ void SkiaSalGraphicsImpl::postDraw() // If there's a problem with the GPU context, abort. if (GrDirectContext* context = GrAsDirectContext(mSurface->getCanvas()->recordingContext())) { -// Running out of memory on the GPU technically could be possibly recoverable, -// but we don't know the exact status of the surface (and what has or has not been drawn to it), -// so in practice this is unrecoverable without possible data loss. +// We don't know the exact status of the surface (and what has or has not been drawn to it). +// But let's pretend it was drawn OK, and reduce the flush limit, to try to avoid possible +// small HW memory limitation if (context->oomed()) { -SAL_WARN("vcl.skia", "GPU context has run out of memory, aborting."); -abort(); +if (maxOperationsToFlush > 10) +{ +maxOperationsToFlush /= 2; +} +else +{ +SAL_WARN("vcl.skia", "GPU context has run out of memory, aborting."); +abort(); +} } // Unrecoverable problem. if (context->abandoned())
core.git: editeng/inc editeng/source
editeng/inc/ParagraphPortionList.hxx | 14 +- editeng/source/editeng/impedit3.cxx |3 +-- 2 files changed, 14 insertions(+), 3 deletions(-) New commits: commit e7e7449729fe2b750506b4b165c4be993834fd16 Author: Tomaž Vajngerl AuthorDate: Mon Jan 1 14:34:04 2024 +0900 Commit: Tomaž Vajngerl CommitDate: Tue Jan 2 04:12:51 2024 +0100 editeng: add begin, end, MarkAllSelectionsInvalid to ParaPortionList begin, end to make iteration work with range for Change-Id: Ia64d4f8102485b257e190fc702e4aa734a81d866 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161530 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/editeng/inc/ParagraphPortionList.hxx b/editeng/inc/ParagraphPortionList.hxx index 23654adc5e43..aa7862afa8d7 100644 --- a/editeng/inc/ParagraphPortionList.hxx +++ b/editeng/inc/ParagraphPortionList.hxx @@ -28,7 +28,8 @@ class EditDoc; class ParaPortionList { mutable sal_Int32 nLastCache = 0; -std::vector> maPortions; +typedef std::vector> ParaPortionContainerType; +ParaPortionContainerType maPortions; public: ParaPortionList() = default; @@ -50,6 +51,17 @@ public: void Append(std::unique_ptr p); sal_Int32 Count() const; +ParaPortionContainerType::iterator begin() { return maPortions.begin(); } +ParaPortionContainerType::iterator end() { return maPortions.end(); } +ParaPortionContainerType::const_iterator cbegin() const { return maPortions.cbegin(); } +ParaPortionContainerType::const_iterator cend() const { return maPortions.cend(); } + +void MarkAllSelectionsInvalid(sal_Int32 nStart) +{ +for (auto& pParaPortion : maPortions) +pParaPortion->MarkSelectionInvalid(nStart); +} + #if OSL_DEBUG_LEVEL > 0 && !defined NDEBUG // temporary: static void DbgCheck(ParaPortionList const&, EditDoc const& rDoc); diff --git a/editeng/source/editeng/impedit3.cxx b/editeng/source/editeng/impedit3.cxx index a4e0a54aaa0d..d50c2eb1338e 100644 --- a/editeng/source/editeng/impedit3.cxx +++ b/editeng/source/editeng/impedit3.cxx @@ -393,8 +393,7 @@ bool ImpEditEngine::IsPageOverflow( ) const void ImpEditEngine::FormatFullDoc() { -for ( sal_Int32 nPortion = 0; nPortion < GetParaPortions().Count(); nPortion++ ) -GetParaPortions()[nPortion]->MarkSelectionInvalid( 0 ); +GetParaPortions().MarkAllSelectionsInvalid(0); FormatDoc(); }
core.git: editeng/source
editeng/source/editeng/editeng.cxx | 84 +++ editeng/source/editeng/impedit.hxx | 153 +-- editeng/source/editeng/impedit2.cxx | 182 editeng/source/editeng/impedit3.cxx | 114 ++-- editeng/source/editeng/impedit4.cxx | 199 +--- editeng/source/editeng/impedit5.cxx | 20 +-- 6 files changed, 374 insertions(+), 378 deletions(-) New commits: commit de385412949e2ca52c999546677744ed070d189c Author: Tomaž Vajngerl AuthorDate: Mon Jan 1 14:31:13 2024 +0900 Commit: Tomaž Vajngerl CommitDate: Tue Jan 2 04:12:32 2024 +0100 editeng: prefix members of ImpEditEngine Change-Id: I05a738be8956ebaa2912c6c8a20a05002d67b789 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161529 Tested-by: Tomaž Vajngerl Reviewed-by: Tomaž Vajngerl diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx index c5db1b5ca9ab..7af59f499e12 100644 --- a/editeng/source/editeng/editeng.cxx +++ b/editeng/source/editeng/editeng.cxx @@ -393,7 +393,7 @@ void EditEngine::SetPaperSize( const Size& rNewSize ) if ( !(bAutoPageSize || ( aNewSize.Width() != aOldSize.Width() )) ) return; -for (EditView* pView : pImpEditEngine->aEditViews) +for (EditView* pView : pImpEditEngine->maEditViews) { if ( bAutoPageSize ) pView->pImpEditView->RecalcOutputArea(); @@ -414,7 +414,7 @@ void EditEngine::SetPaperSize( const Size& rNewSize ) pImpEditEngine->UpdateViews( pImpEditEngine->GetActiveView() ); if ( pImpEditEngine->IsUpdateLayout() && pImpEditEngine->GetActiveView() ) -pImpEditEngine->pActiveView->ShowCursor( false, false ); +pImpEditEngine->mpActiveView->ShowCursor( false, false ); } } @@ -685,7 +685,7 @@ void EditEngine::CheckIdleFormatter() bool EditEngine::IsIdleFormatterActive() const { -return pImpEditEngine->aIdleFormatter.IsActive(); +return pImpEditEngine->maIdleFormatter.IsActive(); } ParaPortion* EditEngine::FindParaPortion(ContentNode const * pNode) @@ -725,7 +725,7 @@ bool EditEngine::IsCallParaInsertedOrDeleted() const void EditEngine::AppendDeletedNodeInfo(DeletedNodeInfo* pInfo) { - pImpEditEngine->aDeletedNodes.push_back(std::unique_ptr(pInfo)); + pImpEditEngine->maDeletedNodes.push_back(std::unique_ptr(pInfo)); } void EditEngine::UpdateSelections() @@ -969,12 +969,12 @@ EditPaM EditEngine::DeleteSelected(const EditSelection& rSel) void EditEngine::HandleBeginPasteOrDrop(PasteOrDropInfos& rInfos) { -pImpEditEngine->aBeginPasteOrDropHdl.Call(rInfos); +pImpEditEngine->maBeginPasteOrDropHdl.Call(rInfos); } void EditEngine::HandleEndPasteOrDrop(PasteOrDropInfos& rInfos) { -pImpEditEngine->aEndPasteOrDropHdl.Call(rInfos); +pImpEditEngine->maEndPasteOrDropHdl.Call(rInfos); } bool EditEngine::HasText() const @@ -984,7 +984,7 @@ bool EditEngine::HasText() const const EditSelectionEngine& EditEngine::GetSelectionEngine() const { -return pImpEditEngine->aSelEngine; +return pImpEditEngine->maSelEngine; } void EditEngine::SetInSelectionMode(bool b) @@ -1049,7 +1049,7 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditView, v sal_Int32 nParas = GetParagraphCount(); Point aPos; Point aViewStart( pEditView->GetOutputArea().TopLeft() ); -tools::Long n20 = 40 * pImpEditEngine->nOnePixelInRef; +tools::Long n20 = 40 * pImpEditEngine->mnOnePixelInRef; for ( sal_Int32 n = 0; n < nParas; n++ ) { tools::Long nH = GetTextHeight( n ); @@ -1316,7 +1316,7 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditView, v // Only at end of word... sal_Int32 nIndex = aCurSel.Max().GetIndex(); if ( ( nIndex >= aCurSel.Max().GetNode()->Len() ) || - ( pImpEditEngine->aWordDelimiters.indexOf( aCurSel.Max().GetNode()->GetChar( nIndex ) ) != -1 ) ) + ( pImpEditEngine->maWordDelimiters.indexOf( aCurSel.Max().GetNode()->GetChar( nIndex ) ) != -1 ) ) { EditPaM aStart( pImpEditEngine->WordLeft( aCurSel.Max() ) ); OUString aWord = pImpEditEngine->GetSelected( EditSelection( aStart, aCurSel.Max() ) ); @@ -1327,18 +1327,18 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditView, v LanguageType eLang = pImpEditEngine->GetLanguage( EditPaM( aStart.GetNode(), aStart.GetIndex()+1)).nLang; LanguageTag aLanguageTag( eLang); -if (!pImpEditEngine->xLocaleDataWrapper.isI
core.git: editeng/inc editeng/source
editeng/inc/editdoc.hxx |2 -- editeng/source/editeng/editdoc.cxx | 10 -- editeng/source/editeng/edtspell.cxx |6 +++--- editeng/source/editeng/impedit.hxx |8 editeng/source/editeng/impedit2.cxx | 10 +- 5 files changed, 12 insertions(+), 24 deletions(-) New commits: commit 92a9fa82f412daa4e5ccb5889076a1267648e0c1 Author: Tomaž Vajngerl AuthorDate: Sun Dec 31 19:15:38 2023 +0900 Commit: Tomaž Vajngerl CommitDate: Tue Jan 2 04:11:16 2024 +0100 editeng: remove operator[] for EditDoc (use GetObject instead) Change-Id: Ie41d2baf84d230b9ee280859d390e24b9da70be7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161482 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/editeng/inc/editdoc.hxx b/editeng/inc/editdoc.hxx index 974447bd806c..0c2bcd28fa97 100644 --- a/editeng/inc/editdoc.hxx +++ b/editeng/inc/editdoc.hxx @@ -205,8 +205,6 @@ public: const ContentNode* GetObject(sal_Int32 nPos) const; ContentNode* GetObject(sal_Int32 nPos); sal_Int32 Count() const; -const ContentNode* operator[](sal_Int32 nPos) const; -ContentNode* operator[](sal_Int32 nPos); void Insert(sal_Int32 nPos, std::unique_ptr p); /// deletes void Remove(sal_Int32 nPos); diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx index 07d61802c773..efc95b944833 100644 --- a/editeng/source/editeng/editdoc.cxx +++ b/editeng/source/editeng/editdoc.cxx @@ -933,16 +933,6 @@ ContentNode* EditDoc::GetObject(sal_Int32 nPos) return 0 <= nPos && o3tl::make_unsigned(nPos) < maContents.size() ? maContents[nPos].get() : nullptr; } -const ContentNode* EditDoc::operator[](sal_Int32 nPos) const -{ -return GetObject(nPos); -} - -ContentNode* EditDoc::operator[](sal_Int32 nPos) -{ -return GetObject(nPos); -} - void EditDoc::Insert(sal_Int32 nPos, std::unique_ptr pNode) { if (nPos < 0 || nPos == SAL_MAX_INT32) diff --git a/editeng/source/editeng/edtspell.cxx b/editeng/source/editeng/edtspell.cxx index c07361bd196b..36e9f5fd84ae 100644 --- a/editeng/source/editeng/edtspell.cxx +++ b/editeng/source/editeng/edtspell.cxx @@ -613,8 +613,8 @@ OUString const* EdtAutoCorrDoc::GetPrevPara(bool const) bAllowUndoAction = false; // Not anymore ... -EditDoc& rNodes = mpEditEngine->GetEditDoc(); -sal_Int32 nPos = rNodes.GetPos( pCurNode ); +EditDoc& rEditDoc = mpEditEngine->GetEditDoc(); +sal_Int32 nPos = rEditDoc.GetPos( pCurNode ); // Special case: Bullet => Paragraph start => simply return NULL... const SfxBoolItem& rBulletState = mpEditEngine->GetParaAttrib( nPos, EE_PARA_BULLETSTATE ); @@ -632,7 +632,7 @@ OUString const* EdtAutoCorrDoc::GetPrevPara(bool const) for ( sal_Int32 n = nPos; n; ) { n--; -ContentNode* pNode = rNodes[n]; +ContentNode* pNode = rEditDoc.GetObject(n); if ( pNode->Len() ) return & pNode->GetString(); } diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx index 7269c0e0b614..ef699b0b28ad 100644 --- a/editeng/source/editeng/impedit.hxx +++ b/editeng/source/editeng/impedit.hxx @@ -1090,8 +1090,8 @@ public: EditPaM CreateEditPaM( const EPaM& rEPaM ) { DBG_ASSERT( rEPaM.nPara < maEditDoc.Count(), "CreateEditPaM: invalid paragraph" ); -DBG_ASSERT( maEditDoc[ rEPaM.nPara ]->Len() >= rEPaM.nIndex, "CreateEditPaM: invalid Index" ); -return EditPaM( maEditDoc[ rEPaM.nPara], rEPaM.nIndex ); +DBG_ASSERT(maEditDoc.GetObject(rEPaM.nPara)->Len() >= rEPaM.nIndex, "CreateEditPaM: invalid Index"); +return EditPaM(maEditDoc.GetObject(rEPaM.nPara), rEPaM.nIndex); } ESelection CreateESel(const EditSelection& rSel) const @@ -,9 +,9 @@ public: DBG_ASSERT( rSel.nStartPara < maEditDoc.Count(), "CreateSel: invalid start paragraph" ); DBG_ASSERT( rSel.nEndPara < maEditDoc.Count(), "CreateSel: invalid end paragraph" ); EditSelection aSel; -aSel.Min().SetNode( maEditDoc[ rSel.nStartPara ] ); +aSel.Min().SetNode(maEditDoc.GetObject(rSel.nStartPara)); aSel.Min().SetIndex( rSel.nStartPos ); -aSel.Max().SetNode( maEditDoc[ rSel.nEndPara ] ); +aSel.Max().SetNode(maEditDoc.GetObject(rSel.nEndPara)); aSel.Max().SetIndex( rSel.nEndPos ); DBG_ASSERT( !aSel.DbgIsBuggy( maEditDoc ), "CreateSel: incorrect selection!" ); return aSel; diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 488873edd266..2b8263cc62cd 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -236,8 +236,8 @@ void ImpEditEngine::InitDoc(bool bKeepParaAttribs) sal_Int32 nParas = maEditDoc.Count(); for ( sal_Int32 n = bKeepParaAttribs ? 1 : 0; n < nParas; n++ ) { -if ( maEditDoc[n]->GetStyleSheet() ) -EndListen
core.git: 2 commits - editeng/inc editeng/qa editeng/source include/editeng
editeng/inc/editdoc.hxx |2 editeng/qa/unit/core-test.cxx | 93 +++- editeng/source/editeng/editdoc.cxx |9 +-- editeng/source/editeng/editeng.cxx |4 - editeng/source/editeng/editundo.cxx | 45 - editeng/source/editeng/editundo.hxx |9 +-- editeng/source/editeng/impedit.hxx |2 editeng/source/editeng/impedit2.cxx | 31 ++-- editeng/source/editeng/impedit3.cxx |8 +-- include/editeng/editeng.hxx |2 10 files changed, 149 insertions(+), 56 deletions(-) New commits: commit e71934471442a8bbba7e661d3ebe5f708627c5d6 Author: Tomaž Vajngerl AuthorDate: Sun Dec 31 11:26:04 2023 +0900 Commit: Tomaž Vajngerl CommitDate: Tue Jan 2 01:21:00 2024 +0100 editeng: add max paper size constant Change-Id: Ib51f5c5bbcf68fd156b02e04e8e99408aa97abf1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161481 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index 94f4c6ccfa8f..488873edd266 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -88,11 +88,13 @@ static sal_uInt16 lcl_CalcExtraSpace( const SvxLineSpacingItem& rLSItem ) return nExtra; } +constexpr tools::Long constMaxPaperSize = 0x7FFF; + ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* pItemPool ) : pSharedVCL(EditDLL::Get().GetSharedVclResources()), -maPaperSize( 0x7FFF, 0x7FFF ), -maMinAutoPaperSize( 0x0, 0x0 ), -maMaxAutoPaperSize( 0x7FFF, 0x7FFF ), +maPaperSize(constMaxPaperSize, constMaxPaperSize), +maMinAutoPaperSize(0, 0), +maMaxAutoPaperSize(constMaxPaperSize, constMaxPaperSize), maEditDoc( pItemPool ), pEditEngine(pEE), pActiveView(nullptr), commit 3461a0027cf5c54ae164462d177ea222ccc76f39 Author: Tomaž Vajngerl AuthorDate: Sat Dec 30 22:27:42 2023 +0900 Commit: Tomaž Vajngerl CommitDate: Tue Jan 2 01:20:53 2024 +0100 editeng: better lifecycle control for ContentNode in EditDoc Don't use raw pointers, when it is possible to move the unique_ptr around into another object that is responsible for the object's ownership. The ContentNode is either in a vector in the EditDoc class or it is moved to the EditUndoDelContent class for the undo/redo action. Those 2 classes are responsible for freeing the ContentNode. Change-Id: I977d8e418947bb48781f23575d62420260025e57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161480 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/editeng/inc/editdoc.hxx b/editeng/inc/editdoc.hxx index e9016989e840..974447bd806c 100644 --- a/editeng/inc/editdoc.hxx +++ b/editeng/inc/editdoc.hxx @@ -211,7 +211,7 @@ public: /// deletes void Remove(sal_Int32 nPos); /// does not delete -void Release(sal_Int32 nPos); +std::unique_ptr Release(sal_Int32 nPos); static OUString GetSepStr( LineEnd eEnd ); }; diff --git a/editeng/qa/unit/core-test.cxx b/editeng/qa/unit/core-test.cxx index b5320f90e448..c17fccf1caef 100644 --- a/editeng/qa/unit/core-test.cxx +++ b/editeng/qa/unit/core-test.cxx @@ -113,6 +113,7 @@ public: void testTdf148148(); void testSingleLine(); +void testMoveParagraph(); DECL_STATIC_LINK( Test, CalcFieldValueHdl, EditFieldInfo*, void ); @@ -139,6 +140,7 @@ public: CPPUNIT_TEST(testTdf147196); CPPUNIT_TEST(testTdf148148); CPPUNIT_TEST(testSingleLine); +CPPUNIT_TEST(testMoveParagraph); CPPUNIT_TEST_SUITE_END(); private: @@ -555,8 +557,7 @@ IMPL_STATIC_LINK( Test, CalcFieldValueHdl, EditFieldInfo*, pInfo, void ) void Test::testHyperlinkCopyPaste() { // Create Outliner instance -Outliner aOutliner(mpItemPool.get(), OutlinerMode -::TextObject); +Outliner aOutliner(mpItemPool.get(), OutlinerMode::TextObject); aOutliner.SetCalcFieldValueHdl( LINK( nullptr, Test, CalcFieldValueHdl ) ); // Create EditEngine's instance @@ -1984,6 +1985,94 @@ void Test::testSingleLine() CPPUNIT_ASSERT_EQUAL(sal_Int32(1), aEditEngine.GetLineCount(0)); } +void Test::testMoveParagraph() +{ +EditEngine aEditEngine(mpItemPool.get()); +aEditEngine.SetPaperSize(Size(5000, 5000)); +aEditEngine.SetText("Paragraph 1 Paragraph 2 Paragraph 3 Paragraph 4 Paragraph 5"); + +CPPUNIT_ASSERT_EQUAL(true, aEditEngine.IsFormatted()); + +CPPUNIT_ASSERT_EQUAL(sal_Int32(5), aEditEngine.GetParagraphCount()); +CPPUNIT_ASSERT_EQUAL(OUString("Paragraph 1"), aEditEngine.GetText(0)); +CPPUNIT_ASSERT_EQUAL(OUString("Paragraph 2"), aEditEngine.GetText(1)); +CPPUNIT_ASSERT_EQUAL(OUString("Paragraph 3"), aEditEngine.GetText(2)); +CPPUNIT_ASSERT_EQUAL(OUString("Paragraph 4"), aEditEngine.GetText(3)); +CPPUNIT_ASSERT_EQUAL(OUString("Paragraph 5"), aEditEngine.GetText(4)); + +aEditEngine.MoveP
core.git: download.lst
download.lst |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit 78027c68397f26aec9051b82388cd7452ec66e3d Author: Caolán McNamara AuthorDate: Mon Jan 1 17:07:10 2024 + Commit: Caolán McNamara CommitDate: Tue Jan 2 00:36:54 2024 +0100 bump libexttextcat to latest release Change-Id: I5fdde5668845f5b7c388322135b21adf41bd3d20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161521 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/download.lst b/download.lst index d381fca12ef6..bd17d1368c9e 100644 --- a/download.lst +++ b/download.lst @@ -384,8 +384,8 @@ LIBEOT_TARBALL := libeot-0.01.tar.bz2 # three static lines # so that git cherry-pick # will not run into conflicts -LIBEXTTEXTCAT_SHA256SUM := 6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df -LIBEXTTEXTCAT_TARBALL := libexttextcat-3.4.6.tar.xz +LIBEXTTEXTCAT_SHA256SUM := df0a59d413a5b202573d8d4f5159e33a8538da4f8e8e60979facc64d6290cebd +LIBEXTTEXTCAT_TARBALL := libexttextcat-3.4.7.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts
core.git: 2 commits - external/cppunit vcl/source
external/cppunit/0001-cid-1546460-COPY_INSTEAD_OF_MOVE.patch.1 | 27 +- vcl/source/gdi/impgraph.cxx|4 - vcl/source/gdi/vectorgraphicdata.cxx |2 3 files changed, 28 insertions(+), 5 deletions(-) New commits: commit 6bccf8e409a1722ab6920f60478c97241790be87 Author: Caolán McNamara AuthorDate: Mon Jan 1 20:49:44 2024 + Commit: Caolán McNamara CommitDate: Tue Jan 2 00:36:32 2024 +0100 cid#1545235 COPY_INSTEAD_OF_MOVE and cid#1545514 COPY_INSTEAD_OF_MOVE cid#1546000 COPY_INSTEAD_OF_MOVE std::move looks useful there Change-Id: Ic3967f283ac4c4f5b8b4797889099af5f2dbb117 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161526 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/vcl/source/gdi/impgraph.cxx b/vcl/source/gdi/impgraph.cxx index ac36d2c72be4..7150aab6b0e6 100644 --- a/vcl/source/gdi/impgraph.cxx +++ b/vcl/source/gdi/impgraph.cxx @@ -1398,7 +1398,7 @@ void ImpGraphic::updateFromLoadedGraphic(const ImpGraphic* pGraphic) // Only set the size in case the unloaded and loaded unit matches. setPrefSize(aPrefSize); } -maGraphicExternalLink = aLink; +maGraphicExternalLink = std::move(aLink); } else { @@ -1683,7 +1683,7 @@ bool ImpGraphic::swapInGraphic(SvStream& rStream) if (!rStream.GetError()) { -maVectorGraphicData = aVectorGraphicDataPtr; +maVectorGraphicData = std::move(aVectorGraphicDataPtr); bReturn = true; } } diff --git a/vcl/source/gdi/vectorgraphicdata.cxx b/vcl/source/gdi/vectorgraphicdata.cxx index 9d94b171a45f..957d15c13a41 100644 --- a/vcl/source/gdi/vectorgraphicdata.cxx +++ b/vcl/source/gdi/vectorgraphicdata.cxx @@ -319,7 +319,7 @@ VectorGraphicData::VectorGraphicData( if (!rIStm.GetError()) { -maDataContainer = aData; +maDataContainer = std::move(aData); } } } commit 58d7eabbed200daaf8b6e1fcb82687ce70184412 Author: Caolán McNamara AuthorDate: Mon Jan 1 20:41:51 2024 + Commit: Caolán McNamara CommitDate: Tue Jan 2 00:36:25 2024 +0100 cid#1545836 COPY_INSTEAD_OF_MOVE Change-Id: Idb754296175f786c7850253749e3b7f968aa87fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161525 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/external/cppunit/0001-cid-1546460-COPY_INSTEAD_OF_MOVE.patch.1 b/external/cppunit/0001-cid-1546460-COPY_INSTEAD_OF_MOVE.patch.1 index 3f587e16b0a9..640d04ad5684 100644 --- a/external/cppunit/0001-cid-1546460-COPY_INSTEAD_OF_MOVE.patch.1 +++ b/external/cppunit/0001-cid-1546460-COPY_INSTEAD_OF_MOVE.patch.1 @@ -19,7 +19,30 @@ index 3b68d58..7b38a34 100644 +m_name(std::move(name)) { } - + +diff --git a/src/cppunit/XmlElement.cpp b/src/cppunit/XmlElement.cpp +index 585c3da..be02385 100644 +--- a/src/cppunit/XmlElement.cpp b/src/cppunit/XmlElement.cpp +@@ -8,8 +8,8 @@ CPPUNIT_NS_BEGIN + + XmlElement::XmlElement( std::string elementName, + std::string content ) +- : m_name( elementName ) +- , m_content( content ) ++ : m_name(std::move(elementName)) ++ , m_content(std::move(content)) + , m_attributes() + , m_elements() + { +@@ -18,7 +18,7 @@ XmlElement::XmlElement( std::string elementName, + + XmlElement::XmlElement( std::string elementName, + int numericContent ) +- : m_name( elementName ) ++ : m_name(std::move(elementName)) + , m_content() + , m_attributes() + , m_elements() -- 2.43.0 -
core.git: configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a9008aa942c1f98f8b00b2bd2f73edc576713e92 Author: Rene Engelhard AuthorDate: Mon Jan 1 18:13:20 2024 +0100 Commit: Thorsten Behrens CommitDate: Mon Jan 1 23:28:32 2024 +0100 update LIBO_THIS_YEAR Change-Id: I023baa2238c6cdbbd54a7e6b0fcdb128510bbd4c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161522 Tested-by: Jenkins Reviewed-by: Thorsten Behrens diff --git a/configure.ac b/configure.ac index 1c2a9c86cf5e..737ad29d7364 100644 --- a/configure.ac +++ b/configure.ac @@ -520,7 +520,7 @@ AC_DEFINE_UNQUOTED(LIBO_VERSION_MICRO,$LIBO_VERSION_MICRO) AC_DEFINE_UNQUOTED(LIBO_VERSION_PATCH,$LIBO_VERSION_PATCH) git_date=`git log -1 --pretty=format:"%cd" --date=format:'%Y' 2>&/dev/null` -LIBO_THIS_YEAR=${git_date:-2023} +LIBO_THIS_YEAR=${git_date:-2024} AC_DEFINE_UNQUOTED(LIBO_THIS_YEAR,$LIBO_THIS_YEAR) dnl ===
core.git: Branch 'libreoffice-24-2' - configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a63480d6e5f11bd258431e1cfbb98c594ce4a741 Author: Rene Engelhard AuthorDate: Mon Jan 1 18:13:20 2024 +0100 Commit: Thorsten Behrens CommitDate: Mon Jan 1 23:28:47 2024 +0100 update LIBO_THIS_YEAR Change-Id: I023baa2238c6cdbbd54a7e6b0fcdb128510bbd4c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161419 Tested-by: Jenkins Reviewed-by: Thorsten Behrens diff --git a/configure.ac b/configure.ac index d841c7cc76fa..ef27ed166df5 100644 --- a/configure.ac +++ b/configure.ac @@ -520,7 +520,7 @@ AC_DEFINE_UNQUOTED(LIBO_VERSION_MICRO,$LIBO_VERSION_MICRO) AC_DEFINE_UNQUOTED(LIBO_VERSION_PATCH,$LIBO_VERSION_PATCH) git_date=`git log -1 --pretty=format:"%cd" --date=format:'%Y' 2>&/dev/null` -LIBO_THIS_YEAR=${git_date:-2023} +LIBO_THIS_YEAR=${git_date:-2024} AC_DEFINE_UNQUOTED(LIBO_THIS_YEAR,$LIBO_THIS_YEAR) dnl ===
core.git: Branch 'libreoffice-7-6' - external/boost filter/CppunitTest_filter_textfilterdetect.mk
external/boost/UnpackedTarball_boost.mk |2 external/boost/boost.file_iterator.sharing_win.patch | 158 ++ filter/CppunitTest_filter_textfilterdetect.mk |4 filter/qa/unit/data/hybrid_calc_\320\260\320\261\320\262_\316\261\316\262\316\263.pdf" |binary filter/qa/unit/data/hybrid_impress_\320\260\320\261\320\262_\316\261\316\262\316\263.pdf" |binary filter/qa/unit/data/hybrid_writer_\320\260\320\261\320\262_\316\261\316\262\316\263.pdf" |binary filter/qa/unit/textfilterdetect.cxx | 41 ++ include/o3tl/char16_t2wchar_t.hxx |1 sdext/source/pdfimport/filterdet.cxx |4 sdext/source/pdfimport/inc/pdfparse.hxx |5 sdext/source/pdfimport/pdfparse/pdfparse.cxx | 11 sdext/source/pdfimport/test/pdfunzip.cxx |3 sdext/source/pdfimport/wrapper/wrapper.cxx |3 13 files changed, 216 insertions(+), 16 deletions(-) New commits: commit 873c56df149bb463e5267162e43c755ad16779b8 Author: Mike Kaganski AuthorDate: Fri Dec 1 16:48:44 2023 +0300 Commit: Thorsten Behrens CommitDate: Mon Jan 1 23:28:09 2024 +0100 tdf#158442: fix opening hybrid PDFs on Windows Commit 046e9545956d8ad1d69345d6b4a4c0a33714d179 (Try to revert to use of file_iterator from boost on Windows, 2023-10-31) had introduced a problem that pdfparse::PDFReader::read couldn't create file_iterator for files already opened with write access: mmap_file_iterator ctor on Windows used single FILE_SHARE_READ as dwSharedMode parameter for CreateFileA WinAPI; and that failed, when the file was already opened using GENERIC_WRITE in dwDesiredAccess - which happens when opening stream in TypeDetection::impl_detectTypeFlatAndDeep. Fix this by patching boosts' mmap_file_iterator constructor to use FILE_SHARE_READ | FILE_SHARE_WRITE, like we do in osl_openFile. But there was a pre-existing problem of using char-based CreateFileA API, which disallows opening any files with names not representable in current Windows codepage. Such hybrid PDF files would still fail creation of the file_iterator, and open as PDF. Fix that by further patching boost to have wstring-based constructors for file_iterator and mmap_file_iterator on Windows, which would call CreateFileW. Change-Id: Ib190bc090636159ade390b3dd120957d06d7b89b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160218 Tested-by: Jenkins Reviewed-by: Mike Kaganski Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160306 Reviewed-by: Thorsten Behrens diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk index acdc5d331c76..d8bd131ac8df 100644 --- a/external/boost/UnpackedTarball_boost.mk +++ b/external/boost/UnpackedTarball_boost.mk @@ -35,6 +35,8 @@ boost_patches += boost-ios.patch.0 # violations": boost_patches += 0001-Avoid-boost-phoenix-placeholders-uarg1.10-ODR-violat.patch.2 +boost_patches += boost.file_iterator.sharing_win.patch + $(eval $(call gb_UnpackedTarball_UnpackedTarball,boost)) $(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL))) diff --git a/external/boost/boost.file_iterator.sharing_win.patch b/external/boost/boost.file_iterator.sharing_win.patch new file mode 100644 index ..b3b8bea3f3ff --- /dev/null +++ b/external/boost/boost.file_iterator.sharing_win.patch @@ -0,0 +1,158 @@ +--- foo/misc/boost/boost/spirit/home/classic/iterator/impl/file_iterator.ipp.orig foo/misc/boost/boost/spirit/home/classic/iterator/impl/file_iterator.ipp +@@ -181,67 +181,28 @@ public: + {} + + explicit mmap_file_iterator(std::string const& fileName) +- : m_filesize(0), m_curChar(0) +-{ +-HANDLE hFile = ::CreateFileA( ++ : mmap_file_iterator(::CreateFileA( + fileName.c_str(), + GENERIC_READ, +-FILE_SHARE_READ, ++FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, + OPEN_EXISTING, + FILE_FLAG_SEQUENTIAL_SCAN, + NULL +-); +- +-if (hFile == INVALID_HANDLE_VALUE) +-return; +- +-// Store the size of the file, it's used to construct +-// the end iterator +-m_filesize = ::GetFileSize(hFile, NULL); ++)) ++{} + +-HANDLE hMap = ::CreateFileMapping( +-hFile, ++explicit mmap_file_iterator(std::wstring const& fileName) ++ : mmap_file_iterat
cppunit.git: src/cppunit
src/cppunit/XmlElement.cpp |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) New commits: commit bdf2555703132b0d9c9734f173a3f6dbe60aadb9 Author: Caolán McNamara AuthorDate: Mon Jan 1 20:37:48 2024 + Commit: Caolán McNamara CommitDate: Mon Jan 1 21:42:58 2024 +0100 cid#1545836 COPY_INSTEAD_OF_MOVE Change-Id: I7418a44ef949504d6b80408299f23358971521ca Reviewed-on: https://gerrit.libreoffice.org/c/cppunit/+/161524 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara diff --git a/src/cppunit/XmlElement.cpp b/src/cppunit/XmlElement.cpp index 585c3da..be02385 100644 --- a/src/cppunit/XmlElement.cpp +++ b/src/cppunit/XmlElement.cpp @@ -8,8 +8,8 @@ CPPUNIT_NS_BEGIN XmlElement::XmlElement( std::string elementName, std::string content ) - : m_name( elementName ) - , m_content( content ) + : m_name(std::move(elementName)) + , m_content(std::move(content)) , m_attributes() , m_elements() { @@ -18,7 +18,7 @@ XmlElement::XmlElement( std::string elementName, XmlElement::XmlElement( std::string elementName, int numericContent ) - : m_name( elementName ) + : m_name(std::move(elementName)) , m_content() , m_attributes() , m_elements()
core.git: dbaccess/source
dbaccess/source/ui/app/AppController.cxx|6 -- dbaccess/source/ui/app/AppControllerDnD.cxx |3 ++- dbaccess/source/ui/app/AppControllerGen.cxx |9 ++--- 3 files changed, 8 insertions(+), 10 deletions(-) New commits: commit 13a40e9c8e1d505565bd4742cf72bb33b99f Author: Julien Nabet AuthorDate: Mon Jan 1 19:05:44 2024 +0100 Commit: Julien Nabet CommitDate: Mon Jan 1 20:02:36 2024 +0100 Remove OApplicationController::getStrippedDatabaseName which only adds a layer Change-Id: Ife0435f52b1abe62337623aa5c6010195802760b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161523 Tested-by: Jenkins Reviewed-by: Julien Nabet diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx index 9d548a138139..fbe2c395633f 100644 --- a/dbaccess/source/ui/app/AppController.cxx +++ b/dbaccess/source/ui/app/AppController.cxx @@ -362,11 +362,12 @@ void SAL_CALL OApplicationController::disposing() if ( pFilter ) aFilter = pFilter->GetFilterName(); +OUString sDatabaseName; // add to svtool history options SvtHistoryOptions::AppendItem( EHistoryType::PickList, aURL.GetURLNoPass( INetURLObject::DecodeMechanism::NONE ), aFilter, -getStrippedDatabaseName(), +::dbaui::getStrippedDatabaseName(m_xDataSource, sDatabaseName), std::nullopt, std::nullopt); // add to recent document list @@ -504,7 +505,8 @@ sal_Bool SAL_CALL OApplicationController::suspend(sal_Bool bSuspend) ) ) { -switch (ExecuteQuerySaveDocument(getFrameWeld(), getStrippedDatabaseName())) +OUString sDatabaseName; +switch (ExecuteQuerySaveDocument(getFrameWeld(), ::dbaui::getStrippedDatabaseName(m_xDataSource, sDatabaseName))) { case RET_YES: Execute(ID_BROWSER_SAVEDOC,Sequence()); diff --git a/dbaccess/source/ui/app/AppControllerDnD.cxx b/dbaccess/source/ui/app/AppControllerDnD.cxx index 76525cf8f8bd..11ee8a621381 100644 --- a/dbaccess/source/ui/app/AppControllerDnD.cxx +++ b/dbaccess/source/ui/app/AppControllerDnD.cxx @@ -314,7 +314,8 @@ const SharedConnection& OApplicationController::ensureConnection( ::dbtools::SQL SolarMutexGuard aSolarGuard; OUString sConnectingContext(DBA_RES(STR_COULDNOTCONNECT_DATASOURCE)); -sConnectingContext = sConnectingContext.replaceFirst("$name$", getStrippedDatabaseName()); +OUString sDatabaseName; +sConnectingContext = sConnectingContext.replaceFirst("$name$", ::dbaui::getStrippedDatabaseName(m_xDataSource, sDatabaseName)); // do the connection *without* holding getMutex() to avoid deadlock // when we are not in the main thread and we need username/password diff --git a/dbaccess/source/ui/app/AppControllerGen.cxx b/dbaccess/source/ui/app/AppControllerGen.cxx index 8712f6386879..0f6eda11de7b 100644 --- a/dbaccess/source/ui/app/AppControllerGen.cxx +++ b/dbaccess/source/ui/app/AppControllerGen.cxx @@ -321,7 +321,8 @@ void SAL_CALL OApplicationController::connect( ) // no particular error, but nonetheless could not connect -> throw a generic exception OUString sConnectingContext( DBA_RES( STR_COULDNOTCONNECT_DATASOURCE ) ); -::dbtools::throwGenericSQLException( sConnectingContext.replaceFirst( "$name$", getStrippedDatabaseName() ), *this ); +OUString sDatabaseName; +::dbtools::throwGenericSQLException( sConnectingContext.replaceFirst( "$name$", ::dbaui::getStrippedDatabaseName(m_xDataSource, sDatabaseName) ), *this ); } } @@ -550,12 +551,6 @@ OUString OApplicationController::getDatabaseName() const return sDatabaseName; } -OUString OApplicationController::getStrippedDatabaseName() const -{ -OUString sDatabaseName; -return ::dbaui::getStrippedDatabaseName( m_xDataSource, sDatabaseName ); -} - void OApplicationController::onDocumentOpened( const OUString& _rName, const sal_Int32 _nType, const ElementOpenMode _eMode, const Reference< XComponent >& _xDocument, const Reference< XComponent >& _rxDefinition ) {
core.git: sd/source
sd/source/core/drawdoc3.cxx | 64 +++- 1 file changed, 46 insertions(+), 18 deletions(-) New commits: commit 167659bf16a68c27fa547e6eccd62c1a6f69b057 Author: Balazs Varga AuthorDate: Fri Dec 29 12:01:10 2023 +0100 Commit: Balazs Varga CommitDate: Mon Jan 1 19:11:39 2024 +0100 tdf#157742 tdf#157783 - sd: fix copy master slides style Copy SlideLayout property and themes from the old slide to the new one. Change-Id: I7310200c731839a606981c6d63c8d0d4f9ec0536 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161401 Tested-by: Jenkins Reviewed-by: Balazs Varga diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx index 5062630edb88..5310789d2988 100644 --- a/sd/source/core/drawdoc3.cxx +++ b/sd/source/core/drawdoc3.cxx @@ -67,11 +67,11 @@ namespace { class InsertBookmarkAsPage_FindDuplicateLayouts { public: -explicit InsertBookmarkAsPage_FindDuplicateLayouts( std::map &rLayoutsToTransfer ) +explicit InsertBookmarkAsPage_FindDuplicateLayouts( std::vector &rLayoutsToTransfer ) : mrLayoutsToTransfer(rLayoutsToTransfer) {} void operator()( SdDrawDocument&, SdPage const *, bool, SdDrawDocument* ); private: -std::map &mrLayoutsToTransfer; +std::vector &mrLayoutsToTransfer; }; } @@ -85,11 +85,11 @@ void InsertBookmarkAsPage_FindDuplicateLayouts::operator()( SdDrawDocument& rDoc if( nIndex != -1 ) aLayout = aLayout.copy(0, nIndex); -std::map::const_iterator pIter = mrLayoutsToTransfer.find(aLayout); +std::vector::const_iterator pIter = +find(mrLayoutsToTransfer.begin(), mrLayoutsToTransfer.end(), aLayout); bool bFound = pIter != mrLayoutsToTransfer.end(); -sal_Int32 nLayout = 20; // blank page - master slide layout ID const sal_uInt16 nMPageCount = rDoc.GetMasterPageCount(); for (sal_uInt16 nMPage = 0; nMPage < nMPageCount && !bFound; nMPage++) { @@ -110,15 +110,6 @@ void InsertBookmarkAsPage_FindDuplicateLayouts::operator()( SdDrawDocument& rDoc pBMMPage->GetLayoutName(), pBMMPage->GetName() + "_"); aLayout = pBMMPage->GetName(); -uno::Reference< drawing::XDrawPage > xOldPage(rDoc.GetMasterPage(nMPage)->getUnoPage(), uno::UNO_QUERY_THROW); -uno::Reference xPropSet(xOldPage, uno::UNO_QUERY_THROW); -if (xPropSet.is()) -{ -uno::Any aLayoutID = xPropSet->getPropertyValue("SlideLayout"); -if (aLayoutID.hasValue()) { -aLayoutID >>= nLayout; -} -} break; } else @@ -127,7 +118,7 @@ void InsertBookmarkAsPage_FindDuplicateLayouts::operator()( SdDrawDocument& rDoc } if (!bFound) -mrLayoutsToTransfer.insert({ aLayout, nLayout }); +mrLayoutsToTransfer.push_back(aLayout); } // Inserts a bookmark as a page @@ -508,7 +499,7 @@ bool SdDrawDocument::InsertBookmarkAsPage( // Refactored copy'n'pasted layout name collection into IterateBookmarkPages -std::map aLayoutsToTransfer; +std::vector aLayoutsToTransfer; InsertBookmarkAsPage_FindDuplicateLayouts aSearchFunctor( aLayoutsToTransfer ); lcl_IterateBookmarkPages( *this, pBookmarkDoc, rBookmarkList, nBMSdPageCount, aSearchFunctor, ( rBookmarkList.empty() && pBookmarkDoc != this ) ); @@ -520,11 +511,14 @@ bool SdDrawDocument::InsertBookmarkAsPage( if( !aLayoutsToTransfer.empty() ) bMergeMasterPages = true; -for ( const auto& layout : aLayoutsToTransfer ) +std::map aSlideLayoutsToTransfer; +std::map> aThemesToTransfer; + +for ( const OUString& layoutName : aLayoutsToTransfer ) { StyleSheetCopyResultVector aCreatedStyles; -rStyleSheetPool.CopyLayoutSheets(layout.first, rBookmarkStyleSheetPool, aCreatedStyles); +rStyleSheetPool.CopyLayoutSheets(layoutName, rBookmarkStyleSheetPool, aCreatedStyles); if(!aCreatedStyles.empty()) { @@ -533,6 +527,29 @@ bool SdDrawDocument::InsertBookmarkAsPage( pUndoMgr->AddUndoAction(std::make_unique(this, aCreatedStyles, true)); } } + +// copy SlideLayout and Theme of the master slide +sal_Int32 nLayout = 20; // blank page - master slide layout ID +bool bIsMasterPage = false; +sal_uInt16 nBMPage = pBookmarkDoc->GetPageByName(layoutName, bIsMasterPage); +if (bIsMasterPage) +{ +uno::Reference< drawing::XDrawPage > xOldPage(pBookmarkDoc->GetMasterPage(nBMPage)->getUnoPage(), uno::UNO_QUERY_THROW); +SdrPage* pMasterPage = SdPage::getImplementation(xOldPage); +if (pMasterPage) +{ +aThemesToTransfer.insert({ layoutName, pMasterPage->getSdrPageProperties().getTheme() }); +uno::Reference xProp
libexttextcat.git: Changes to 'refs/tags/v3.4.7'
Tag 'v3.4.7' created by Caolán McNamara at 2024-01-01 17:04 + 3.4.7 Changes since v3.4.6-2: --- 0 files changed ---
libexttextcat.git: configure.ac src/exttextcat-version.h src/win32_config.h
configure.ac |2 +- src/exttextcat-version.h |4 ++-- src/win32_config.h |4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) New commits: commit 3b85d7e9fd34990f5be6a7e321c2e6b135064464 Author: Caolán McNamara AuthorDate: Mon Jan 1 16:16:14 2024 + Commit: Caolán McNamara CommitDate: Mon Jan 1 18:03:06 2024 +0100 bump release to 3.4.7 Change-Id: I90254fe8fec2ce80b0e3b30e0f5bab7447ec08e4 Reviewed-on: https://gerrit.libreoffice.org/c/libexttextcat/+/161520 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara diff --git a/configure.ac b/configure.ac index 1f0b918..2dfa903 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ m4_define([exttextcat_version_major],[3]) m4_define([exttextcat_version_minor],[4]) -m4_define([exttextcat_version_micro],[6]) +m4_define([exttextcat_version_micro],[7]) m4_define([exttextcat_version],[exttextcat_version_major.exttextcat_version_minor.exttextcat_version_micro]) AC_PREREQ([2.68]) diff --git a/src/exttextcat-version.h b/src/exttextcat-version.h index 86c4abf..ea55485 100644 --- a/src/exttextcat-version.h +++ b/src/exttextcat-version.h @@ -1,9 +1,9 @@ #ifndef EXTTEXTCAT_VERSION_H #define EXTTEXTCAT_VERSION_H -#define EXTTEXTCAT_VERSION "3.4.6" +#define EXTTEXTCAT_VERSION "3.4.7" #define EXTTEXTCAT_VERSION_MAJOR 3 #define EXTTEXTCAT_VERSION_MINOR 4 -#define EXTTEXTCAT_VERSION_MICRO 6 +#define EXTTEXTCAT_VERSION_MICRO 7 #endif diff --git a/src/win32_config.h b/src/win32_config.h index 5025f4a..46d8b89 100644 --- a/src/win32_config.h +++ b/src/win32_config.h @@ -57,7 +57,7 @@ #define PACKAGE_NAME "libexttextcat" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libexttextcat 3.4.6" +#define PACKAGE_STRING "libexttextcat 3.4.7" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libexttextcat" @@ -72,6 +72,6 @@ #define TIME_WITH_SYS_TIME 1 /* Version number of package */ -#define VERSION "3.4.6" +#define VERSION "3.4.7" /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
libexttextcat.git: 2 commits - langclass/fpdb.conf langclass/LM langclass/ShortTexts src/Makefile.am
langclass/LM/ilo.lm | 400 +++ langclass/LM/skr.lm | 400 +++ langclass/ShortTexts/ilo.txt | 210 ++ langclass/ShortTexts/skr.txt | 219 +++ langclass/fpdb.conf |2 src/Makefile.am |4 6 files changed, 1233 insertions(+), 2 deletions(-) New commits: commit 58f5a03b867e7debb56915cdf2e68bfc8448ff76 Author: Caolán McNamara AuthorDate: Mon Jan 1 16:56:46 2024 + Commit: Caolán McNamara CommitDate: Mon Jan 1 18:02:55 2024 +0100 add Ilocano Change-Id: I19cd769d3cc6dfff63cce165e5ab5e9f0bb9659f Reviewed-on: https://gerrit.libreoffice.org/c/libexttextcat/+/161519 Tested-by: Caolán McNamara Reviewed-by: Caolán McNamara diff --git a/langclass/LM/ilo.lm b/langclass/LM/ilo.lm new file mode 100644 index 000..86fde9b --- /dev/null +++ b/langclass/LM/ilo.lm @@ -0,0 +1,400 @@ +a +_ +n +i +g +t +a_ +an +k +e +ti +i_ +ng +d +n_ +ti_ +m +l +ga +s +p +o +y +_k +na +it +u +_n +pa +_a +ag +iti +iti_ +en +nga +ka +da +b +an_ +ma +_ng +ga_ +_nga +r +nga_ +_nga_ +_i +_p +_t +in +al +_m +w +_pa +sa +_iti +_it +_iti_ +ke +en_ +gi +ay +ad +li +_ke +_ka +o_ +ya +ana +_ma +_a_ +_ti +_ti_ +pan +ken +ken_ +wa +_ken +ba +agi +_ken_ +_pan +ak +ang +ta +aya +as +nn +te +pana +_pana +nt +gan +ai +int +ali +lin +git +agit +_d +eg +g_ +dag +aw +._ +. +teg +dagi +dagit +no +ab +lint +giti_ +agiti +_s +giti +ik +inte +nte +linte +nteg +integ +at +am +aa +alin +man +, +ey +,_ +A +on +ar +kal +ega +_na +ada +l_ +alint +ntega +tega +ap +da_ +way +tegan +egan +waya +dd +t_ +kali +il +awa +kalin +un +si +ul +nag +gan_ +_da +sa_ +_kal +_kali +ra +la +me +ysa +ysa_ +ys +_A +no_ +ng_ +gg +al_ +aba +na_ +_w +ki +mi +add +eysa_ +eys +eysa +ia +nna +ku +- +dda +anag +_me +_b +ngg +adda +ann +_dag +_dagi +mey +lo +meys +_sa +meysa +to +_mey +y_ +_meys +panag +gal +ulo +egan_ +_ba +anna +man_ +gga +bi +yan +pag +ngga +um +ung +kad +tu +nak +iku +kul +we +gal_ +wen +nan +nggal +ggal_ +tik +aan +_kad +enn +aka +kada +ungg +away +ggal +ungga +_kada +enno_ +yaw +nno_ +awaya +_mai +mai +ayaw +ed +nno +wan +asa +ni +ib +enno +kulo +_ad +_man +ikulo +_ta +_wen +_wenn +wenn +ata +_adda +_we +_add +rt +wenno +ikul +_Art +kulo_ +_ag +Arti +rtiku +Artik +Ar +lo_ +_Ar +adag +rtik +tiku +rti +ip +Art +_Arti +tikul +ulo_ +adagi +I +kadag +ong +_pag +ya_ +apa +anan +nna_ +ami +dda_ +yo +nang +kas +d_ +im +de +aki +ri +_si +is +ina +id +gp +et +mang +adda_ +anang +pu +wayaw +ayawa +gpa +ae +wan_ +a._ +ala +du +_l +a. +_mang +yaway +yawa +anna_ +gs +aan_ +_tu +eng +mak +panan +ara +ili +ao +_I +et_ +ika +li_ +at_ +tung +waya_ +tun +naka +dad +aya_ +anak +ama +ay_ +ipa +toy +tungg +_tun +_u +yon +sy +_tung +di +s_ +gann +oy +ig +ganna +ge +aen +_nai +nai +T +eng_ +us +panak +-a +sin +ani +lya +_mak +ilya +ly +tao +bab +ur +aik +r_ +ket +om +ily +gr +oma +mo +toy_ +n- +_bab +lu +yan_ +oy_ +_ki diff --git a/langclass/ShortTexts/ilo.txt b/langclass/ShortTexts/ilo.txt new file mode 100644 index 000..08bd414 --- /dev/null +++ b/langclass/ShortTexts/ilo.txt @@ -0,0 +1,210 @@ +NAILUBONGAN A PANAKAIPAKDAAR DAGITI KALINTEGAN TI TAO + Idinto ta bigbigen iti naisigsigud a dayaw ken panagpapada ken ti di maipaidam nga kalintegan dagiti amin a puli tao nga batayan ti wayawaya, hustisya ken ikakapya ti lubong. + Idinto ta iti saan nga panangi-kan-kano ken lalaisen dagiti kalinteganti tao nga nagbanag iti panagsupiat a maibusor iti konsensya ti sangkataw-an, ken iti idadateng iti meysa nga lubong a laklak-amen dagiti tao ti wayawaya a panagsao ken pammati ken awanen ti panagamak ken panagrigrigat nga inda nga inar-arapa-ap nga impakdaar dagiti kadawyan a tao. + Idinto ta deytoy ti kangrunaan, tapno saan a mapilitan ti tao nga mangriribok a maibusor ti kinaulpit ken pannakaidadanes, masapul nga masalakniban babaen kadagiti annuroten ti linteg. + Idinto ta deytoy ti kangrunaan tapno maiwanwan ti panag-giginnayem a nasayat dagiti amin nga pagilyan. + Idinto ta dagiti umili kadagiti Nagkaykaysa nga Pagilyan ket pinasingkedanda iti Tsarter dagiti pammatida nga kalintegan madaydayaw ken panangipateg iti kinatao ken dagiti panagpapada ti kalintegan dagiti lalaki ken babbai ken panangeddeng nga mangiwanwan ti gimong ken ti nasayaat a pagbasaran iti panagbiag a siwawaya. + Idinto ta dagiti miembro ti Estado nagkarida nga agtungpal iti pannakitinnulongda kadagiti Nagkeykeysa nga Pagilyan iti panakaitandudo ti panagdayaw iti sangalubongan ken panangammo dagiti kalintegan ti tao ken dagiti kangrunaan nga panagwayawaya. + Idinto ta iti meysa nga kadawyan a panakaawat dagitoy nga kalintegan ken wayawaya ket isu't kinapateg nga naan-anay a pannaka-amiris iti deytoy nga kari. + Ita, ngarud inpakdaar ti Asemblia Heneral dagitoy Nailubongana Panangipakdaar dagiti kalintegan ti dao nga kas meysa nga pagbasaran a magun-odan dagiti
back port to 7.6.5 for tdf#158442 to open LO hybridPDF in correct module
Looks like this got forgotten: https://gerrit.libreoffice.org/c/core/+/160306 -- Stuart
Re: How to force Jenkins to verify if failing probability is too high
On 1.1.2024 11.20, Laurent Balland wrote: Hello, My change [1] did not pass Jenkins verification due to a failing probability of 0.45. I did not find any helpful information in Jenkins report [2]. I am almost sure that my change should pass. What should I modify in my change? How to tell Jenkins to go ahead? Thanks for your help. Laurent Balland [1] https://gerrit.libreoffice.org/c/core/+/161513 [2] https://ci.libreoffice.org/job/gerrit_master_ml/9114/consoleFull#-355731841d24ee341-16ff-442b-9671-37df50e21a67 See the log of the actual builder: https://ci.libreoffice.org/job/gerrit_linux_gcc_release/156425/consoleFull [build CPY] templates/presnt/Yellow_Idea/Thumbnails/thumbnail.png /usr/bin/cp: cannot stat '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/CustomTarget/extras/source/templates/wizard/agenda/10grey.ott': No such file or directory make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/solenv/gbuild/Package.mk:35: /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/instdir/share/template/common/wizard/agenda/10grey.ott] Error 1 make[1]: *** Waiting for unfinished jobs /usr/bin/cp: cannot stat '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/CustomTarget/extras/source/templates/wizard/agenda/1simple.ott': No such file or directory make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/solenv/gbuild/Package.mk:35: /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/instdir/share/template/common/wizard/agenda/1simple.ott] Error 1 [build XSL] templates/presnt/Yellow_Idea/content.xml /usr/bin/cp: cannot stat '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/CustomTarget/extras/source/templates/wizard/agenda/2elegant.ott': No such file or directory make[1]: *** [/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/solenv/gbuild/Package.mk:35: /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/instdir/share/template/common/wizard/agenda/2elegant.ott] Error 1 [build XSL] templates/presnt/Yellow_Idea/styles.xml make: *** [Makefile:290: build] Error 2 Build step 'Execute shell' marked build as failure [Checks API] No suitable checks publisher found. Finished: FAILURE Ilmari
core.git: sc/source
sc/source/core/data/markmulti.cxx |2 +- sc/source/ui/view/gridwin4.cxx|2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit a28b1dfb2dec7ece83280232941d9d2e2b72b557 Author: Julien Nabet AuthorDate: Mon Jan 1 14:59:51 2024 +0100 Commit: Julien Nabet CommitDate: Mon Jan 1 17:20:18 2024 +0100 Replace "size() == 0 with empty()" (sc/part2) Change-Id: I0c87b39bd89825eba5f3c90477ba41eb7e5178ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161517 Tested-by: Jenkins Reviewed-by: Julien Nabet diff --git a/sc/source/core/data/markmulti.cxx b/sc/source/core/data/markmulti.cxx index 4c92f5f25a47..9cfcd19f8819 100644 --- a/sc/source/core/data/markmulti.cxx +++ b/sc/source/core/data/markmulti.cxx @@ -264,7 +264,7 @@ void ScMultiSel::SetMarkArea( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, S void ScMultiSel::Set( ScRangeList const & rList ) { Clear(); -if (rList.size() == 0) +if (rList.empty()) return; // sort by row to make the combining/merging faster diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx index 218c98b12a6c..95ed4d0c7600 100644 --- a/sc/source/ui/view/gridwin4.cxx +++ b/sc/source/ui/view/gridwin4.cxx @@ -1423,7 +1423,7 @@ void ScGridWindow::SetupInitialPageBreaks(const ScDocument& rDoc, SCTAB nTab) std::set aRowBreaks; rDoc.GetAllColBreaks(aColBreaks, nTab, true, false); rDoc.GetAllRowBreaks(aRowBreaks, nTab, true, false); -if (aColBreaks.size() == 0 || aRowBreaks.size() == 0) +if (aColBreaks.empty() || aRowBreaks.empty()) { maShowPageBreaksTimer.SetPriority(TaskPriority::DEFAULT_IDLE); maShowPageBreaksTimer.Start();
How to force Jenkins to verify if failing probability is too high
Hello, My change [1] did not pass Jenkins verification due to a failing probability of 0.45. I did not find any helpful information in Jenkins report [2]. I am almost sure that my change should pass. What should I modify in my change? How to tell Jenkins to go ahead? Thanks for your help. Laurent Balland [1] https://gerrit.libreoffice.org/c/core/+/161513 [2] https://ci.libreoffice.org/job/gerrit_master_ml/9114/consoleFull#-355731841d24ee341-16ff-442b-9671-37df50e21a67
core.git: Branch 'libreoffice-24-2' - vcl/skia
vcl/skia/gdiimpl.cxx | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) New commits: commit aff4c1055e95f04d794ef83105f4a20ac16159db Author: Mike Kaganski AuthorDate: Sun Dec 31 17:04:36 2023 +0600 Commit: Patrick Luby CommitDate: Mon Jan 1 15:24:23 2024 +0100 Avoid unwanted creation of mSurface Commit 2d1a0d86d2d0c00fcfee61c39f2221e786e4245b (Related: tdf#152703 Prevent possible hang when live resizing a window, 2023-01-06) had added a call to checkSurface in SkiaSalGraphicsImpl::performFlush, to detect resize. This created a regression, seen e.g. in JunitTest_framework_complex, where 'assert(!mSurface)' in SkiaSalGraphicsImpl dtor fails now on Windows with Skia/Vulkan: vcllo.dll!SkiaSalGraphicsImpl::~SkiaSalGraphicsImpl() Line 296 C++ vclplug_winlo.dll!WinSkiaSalGraphicsImpl::~WinSkiaSalGraphicsImpl()C++ vclplug_winlo.dll!WinSkiaSalGraphicsImpl::`scalar deleting destructor'(unsigned int) C++ vclplug_winlo.dll!std::default_delete::operator()(SalGraphicsImpl * _Ptr) Line 3170 C++ vclplug_winlo.dll!std::unique_ptr>::~unique_ptr>() Line 3282 C++ vclplug_winlo.dll!WinSalGraphics::~WinSalGraphics() Line 668 C++ vclplug_winlo.dll!WinSalGraphics::`scalar deleting destructor'(unsigned int) C++ vclplug_winlo.dll!WinSalFrame::~WinSalFrame() Line 977 C++ vclplug_winlo.dll!WinSalFrame::`scalar deleting destructor'(unsigned int) C++ vclplug_winlo.dll!SalComWndProc(HWND__ * __formal, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 667 C++ vclplug_winlo.dll!SalComWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 724 C++ user32.dll!7ffaab908241() Unknown user32.dll!7ffaab907efc() Unknown user32.dll!7ffaab91302d() Unknown ntdll.dll!7ffaac2d33b4() Unknown win32u.dll!7ffaa97814d4() Unknown user32.dll!7ffaab911b4f() Unknown user32.dll!7ffaab911a1c() Unknown sal3.dll!osl_waitCondition(void * Condition, const TimeValue * pTimeout) Line 93 C++ vclplug_winlo.dll!osl::Condition::wait(const TimeValue * pTimeout) Line 124C++ vclplug_winlo.dll!SalYieldMutex::doAcquire(unsigned long nLockCount) Line 140 C++ comphelper.dll!comphelper::SolarMutex::acquire(unsigned long nLockCount) Line 87 C++ vcllo.dll!SalInstance::AcquireYieldMutex(unsigned long nCount) Line 147 C++ vcllo.dll!Application::AcquireSolarMutex(unsigned long nCount) Line 510 C++ vclplug_winlo.dll!SolarMutexReleaser::~SolarMutexReleaser() Line 1420 C++ vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 586 C++ vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 390 C++ vcllo.dll!Application::Yield() Line 475C++ vcllo.dll!Application::Execute() Line 368 C++ sofficeapp.dll!desktop::Desktop::Main() Line 1605 C++ vcllo.dll!ImplSVMain() Line 229C++ vcllo.dll!SVMain() Line 262C++ sofficeapp.dll!soffice_main() Line 94 C++ soffice.bin!sal_main() Line 51 C soffice.bin!main(int argc, char * * argv) Line 49 C soffice.bin!invoke_main() Line 79 C++ soffice.bin!__scrt_common_main_seh() Line 288 C++ soffice.bin!__scrt_common_main() Line 331 C++ soffice.bin!mainCRTStartup(void * __formal) Line 17C++ kernel32.dll!7ffaab01257d()Unknown ntdll.dll!7ffaac28aa58() Unknown This is caused by unwanted creation of mSurface in checkSurface, outside of the Init/DeInit pair, called from WinSalGraphics' InitGraphics/DeInitGraphics. Thus an invariant is broken, that only when WinSalFrame initializes its mhLocalDC, its mpImpl is initialized. Deinitialization of mpImpl is thus only called if mhLocalDC is not null. Since flush makes no sense without mSurface, just move the call to checkSurface inside the mSurface check. Hope it doesn't break the fix made in commit 2d1a0d86d2d0c00fcfee61c39f2221e786e4245b. Change-Id: I54442e604ef7c28659b908a7fb1404c9da41b006 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161484 Reviewed-by: Patrick Luby Tested-by: Jenkins (cherry picked from commit 78ff693225e015e9f3153e26fbd4dca5fa1f0095) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161413 Reviewed-by: Noel Grandin diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index e4e71798da48..485eaf24618d 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -393,13 +393,13 @@ void SkiaSalGraphicsImpl::performFlush() { SkiaZone zone; flushDrawing(); -// Related: tdf#152703 Eliminate flickering during live resizing of a window -// When in live resize, the SkiaSalGraphicsImpl class does not detect that -// the window size has changed until
core.git: extensions/test
extensions/test/ole/AxTestComponents/Basic.cpp | 21 + 1 file changed, 5 insertions(+), 16 deletions(-) New commits: commit 6c9dda18242bce6a37f7c43277ab4647a70401c8 Author: Luv Sharma AuthorDate: Sun Dec 31 17:48:48 2023 +0530 Commit: Ilmari Lauhakangas CommitDate: Mon Jan 1 14:27:36 2024 +0100 tdf#148251 Use std::swap instead of using temporary values Change-Id: Iac18ab1e64e58749e300f71f7e61d4a31c66355e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161496 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas Reviewed-by: Ilmari Lauhakangas diff --git a/extensions/test/ole/AxTestComponents/Basic.cpp b/extensions/test/ole/AxTestComponents/Basic.cpp index 8aad56e8af52..85fbb649f923 100644 --- a/extensions/test/ole/AxTestComponents/Basic.cpp +++ b/extensions/test/ole/AxTestComponents/Basic.cpp @@ -1053,9 +1053,7 @@ STDMETHODIMP CBasic::outDate(DATE* val) STDMETHODIMP CBasic::inoutDate(DATE* val) { -DATE tmp = *val; -*val = m_date; -m_date = tmp; +std::swap(*val, m_date); return S_OK; } @@ -1098,10 +1096,7 @@ STDMETHODIMP CBasic::outDecimal(DECIMAL* val) STDMETHODIMP CBasic::inoutDecimal(DECIMAL* val) { -DECIMAL tmp; -tmp = * val; -* val = m_decimal; -m_decimal = tmp; +std::swap(*val, m_decimal); return S_OK; } @@ -1131,9 +1126,7 @@ STDMETHODIMP CBasic::outScode(SCODE* val) STDMETHODIMP CBasic::inoutSCode(SCODE* val) { -SCODE tmp = *val; -* val = m_scode; -m_scode = tmp; +std::swap(*val, m_scode); return S_OK; } @@ -1302,9 +1295,7 @@ STDMETHODIMP CBasic::prpMultiArg2GetValues(VARIANT* val1, VARIANT* valProperty) STDMETHODIMP CBasic::get_prpMultiArg3(LONG* val1, LONG* pVal) { -long aLong = *val1; -*val1 = m_long; -m_long = aLong; +std::swap(*val1, m_long); * pVal = m_long2; return S_OK; @@ -1312,9 +1303,7 @@ STDMETHODIMP CBasic::get_prpMultiArg3(LONG* val1, LONG* pVal) STDMETHODIMP CBasic::put_prpMultiArg3(LONG* val1, LONG newVal) { -long aLong = *val1; -*val1 = m_long; -m_long = aLong; +std::swap(*val1, m_long); m_long2 = newVal; return S_OK;
core.git: vcl/skia
vcl/skia/skia_denylist_vulkan.xml |3 --- 1 file changed, 3 deletions(-) New commits: commit a3f21172fdb7fed6eb61be9199980421bad71101 Author: Julien Nabet AuthorDate: Mon Jan 1 12:28:23 2024 +0100 Commit: Julien Nabet CommitDate: Mon Jan 1 13:20:51 2024 +0100 Revert "Related tdf#158739: blacklist Nvidia RTX 4050 for Skia hardware" This reverts commit bc00fb6de3ffd3949a3cdb524f49dac7e32258a9. Reason: the real pb has been fixed thanks to Mike with: https://git.libreoffice.org/core/+/025a49a40a3c0c1be5bf4383e87a1cc60014b7f4%5E%21 tdf#158942: renderMethodToUseForSize may force raster surface Change-Id: I66602d607d3ea933b4035d616ebed7fedebfb9a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161515 Reviewed-by: Julien Nabet Tested-by: Jenkins diff --git a/vcl/skia/skia_denylist_vulkan.xml b/vcl/skia/skia_denylist_vulkan.xml index 668aa87713d9..8da86069fc46 100644 --- a/vcl/skia/skia_denylist_vulkan.xml +++ b/vcl/skia/skia_denylist_vulkan.xml @@ -48,9 +48,6 @@ - - -
core.git: desktop/source
desktop/source/lib/init.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 968cb673eb353bd5d19d96498c0d38c00801c8a0 Author: Julien Nabet AuthorDate: Sun Dec 31 12:23:51 2023 +0100 Commit: Julien Nabet CommitDate: Mon Jan 1 13:19:17 2024 +0100 Replace "size() != 0 with !empty()" (desktop) Change-Id: I164e29ed02fc4abf7a5b03ca0c391fb46b60e4f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161483 Tested-by: Jenkins Reviewed-by: Julien Nabet diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 4b1658d95e20..cc3139fcd22e 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -4564,7 +4564,7 @@ static void doc_registerCallback(LibreOfficeKitDocument* pThis, pViewShell->setLibreOfficeKitViewCallback(pDocument->mpCallbackFlushHandlers[nView].get()); } -if (pDocument->maFontsMissing.size() != 0) +if (!pDocument->maFontsMissing.empty()) { OString sPayload = "{ \"fontsmissing\": [ "_ostr; bool bFirst = true;
core.git: sw/source
sw/source/core/doc/textboxhelper.cxx |2 +- sw/source/core/table/swnewtable.cxx |2 +- sw/source/core/unocore/unotbl.cxx|2 +- 3 files changed, 3 insertions(+), 3 deletions(-) New commits: commit 3f6396291a044274fd3238c797f3aff4a458fa37 Author: Julien Nabet AuthorDate: Sun Dec 31 12:29:03 2023 +0100 Commit: Julien Nabet CommitDate: Mon Jan 1 12:13:25 2024 +0100 Replace "size() != 0 with !empty()" (sw) Change-Id: Iaa94c0b057694429b327cbca847fee06ad74256a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161489 Tested-by: Jenkins Reviewed-by: Julien Nabet diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx index 253e39a29383..4a1dfc6ead43 100644 --- a/sw/source/core/doc/textboxhelper.cxx +++ b/sw/source/core/doc/textboxhelper.cxx @@ -1686,7 +1686,7 @@ SwTextBoxNode::SwTextBoxNode(SwFrameFormat* pOwnerShape) SwTextBoxNode::~SwTextBoxNode() { -if (m_pTextBoxes.size() != 0) +if (!m_pTextBoxes.empty()) { SAL_WARN("sw.core", "SwTextBoxNode::~SwTextBoxNode(): Text-Box-Vector still not empty!"); assert(false); diff --git a/sw/source/core/table/swnewtable.cxx b/sw/source/core/table/swnewtable.cxx index 3cc2e3670711..1a21a9e0354b 100644 --- a/sw/source/core/table/swnewtable.cxx +++ b/sw/source/core/table/swnewtable.cxx @@ -2383,7 +2383,7 @@ bool SwTable::CanConvertSubtables() const { return false; // no formulas in fields yet } -if (pDoc->GetAttrPool().GetItemSurrogates(RES_BOXATR_FORMULA).size() != 0) +if (!pDoc->GetAttrPool().GetItemSurrogates(RES_BOXATR_FORMULA).empty()) { return false; // no table box formulas yet } diff --git a/sw/source/core/unocore/unotbl.cxx b/sw/source/core/unocore/unotbl.cxx index eb683b0b1c69..70c1849df7e9 100644 --- a/sw/source/core/unocore/unotbl.cxx +++ b/sw/source/core/unocore/unotbl.cxx @@ -503,7 +503,7 @@ static const SwTableBox* lcl_FindCornerTableBox(const SwTableLines& rTableLines, const SwTableLine* pLine(i_bTopLeft ? pLines->front() : pLines->back()); assert(pLine); const SwTableBoxes& rBoxes(pLine->GetTabBoxes()); -assert(rBoxes.size() != 0); +assert(!rBoxes.empty()); const SwTableBox* pBox = i_bTopLeft ? rBoxes.front() : rBoxes.back(); assert(pBox); if (pBox->GetSttNd())
core.git: chart2/source
chart2/source/view/main/VLegend.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 77585439438d9ccfd77534341178a948a575edee Author: Julien Nabet AuthorDate: Sun Dec 31 12:08:04 2023 +0100 Commit: Julien Nabet CommitDate: Mon Jan 1 12:10:15 2024 +0100 Replace "size() == 0 with empty()" (chart2) Change-Id: Ia1e082d6cf6db2a3df2b5dd5fc8f13caee529fdd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161465 Tested-by: Jenkins Reviewed-by: Julien Nabet diff --git a/chart2/source/view/main/VLegend.cxx b/chart2/source/view/main/VLegend.cxx index 8a4935e9b058..72c0165a69f5 100644 --- a/chart2/source/view/main/VLegend.cxx +++ b/chart2/source/view/main/VLegend.cxx @@ -449,7 +449,7 @@ awt::Size lcl_placeLegendEntries( else --nNewLen; } -if (aTextShapes.size() == 0) +if (aTextShapes.empty()) { DrawModelWrapper::removeShape(rEntries[0].xSymbol); rEntries.pop_back();
core.git: chart2/source
chart2/source/tools/NameContainer.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit a058fa6eb87dcc4a01dac14674e15ff3ba611ced Author: Luv Sharma AuthorDate: Sun Dec 31 17:04:17 2023 +0530 Commit: Ilmari Lauhakangas CommitDate: Mon Jan 1 12:05:25 2024 +0100 tdf#158237 chart2: use c++20 contains() instead of find() and end() Change-Id: I065f672de257e8a16a4cb9d41ff6334e5fea1823 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161492 Tested-by: Ilmari Lauhakangas Reviewed-by: Ilmari Lauhakangas diff --git a/chart2/source/tools/NameContainer.cxx b/chart2/source/tools/NameContainer.cxx index 23e0a2821d1c..1cc79a8eaec0 100644 --- a/chart2/source/tools/NameContainer.cxx +++ b/chart2/source/tools/NameContainer.cxx @@ -65,7 +65,7 @@ Sequence< OUString > SAL_CALL NameContainer::getSupportedServiceNames() // XNameContainer void SAL_CALL NameContainer::insertByName( const OUString& rName, const Any& rElement ) { -if( m_aMap.find( rName ) != m_aMap.end() ) +if( m_aMap.contains( rName )) throw container::ElementExistException(); m_aMap.emplace( rName, rElement ); }
core.git: vcl/inc
vcl/inc/unx/x11/x11sys.hxx |5 + 1 file changed, 1 insertion(+), 4 deletions(-) New commits: commit 8eadc80ac0c5e194a99ba57a2bf9d29e1465bdf8 Author: Luv Sharma AuthorDate: Mon Jan 1 02:58:43 2024 +0530 Commit: Ilmari Lauhakangas CommitDate: Mon Jan 1 12:03:50 2024 +0100 tdf#143148 Use pragma once instead of include guards in vcl Change-Id: Icd42bbdaedd7f9ed7bc63c14ed0f4ec43c9a37c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161508 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas Reviewed-by: Ilmari Lauhakangas diff --git a/vcl/inc/unx/x11/x11sys.hxx b/vcl/inc/unx/x11/x11sys.hxx index b48cf26e6a75..37c5b0b7d1c5 100644 --- a/vcl/inc/unx/x11/x11sys.hxx +++ b/vcl/inc/unx/x11/x11sys.hxx @@ -17,8 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifndef INCLUDED_VCL_INC_UNX_X11_X11SYS_HXX -#define INCLUDED_VCL_INC_UNX_X11_X11SYS_HXX +#pragma once #include @@ -37,6 +36,4 @@ public: const std::vector< OUString >& rButtons ) override; }; -#endif // INCLUDED_VCL_INC_UNX_X11_X11SYS_HXX - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
core.git: helpcontent2
helpcontent2 |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit d978e2fe9e7e259bf724178d2d4fe4f9cda18e5f Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Mon Jan 1 19:25:20 2024 +0900 Commit: Gerrit Code Review CommitDate: Mon Jan 1 11:25:20 2024 +0100 Update git submodules * Update helpcontent2 from branch 'master' to a7fc08834190211307266e4af41d53cdb54e3cd4 - Fix broken link to "Text Box" This issue affects versions 24.2 and later. Change-Id: Icd61deadf03a83c34935e6c05a3554785f649abe Reviewed-on: https://gerrit.libreoffice.org/c/help/+/161461 Tested-by: Jenkins Tested-by: Taichi Haradaguchi <20001...@ymail.ne.jp> Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> diff --git a/helpcontent2 b/helpcontent2 index 58b85d5d8886..a7fc08834190 16 --- a/helpcontent2 +++ b/helpcontent2 @@ -1 +1 @@ -Subproject commit 58b85d5d8886f116064102e38d98e494643fb55d +Subproject commit a7fc08834190211307266e4af41d53cdb54e3cd4
help.git: source/text
source/text/simpress/main0104.xhp |4 +--- source/text/swriter/main0104.xhp |6 +- 2 files changed, 2 insertions(+), 8 deletions(-) New commits: commit a7fc08834190211307266e4af41d53cdb54e3cd4 Author: Taichi Haradaguchi <20001...@ymail.ne.jp> AuthorDate: Sun Dec 31 15:55:13 2023 +0900 Commit: Taichi Haradaguchi <20001...@ymail.ne.jp> CommitDate: Mon Jan 1 11:25:19 2024 +0100 Fix broken link to "Text Box" This issue affects versions 24.2 and later. Change-Id: Icd61deadf03a83c34935e6c05a3554785f649abe Reviewed-on: https://gerrit.libreoffice.org/c/help/+/161461 Tested-by: Jenkins Tested-by: Taichi Haradaguchi <20001...@ymail.ne.jp> Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp> diff --git a/source/text/simpress/main0104.xhp b/source/text/simpress/main0104.xhp index 855cda2857..1f4a5eeb25 100644 --- a/source/text/simpress/main0104.xhp +++ b/source/text/simpress/main0104.xhp @@ -44,9 +44,7 @@ - - - + Floating Frame diff --git a/source/text/swriter/main0104.xhp b/source/text/swriter/main0104.xhp index 4a0ebc8627..cc856e3c4b 100644 --- a/source/text/swriter/main0104.xhp +++ b/source/text/swriter/main0104.xhp @@ -34,20 +34,16 @@ Page Break Inserts a manual page break at the current cursor position and places the cursor at the beginning of the next page. - - - Section Text from File -Textbox - +
core.git: vcl/skia
vcl/skia/SkiaHelper.cxx |3 +++ 1 file changed, 3 insertions(+) New commits: commit 3c8af232a4981150b1c9396ca947fbfcef5a222e Author: Mike Kaganski AuthorDate: Mon Jan 1 15:17:00 2024 +0600 Commit: Mike Kaganski CommitDate: Mon Jan 1 11:22:00 2024 +0100 Missing includes Obviously included indirectly, but were confusing VS IDE Change-Id: I68e0d9ca96a6fcef1bf8c8f12bfecb543690a75a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161514 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/vcl/skia/SkiaHelper.cxx b/vcl/skia/SkiaHelper.cxx index 5d4942efce1b..d59b865a0751 100644 --- a/vcl/skia/SkiaHelper.cxx +++ b/vcl/skia/SkiaHelper.cxx @@ -9,6 +9,8 @@ #include +#include + #include #include @@ -34,6 +36,7 @@ bool isAlphaMaskBlendingEnabled() { return false; } #include #include #include +#include #include #include #include
core.git: Branch 'libreoffice-7-6' - vcl/skia
vcl/skia/gdiimpl.cxx | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) New commits: commit c1a44c635f1203f60fd9771b94bffec210922305 Author: Mike Kaganski AuthorDate: Sun Dec 31 17:04:36 2023 +0600 Commit: Noel Grandin CommitDate: Mon Jan 1 10:26:02 2024 +0100 Avoid unwanted creation of mSurface Commit 2d1a0d86d2d0c00fcfee61c39f2221e786e4245b (Related: tdf#152703 Prevent possible hang when live resizing a window, 2023-01-06) had added a call to checkSurface in SkiaSalGraphicsImpl::performFlush, to detect resize. This created a regression, seen e.g. in JunitTest_framework_complex, where 'assert(!mSurface)' in SkiaSalGraphicsImpl dtor fails now on Windows with Skia/Vulkan: vcllo.dll!SkiaSalGraphicsImpl::~SkiaSalGraphicsImpl() Line 296 C++ vclplug_winlo.dll!WinSkiaSalGraphicsImpl::~WinSkiaSalGraphicsImpl()C++ vclplug_winlo.dll!WinSkiaSalGraphicsImpl::`scalar deleting destructor'(unsigned int) C++ vclplug_winlo.dll!std::default_delete::operator()(SalGraphicsImpl * _Ptr) Line 3170 C++ vclplug_winlo.dll!std::unique_ptr>::~unique_ptr>() Line 3282 C++ vclplug_winlo.dll!WinSalGraphics::~WinSalGraphics() Line 668 C++ vclplug_winlo.dll!WinSalGraphics::`scalar deleting destructor'(unsigned int) C++ vclplug_winlo.dll!WinSalFrame::~WinSalFrame() Line 977 C++ vclplug_winlo.dll!WinSalFrame::`scalar deleting destructor'(unsigned int) C++ vclplug_winlo.dll!SalComWndProc(HWND__ * __formal, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 667 C++ vclplug_winlo.dll!SalComWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 724 C++ user32.dll!7ffaab908241() Unknown user32.dll!7ffaab907efc() Unknown user32.dll!7ffaab91302d() Unknown ntdll.dll!7ffaac2d33b4() Unknown win32u.dll!7ffaa97814d4() Unknown user32.dll!7ffaab911b4f() Unknown user32.dll!7ffaab911a1c() Unknown sal3.dll!osl_waitCondition(void * Condition, const TimeValue * pTimeout) Line 93 C++ vclplug_winlo.dll!osl::Condition::wait(const TimeValue * pTimeout) Line 124C++ vclplug_winlo.dll!SalYieldMutex::doAcquire(unsigned long nLockCount) Line 140 C++ comphelper.dll!comphelper::SolarMutex::acquire(unsigned long nLockCount) Line 87 C++ vcllo.dll!SalInstance::AcquireYieldMutex(unsigned long nCount) Line 147 C++ vcllo.dll!Application::AcquireSolarMutex(unsigned long nCount) Line 510 C++ vclplug_winlo.dll!SolarMutexReleaser::~SolarMutexReleaser() Line 1420 C++ vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 586 C++ vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 390 C++ vcllo.dll!Application::Yield() Line 475C++ vcllo.dll!Application::Execute() Line 368 C++ sofficeapp.dll!desktop::Desktop::Main() Line 1605 C++ vcllo.dll!ImplSVMain() Line 229C++ vcllo.dll!SVMain() Line 262C++ sofficeapp.dll!soffice_main() Line 94 C++ soffice.bin!sal_main() Line 51 C soffice.bin!main(int argc, char * * argv) Line 49 C soffice.bin!invoke_main() Line 79 C++ soffice.bin!__scrt_common_main_seh() Line 288 C++ soffice.bin!__scrt_common_main() Line 331 C++ soffice.bin!mainCRTStartup(void * __formal) Line 17C++ kernel32.dll!7ffaab01257d()Unknown ntdll.dll!7ffaac28aa58() Unknown This is caused by unwanted creation of mSurface in checkSurface, outside of the Init/DeInit pair, called from WinSalGraphics' InitGraphics/DeInitGraphics. Thus an invariant is broken, that only when WinSalFrame initializes its mhLocalDC, its mpImpl is initialized. Deinitialization of mpImpl is thus only called if mhLocalDC is not null. Since flush makes no sense without mSurface, just move the call to checkSurface inside the mSurface check. Hope it doesn't break the fix made in commit 2d1a0d86d2d0c00fcfee61c39f2221e786e4245b. Change-Id: I54442e604ef7c28659b908a7fb1404c9da41b006 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161484 Reviewed-by: Patrick Luby Tested-by: Jenkins (cherry picked from commit 78ff693225e015e9f3153e26fbd4dca5fa1f0095) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161414 Reviewed-by: Noel Grandin diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 2ae3b8d85e23..a6e030924ab6 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -393,13 +393,13 @@ void SkiaSalGraphicsImpl::performFlush() { SkiaZone zone; flushDrawing(); -// Related: tdf#152703 Eliminate flickering during live resizing of a window -// When in live resize, the SkiaSalGraphicsImpl class does not detect that -// the window size has changed until
core.git: ucb/source
ucb/source/ucp/webdav-curl/CurlUri.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit ff07799606ff0d2405225d818c4fbbaf30c4a10f Author: Julien Nabet AuthorDate: Sat Dec 30 18:01:10 2023 +0100 Commit: Noel Grandin CommitDate: Mon Jan 1 10:25:38 2024 +0100 cid#1545411 Resource leak Change-Id: I3ecb388a69c261a74b6d1a7b7d467d1a32956916 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161449 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/ucb/source/ucp/webdav-curl/CurlUri.cxx b/ucb/source/ucp/webdav-curl/CurlUri.cxx index 3ee218d5aca3..1b478cce8a45 100644 --- a/ucb/source/ucp/webdav-curl/CurlUri.cxx +++ b/ucb/source/ucp/webdav-curl/CurlUri.cxx @@ -290,7 +290,7 @@ CurlUri CurlUri::CloneWithRelativeRefPathAbsolute(std::u16string_view rRelativeR SAL_WARN("ucb.ucp.webdav.curl", "curl_url_set failed: " << uc); throw DAVException(DAVException::DAV_INVALID_ARG); } -return CurlUri(*pUrl.release()); +return CurlUri(*pUrl); } OUString EncodeSegment(OUString const& rSegment)
core.git: sw/source
sw/source/uibase/uiview/view2.cxx |8 1 file changed, 4 insertions(+), 4 deletions(-) New commits: commit ef5aadffaefe47870f1e9472d7cdb8d37526c104 Author: Jamie Douglass AuthorDate: Mon Jan 1 11:30:39 2024 +1100 Commit: Mike Kaganski CommitDate: Mon Jan 1 10:15:24 2024 +0100 tdf#142494 Word count set to 0 when no words are selected. The application now correctly recognises selections without words. When a selection is made that does not contain a word, the word count is set to zero, and the text "Selected: 0 words, x chars" now appears Change-Id: Icfa0a6fe2bf6315485102d6ad9b3cea5b6d8d139 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161509 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx index cc6faf78a3c5..2c7a07449715 100644 --- a/sw/source/uibase/uiview/view2.cxx +++ b/sw/source/uibase/uiview/view2.cxx @@ -1876,11 +1876,11 @@ void SwView::StateStatusLine(SfxItemSet &rSet) rShell.CountWords(selectionStats); documentStats = rShell.GetDoc()->getIDocumentStatistics().GetUpdatedDocStat( true /* complete-async */, false /* don't update fields */ ); -sal_uLong nWord = selectionStats.nWord ? selectionStats.nWord : documentStats.nWord; +sal_uLong nWord = selectionStats.nChar ? selectionStats.nWord : documentStats.nWord; sal_uLong nChar = selectionStats.nChar ? selectionStats.nChar : documentStats.nChar; -TranslateId pResId = selectionStats.nWord ? STR_WORDCOUNT : STR_WORDCOUNT_NO_SELECTION; -TranslateNId pWordResId = selectionStats.nWord ? STR_WORDCOUNT_WORDARG : STR_WORDCOUNT_WORDARG_NO_SELECTION; -TranslateNId pCharResId = selectionStats.nWord ? STR_WORDCOUNT_CHARARG : STR_WORDCOUNT_CHARARG_NO_SELECTION; +TranslateId pResId = selectionStats.nChar ? STR_WORDCOUNT : STR_WORDCOUNT_NO_SELECTION; +TranslateNId pWordResId = selectionStats.nChar ? STR_WORDCOUNT_WORDARG : STR_WORDCOUNT_WORDARG_NO_SELECTION; +TranslateNId pCharResId = selectionStats.nChar ? STR_WORDCOUNT_CHARARG : STR_WORDCOUNT_CHARARG_NO_SELECTION; const LocaleDataWrapper& rLocaleData = Application::GetSettings().GetUILocaleDataWrapper(); OUString aWordArg = SwResId(pWordResId, nWord).replaceAll("$1", rLocaleData.getNum(nWord, 0));
Jamie Douglass License Statement
All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license.
core.git: editeng/inc editeng/source
editeng/inc/editdoc.hxx |7 +-- editeng/source/editeng/editdoc.cxx | 18 +- editeng/source/editeng/impedit2.cxx |6 +++--- editeng/source/editeng/impedit3.cxx |2 +- 4 files changed, 18 insertions(+), 15 deletions(-) New commits: commit 417d1d56b39453b5ae8396a8286d8291061f049b Author: Tomaž Vajngerl AuthorDate: Sat Dec 30 11:25:34 2023 +0900 Commit: Tomaž Vajngerl CommitDate: Mon Jan 1 09:21:14 2024 +0100 editeng: make it clear EditDoc is responsible for ContentNodes Change-Id: I38b9b1a5ba48d73438865f5a040f2483f6814c40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161479 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/editeng/inc/editdoc.hxx b/editeng/inc/editdoc.hxx index 7fc29556957c..e9016989e840 100644 --- a/editeng/inc/editdoc.hxx +++ b/editeng/inc/editdoc.hxx @@ -100,7 +100,10 @@ public: }; - +/** Edit document + * + * Holder, responsible for the content nodes and the manipulation of those. + */ class EditDoc { private: @@ -204,7 +207,7 @@ public: sal_Int32 Count() const; const ContentNode* operator[](sal_Int32 nPos) const; ContentNode* operator[](sal_Int32 nPos); -void Insert(sal_Int32 nPos, ContentNode* p); +void Insert(sal_Int32 nPos, std::unique_ptr p); /// deletes void Remove(sal_Int32 nPos); /// does not delete diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx index 0afcc9cdd81c..c44c0b5a123c 100644 --- a/editeng/source/editeng/editdoc.cxx +++ b/editeng/source/editeng/editdoc.cxx @@ -943,14 +943,14 @@ ContentNode* EditDoc::operator[](sal_Int32 nPos) return GetObject(nPos); } -void EditDoc::Insert(sal_Int32 nPos, ContentNode* p) +void EditDoc::Insert(sal_Int32 nPos, std::unique_ptr pNode) { if (nPos < 0 || nPos == SAL_MAX_INT32) { SAL_WARN( "editeng", "EditDoc::Insert - overflow pos " << nPos); return; } -maContents.insert(maContents.begin()+nPos, std::unique_ptr(p)); +maContents.insert(maContents.begin()+nPos, std::move(pNode)); } void EditDoc::Remove(sal_Int32 nPos) @@ -1057,8 +1057,8 @@ EditPaM EditDoc::Clear() { maContents.clear(); -ContentNode* pNode = new ContentNode( GetItemPool() ); -Insert(0, pNode); +ContentNode* pNode = new ContentNode(GetItemPool()); +Insert(0, std::unique_ptr(pNode)); CreateDefFont(false); @@ -1100,8 +1100,8 @@ EditPaM EditDoc::RemoveText() maContents.clear(); -ContentNode* pNode = new ContentNode( GetItemPool() ); -Insert(0, pNode); +ContentNode* pNode = new ContentNode(GetItemPool()); +Insert(0, std::unique_ptr(pNode)); pNode->SetStyleSheet(pPrevStyle, false); pNode->GetContentAttribs().GetItems().Set( aPrevSet ); @@ -1109,7 +1109,7 @@ EditPaM EditDoc::RemoveText() SetModified(true); -return EditPaM( pNode, 0 ); +return EditPaM(pNode, 0); } EditPaM EditDoc::InsertText( EditPaM aPaM, std::u16string_view rStr ) @@ -1143,7 +1143,7 @@ EditPaM EditDoc::InsertParaBreak( EditPaM aPaM, bool bKeepEndingAttribs ) aContentAttribs.GetItems().Put( SfxBoolItem( EE_PARA_BULLETSTATE, true) ); // ContentNode constructor copies also the paragraph attributes -ContentNode* pNode = new ContentNode( aStr, std::move(aContentAttribs) ); +ContentNode* pNode = new ContentNode(aStr, std::move(aContentAttribs)); // Copy the Default Font pNode->GetCharAttribs().GetDefFont() = aPaM.GetNode()->GetCharAttribs().GetDefFont(); @@ -1161,7 +1161,7 @@ EditPaM EditDoc::InsertParaBreak( EditPaM aPaM, bool bKeepEndingAttribs ) // Character attributes may need to be copied or trimmed: pNode->CopyAndCutAttribs( aPaM.GetNode(), GetItemPool(), bKeepEndingAttribs ); -Insert(nPos+1, pNode); +Insert(nPos+1, std::unique_ptr(pNode)); SetModified(true); diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index d3a62cb2b9de..b7a1aca97e2f 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -2218,8 +2218,8 @@ EditSelection ImpEditEngine::ImpMoveParagraphs( Range aOldPositions, sal_Int32 n aSelection.Max().SetNode( pTmpPortion->GetNode() ); aSelection.Max().SetIndex( pTmpPortion->GetNode()->Len() ); -ContentNode* pN = pTmpPortion->GetNode(); -maEditDoc.Insert(nRealNewPos+i, pN); +ContentNode* pNode = pTmpPortion->GetNode(); +maEditDoc.Insert(nRealNewPos+i, std::unique_ptr(pNode)); GetParaPortions().Insert(nRealNewPos+i, std::move(pTmpPortion)); ++i; @@ -2998,7 +2998,7 @@ EditPaM ImpEditEngine::ImpFastInsertParagraph( sal_Int32 nPara ) if ( GetStatus().DoOnlineSpelling() ) pNode->CreateWrongList(); -maEditDoc.Insert(nPara, pNode); +maEditDoc.Insert(nPara, std::unique_ptr(pNode)); GetParaPortions().Insert(nPara, std::make_unique( pNode )); if
core.git: 2 commits - editeng/inc editeng/source
editeng/inc/ParagraphPortion.hxx | 26 +++--- editeng/inc/ParagraphPortionList.hxx |5 +- editeng/inc/editdoc.hxx | 60 ++-- editeng/source/editeng/editdoc.cxx | 64 +-- 4 files changed, 75 insertions(+), 80 deletions(-) New commits: commit 252c0316c3be09079e08afc9fa512ca5a60ea957 Author: Tomaž Vajngerl AuthorDate: Fri Dec 29 21:55:54 2023 +0900 Commit: Tomaž Vajngerl CommitDate: Mon Jan 1 09:21:06 2024 +0100 editeng: prefix members of EditDoc Change-Id: I403db061b6e3e184e97c5ec3ce5746d2fdff0749 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161478 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/editeng/inc/editdoc.hxx b/editeng/inc/editdoc.hxx index 738c0b2d5772..7fc29556957c 100644 --- a/editeng/inc/editdoc.hxx +++ b/editeng/inc/editdoc.hxx @@ -104,20 +104,20 @@ public: class EditDoc { private: -mutable sal_Int32 nLastCache; -std::vector > maContents; +mutable sal_Int32 mnLastCache; +std::vector> maContents; -rtl::Reference pItemPool; -Link aModifyHdl; +rtl::Reference mpItemPool; +Link maModifyHdl; SvxFont maDefFont; //faster than ever from the pool!! -sal_uInt16 nDefTab; -boolbIsVertical:1; +sal_uInt16 mnDefTab; +boolmbIsVertical:1; TextRotationmnRotation; -boolbIsFixedCellHeight:1; +boolmbIsFixedCellHeight:1; -boolbModified:1; -boolbDisableAttributeExpanding:1; +boolmbModified:1; +boolmbDisableAttributeExpanding:1; public: EditDoc( SfxItemPool* pItemPool ); @@ -126,28 +126,44 @@ public: voiddumpAsXml(xmlTextWriterPtr pWriter) const; voidClearSpellErrors(); -boolIsModified() const { return bModified; } +boolIsModified() const { return mbModified; } voidSetModified( bool b ); -voidDisableAttributeExpanding() { bDisableAttributeExpanding = true; } +voidDisableAttributeExpanding() { mbDisableAttributeExpanding = true; } -voidSetModifyHdl( const Link& rLink ) { aModifyHdl = rLink; } +voidSetModifyHdl(const Link& rLink) +{ +maModifyHdl = rLink; +} voidCreateDefFont( bool bUseStyles ); const SvxFont& GetDefFont() const { return maDefFont; } -voidSetDefTab( sal_uInt16 nTab ){ nDefTab = nTab ? nTab : DEFTAB; } -sal_uInt16 GetDefTab() const { return nDefTab; } +voidSetDefTab(sal_uInt16 nTab) +{ +mnDefTab = nTab ? nTab : DEFTAB; +} -voidSetVertical( bool bVertical ) { bIsVertical = bVertical; } +sal_uInt16 GetDefTab() const +{ +return mnDefTab; +} + +voidSetVertical( bool bVertical ) { mbIsVertical = bVertical; } boolIsEffectivelyVertical() const; boolIsTopToBottom() const; boolGetVertical() const; voidSetRotation( TextRotation nRotation ) { mnRotation = nRotation; } TextRotationGetRotation() const { return mnRotation; } -voidSetFixedCellHeight( bool bUseFixedCellHeight ) { bIsFixedCellHeight = bUseFixedCellHeight; } -boolIsFixedCellHeight() const { return bIsFixedCellHeight; } +voidSetFixedCellHeight( bool bUseFixedCellHeight ) +{ +mbIsFixedCellHeight = bUseFixedCellHeight; +} +boolIsFixedCellHeight() const +{ +return mbIsFixedCellHeight; +} EditPaM Clear(); EditPaM RemoveText(); @@ -166,8 +182,14 @@ public: EditPaM GetStartPaM() const; EditPaM GetEndPaM() const; -SfxItemPool&GetItemPool() { return *pItemPool; } -const SfxItemPool& GetItemPool() const { return *pItemPool; } +SfxItemPool&GetItemPool() +{ +return *mpItemPool; +} +const SfxItemPool& GetItemPool() const +{ +return *mpItemPool; +} voidInsertAttrib( const SfxPoolItem& rItem, ContentNode* pNode, sal_Int32 nStart, sal_Int32 nEnd ); voidInsertAttrib( ContentNode* pNode, sal_Int32 nStart, sal_Int32 nEnd, const SfxPoolItem& rPoolItem ); diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx index fdfd74edb09a..0afcc9cdd81c 100644 --- a/editeng/source/editeng/editdoc.cxx +++ b/editeng/source/editeng/editdoc.cxx @@ -790,14 +790,14 @@ void EditSelection::Adjust( const EditDoc& rNodes ) } EditDoc::EditDoc( SfxItemPool* pPool ) : -nLastCache(0), -pItemPool(pPool ? pPool : new EditEngineItemPool()), -