New Defects reported by Coverity Scan for LibreOffice
scan-admin at coverity.com
scan-admin at coverity.com
Sun Jan 28 17:09:02 UTC 2024
Hi,
Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan.
16 new defect(s) introduced to LibreOffice found with Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 16 of 16 defect(s)
** CID 1588088: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/drawfunc/drawsh.cxx: 565 in ScDrawShell::ExecuteTextAttrDlg(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588088: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/drawfunc/drawsh.cxx: 565 in ScDrawShell::ExecuteTextAttrDlg(SfxRequest &)()
559 weld::Window* pWin = rViewData.GetDialogParent();
560 VclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateTextTabDialog(pWin, &aNewAttr, pView));
561
562 auto xRequest = std::make_shared<SfxRequest>(rReq);
563 rReq.Ignore(); // the 'old' request is not relevant any more
564 pDlg->StartExecuteAsync(
>>> CID 1588088: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
565 [pDlg, xRequest, bHasMarked, pView] (sal_Int32 nResult)->void
566 {
567 if ( RET_OK == nResult )
568 {
569 if ( bHasMarked )
570 pView->SetAttributes( *pDlg->GetOutputItemSet() );
** CID 1588087: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshf.cxx: 695 in ScTabViewShell::ExecuteMoveTable(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588087: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshf.cxx: 695 in ScTabViewShell::ExecuteMoveTable(SfxRequest &)()
689
690 // We support direct renaming of sheet only when one sheet
691 // is selected.
692 pDlg->EnableRenameTable(nTabSelCount == 1);
693
694 std::shared_ptr<SfxRequest> pReq = std::make_shared<SfxRequest>(rReq);
>>> CID 1588087: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "pReq" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
695 pDlg->StartExecuteAsync([this, pDlg, pReq,
696 nContextMenuTab](sal_Int32 nResult) {
697
698 OUString aTableName;
699 sal_uInt16 nDocument = 0;
700 SCTAB nTargetIndex = -1;
** CID 1588086: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/svx/source/dialog/grfflt.cxx: 266 in handleGraphicFilterDialog(const VclPtr<AbstractGraphicFilterDialog> &, const Graphic &, std::function<void (GraphicObject)>)()
________________________________________________________________________________________________________
*** CID 1588086: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/svx/source/dialog/grfflt.cxx: 266 in handleGraphicFilterDialog(const VclPtr<AbstractGraphicFilterDialog> &, const Graphic &, std::function<void (GraphicObject)>)()
260
261 static void handleGraphicFilterDialog(const VclPtr<AbstractGraphicFilterDialog>& pDlg,
262 const Graphic& aInputGraphic,
263 std::function<void(GraphicObject)> f)
264 {
265 pDlg->StartExecuteAsync(
>>> CID 1588086: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "f" is copied in call to copy constructor "std::function<void (GraphicObject)>", when it could be moved instead.
266 [pDlg, aInputGraphic, f] (sal_Int32 nResult)->void
267 {
268 if (nResult == RET_OK)
269 {
270 Graphic aOutputGraphic = pDlg->GetFilteredGraphic( aInputGraphic, 1.0, 1.0 );
271 f(aOutputGraphic);
** CID 1588085: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshf.cxx: 818 in ScTabViewShell::ExecuteMoveTable(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588085: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshf.cxx: 818 in ScTabViewShell::ExecuteMoveTable(SfxRequest &)()
812 // is selected.
813 pDlg->EnableRenameTable(nTabSelCount == 1);
814
815 auto xRequest = std::make_shared<SfxRequest>(rReq);
816 rReq.Ignore(); // the 'old' request is not relevant any more
817 pDlg->StartExecuteAsync(
>>> CID 1588085: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
818 [this, pDlg, xRequest] (sal_Int32 nResult)->void
819 {
820 if (nResult == RET_OK)
821 {
822 DoMoveTableFromDialog(*xRequest, pDlg);
823 }
** CID 1588084: (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshb.cxx: 528 in ScTabViewShell::ExecDrawIns(SfxRequest &)()
/sc/source/ui/view/tabvwshb.cxx: 410 in ScTabViewShell::ExecDrawIns(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588084: (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshb.cxx: 528 in ScTabViewShell::ExecDrawIns(SfxRequest &)()
522 }
523
524 VclPtr<SfxAbstractLinksDialog> pDlg(pFact->CreateLinksDialog(pWin->GetFrameWeld(), rDoc.GetLinkManager()));
525 auto xRequest = std::make_shared<SfxRequest>(rReq);
526 rReq.Ignore(); // the 'old' request is not relevant any more
527 pDlg->StartExecuteAsync(
>>> CID 1588084: (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
528 [this, pDlg, xRequest] (sal_Int32 /*nResult*/)->void
529 {
530 GetViewFrame().GetBindings().Invalidate( SID_LINKS );
531 SfxGetpApp()->Broadcast( SfxHint( SfxHintId::ScAreaLinksChanged ) ); // Navigator
532 pDlg->disposeOnce();
533 xRequest->Done();
/sc/source/ui/view/tabvwshb.cxx: 410 in ScTabViewShell::ExecDrawIns(SfxRequest &)()
404 VclAbstractDialogFactory* pFact = VclAbstractDialogFactory::Create();
405 VclPtr<AbstractSignatureLineDialog> pDialog(pFact->CreateSignatureLineDialog(
406 pWin->GetFrameWeld(), xModel, rReq.GetSlot() == SID_EDIT_SIGNATURELINE));
407 auto xRequest = std::make_shared<SfxRequest>(rReq);
408 rReq.Ignore(); // the 'old' request is not relevant any more
409 pDialog->StartExecuteAsync(
>>> CID 1588084: (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
410 [pDialog, xRequest] (sal_Int32 nResult)->void
411 {
412 if (nResult == RET_OK)
413 pDialog->Apply();
414 pDialog->disposeOnce();
415 xRequest->Done();
** CID 1588083: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/drawfunc/drtxtob.cxx: 894 in ScDrawTextObjectBar::ExecuteAttr(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588083: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/drawfunc/drtxtob.cxx: 894 in ScDrawTextObjectBar::ExecuteAttr(SfxRequest &)()
888 {
889 SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
890 VclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateTextTabDialog(mrViewData.GetDialogParent(), &aEditAttr, pView));
891 auto xRequest = std::make_shared<SfxRequest>(rReq);
892 rReq.Ignore(); // the 'old' request is not relevant any more
893 pDlg->StartExecuteAsync(
>>> CID 1588083: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
894 [this, pDlg, pArgs, aNewAttr, bSet, xRequest, pView] (sal_Int32 nResult) mutable -> void
895 {
896 if ( RET_OK == nResult )
897 aNewAttr.Put( *pDlg->GetOutputItemSet() );
898
899 pDlg->disposeOnce();
** CID 1588082: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/drwtxtsh.cxx: 448 in SwDrawTextShell::ExecDraw(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588082: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/drwtxtsh.cxx: 448 in SwDrawTextShell::ExecDraw(SfxRequest &)()
442 VclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateTextTabDialog(
443 GetView().GetFrameWeld(),
444 &aNewAttr, m_pSdrView ));
445 auto xRequest = std::make_shared<SfxRequest>(rReq);
446 rReq.Ignore(); // the 'old' request is not relevant any more
447 pDlg->StartExecuteAsync(
>>> CID 1588082: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
448 [this, pDlg, xRequest] (sal_Int32 nResult)->void
449 {
450 if (nResult == RET_OK)
451 {
452 if (m_pSdrView->AreObjectsMarked())
453 {
** CID 1588081: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/func/futxtatt.cxx: 67 in sd::FuTextAttrDlg::DoExecute(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588081: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/func/futxtatt.cxx: 67 in sd::FuTextAttrDlg::DoExecute(SfxRequest &)()
61 VclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateTextTabDialog(rReq.GetFrameWeld(), &aNewAttr, mpView));
62
63 auto xRequest = std::make_shared<SfxRequest>(rReq);
64 rReq.Ignore(); // the 'old' request is not relevant any more
65 auto pView = mpView; // copy vars we need, FuTextAttrDlg object will be gone by the time the dialog completes
66 pDlg->StartExecuteAsync(
>>> CID 1588081: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
67 [pDlg, xRequest, pView] (sal_Int32 nResult)->void
68 {
69 if (nResult == RET_OK)
70 {
71 xRequest->Done( *pDlg->GetOutputItemSet() );
72 pView->SetAttributes( *xRequest->GetArgs() );
** CID 1588080: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/table/tableobjectbar.cxx: 135 in sd::ui::table::TableObjectBar::Execute(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588080: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sd/source/ui/table/tableobjectbar.cxx: 135 in sd::ui::table::TableObjectBar::Execute(SfxRequest &)()
129 SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
130 vcl::Window* pWin = mpView->GetViewShell()->GetParentWindow();
131 VclPtr<SvxAbstractInsRowColDlg> pDlg( pFact->CreateSvxInsRowColDlg(pWin ? pWin->GetFrameWeld() : nullptr,
132 nSlotId == SID_TABLE_INSERT_COL_DLG,
133 SD_MOD()->GetSlotPool()->GetSlot(nSlotId)->GetCommand()) );
134 pDlg->StartExecuteAsync(
>>> CID 1588080: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
135 [pDlg, xRequest, nSlotId, xController, pBindings] (sal_Int32 nResult) mutable ->void
136 {
137 if (nResult == RET_OK)
138 {
139 sal_uInt16 nCount = pDlg->getInsertCount();
140 bool bInsertAfter = !pDlg->isInsertBefore();
** CID 1588079: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/uiview/viewdlg2.cxx: 73 in SwView::ExecDlgExt(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588079: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/uiview/viewdlg2.cxx: 73 in SwView::ExecDlgExt(SfxRequest &)()
67 const uno::Reference<frame::XModel> xModel(GetCurrentDocument());
68 VclPtr<AbstractSignatureLineDialog> pDialog(pFact->CreateSignatureLineDialog(
69 GetFrameWeld(), xModel, rReq.GetSlot() == SID_EDIT_SIGNATURELINE));
70 auto xRequest = std::make_shared<SfxRequest>(rReq);
71 rReq.Ignore(); // the 'old' request is not relevant any more
72 pDialog->StartExecuteAsync(
>>> CID 1588079: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
73 [pDialog, xRequest] (sal_Int32 nResult)->void
74 {
75 if (nResult == RET_OK)
76 pDialog->Apply();
77 pDialog->disposeOnce();
78 xRequest->Done();
** CID 1588078: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/drawdlg.cxx: 68 in SwDrawShell::ExecDrawDlg(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588078: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/drawdlg.cxx: 68 in SwDrawShell::ExecDrawDlg(SfxRequest &)()
62 {
63 SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
64 VclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateTextTabDialog(rReq.GetFrameWeld(), &aNewAttr, pView));
65 auto xRequest = std::make_shared<SfxRequest>(rReq);
66 rReq.Ignore(); // the 'old' request is not relevant any more
67 pDlg->StartExecuteAsync(
>>> CID 1588078: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
68 [pDlg, xRequest, pView, pSh] (sal_Int32 nResult)->void
69 {
70 if (nResult == RET_OK)
71 {
72 if (pView->AreObjectsMarked())
73 {
** CID 1588077: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/tabsh.cxx: 999 in SwTableShell::Execute(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588077: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/tabsh.cxx: 999 in SwTableShell::Execute(SfxRequest &)()
993 auto xRequest = std::make_shared<SfxRequest>(rReq);
994 rReq.Ignore(); // the 'old' request is not relevant any more
995 SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
996 VclPtr<SvxAbstractInsRowColDlg> pDlg(pFact->CreateSvxInsRowColDlg(GetView().GetFrameWeld(),
997 nSlot == FN_TABLE_INSERT_COL_DLG, pSlot->GetCommand()));
998 pDlg->StartExecuteAsync(
>>> CID 1588077: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
999 [this, pDlg, xRequest, nSlot] (sal_Int32 nResult)->void
1000 {
1001 if (nResult == RET_OK)
1002 {
1003 const TypedWhichId<SfxUInt16Item> nDispatchSlot = (nSlot == FN_TABLE_INSERT_COL_DLG)
1004 ? FN_TABLE_INSERT_COL_AFTER : FN_TABLE_INSERT_ROW_AFTER;
** CID 1588076: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshf.cxx: 894 in ScTabViewShell::ExecuteInsertTable(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588076: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/tabvwshf.cxx: 894 in ScTabViewShell::ExecuteInsertTable(SfxRequest &)()
888 auto xRequest = std::make_shared<SfxRequest>(rReq);
889 rReq.Ignore(); // the 'old' request is not relevant any more
890 ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
891 VclPtr<AbstractScInsertTableDlg> pDlg(pFact->CreateScInsertTableDlg(GetFrameWeld(), rViewData,
892 nTabSelCount, nSlot == FID_INS_TABLE_EXT));
893 pDlg->StartExecuteAsync(
>>> CID 1588076: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
894 [this, pDlg, xRequest] (sal_Int32 nResult)->void
895 {
896 if (nResult == RET_OK)
897 DoInsertTableFromDialog(*xRequest, pDlg);
898 pDlg->disposeOnce();
899 }
** CID 1588075: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/ui/dialog/macassgn.cxx: 116 in SwMacroAssignDlg::INetFormatDlg(weld::Window *, SwWrtShell &, const SvxMacroItem &, std::function<void (const SvxMacroItem &)>)()
________________________________________________________________________________________________________
*** CID 1588075: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/ui/dialog/macassgn.cxx: 116 in SwMacroAssignDlg::INetFormatDlg(weld::Window *, SwWrtShell &, const SvxMacroItem &, std::function<void (const SvxMacroItem &)>)()
110 SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
111 VclPtr<SfxAbstractDialog> pMacroDlg( pFact->CreateEventConfigDialog(pParent, aSet,
112 rSh.GetView().GetViewFrame().GetFrame().GetFrameInterface() ) );
113 if ( !pMacroDlg )
114 return;
115 pMacroDlg->StartExecuteAsync(
>>> CID 1588075: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "onItemSelectedFunc" is copied in call to copy constructor "std::function<void (SvxMacroItem const &)>", when it could be moved instead.
116 [pMacroDlg, onItemSelectedFunc] (sal_Int32 nResult)->void
117 {
118 if (nResult == RET_OK)
119 {
120 const SfxItemSet* pOutSet = pMacroDlg->GetOutputItemSet();
121 if( const SvxMacroItem* pItem = pOutSet->GetItemIfSet( RES_FRMMACRO, false ))
** CID 1588074: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/svx/source/dialog/grfflt.cxx: 271 in handleGraphicFilterDialog(const VclPtr<AbstractGraphicFilterDialog> &, const Graphic &, std::function<void (GraphicObject)>)::[lambda(int) (instance 1)]::operator ()(int) const()
________________________________________________________________________________________________________
*** CID 1588074: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/svx/source/dialog/grfflt.cxx: 271 in handleGraphicFilterDialog(const VclPtr<AbstractGraphicFilterDialog> &, const Graphic &, std::function<void (GraphicObject)>)::[lambda(int) (instance 1)]::operator ()(int) const()
265 pDlg->StartExecuteAsync(
266 [pDlg, aInputGraphic, f] (sal_Int32 nResult)->void
267 {
268 if (nResult == RET_OK)
269 {
270 Graphic aOutputGraphic = pDlg->GetFilteredGraphic( aInputGraphic, 1.0, 1.0 );
>>> CID 1588074: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "aOutputGraphic" is passed-by-value as parameter to "GraphicObject::GraphicObject(Graphic)" when it could be moved instead.
271 f(aOutputGraphic);
272 }
273 pDlg->disposeOnce();
274 }
275 );
276 }
** CID 1588073: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/drwbassh.cxx: 148 in SwDrawBaseShell::Execute(SfxRequest &)()
________________________________________________________________________________________________________
*** CID 1588073: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/sw/source/uibase/shells/drwbassh.cxx: 148 in SwDrawBaseShell::Execute(SfxRequest &)()
142
143 auto xRequest = std::make_shared<SfxRequest>(rReq);
144 rReq.Ignore(); // the 'old' request is not relevant any more
145 SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
146 VclPtr<SfxAbstractDialog> pDlg(pFact->CreateSwWrapDlg(GetView().GetFrameWeld(), aSet, pSh));
147 pDlg->StartExecuteAsync(
>>> CID 1588073: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
>>> "xRequest" is copied in call to copy constructor "std::shared_ptr<SfxRequest>", when it could be moved instead.
148 [pDlg, pSh, xRequest] (sal_Int32 nResult)->void
149 {
150 if (nResult == RET_OK)
151 {
152 const SfxItemSet* pOutSet = pDlg->GetOutputItemSet();
153 if(const SfxInt16Item* pWrapItem = pOutSet->GetItemIfSet(FN_DRAW_WRAP_DLG, false))
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50ypSs1kiFPuCn2xFdlMIFBirii0zZ9j2-2F9F2XPBcBm2BNnPiSHxWPOELPnIxzXoBNaw-3DskP3_OTq2XUZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJiom4gbofWEtWX8-2B-2Fhi2QvlvrVPy19-2BKWklkUEaUQAo5SWpO0qfGxbDM-2FleAokMqDtcgFnUHaxaKM3rpRnDz-2FWeRZOsMmu1fuS4SZ6wT1LSpK8VzaOzacd3zMudZqJdhqG6ilJH-2FQz9cacaZxn8xDZZ2QszNhylozIDavph3sINQU-3D
More information about the LibreOffice
mailing list