f41
David Tardon 12 years ago
parent eadd0e48d4
commit 17d0dc4551

3
.gitignore vendored

@ -57,3 +57,6 @@
/libreoffice-4.0.1.2.tar.xz
/libreoffice-help-4.0.1.2.tar.xz
/libreoffice-translations-4.0.1.2.tar.xz
/libreoffice-4.0.2.1.tar.xz
/libreoffice-help-4.0.2.1.tar.xz
/libreoffice-translations-4.0.2.1.tar.xz

@ -1,86 +0,0 @@
From 791a060bd1031c844a9a1b283689dee6a8a7ef77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 25 Feb 2013 16:55:07 +0000
Subject: [PATCH] Resolves: fdo#56031 RSID attr changes drop content change
events
So if we have an INVALID_ATTR event in the queue and receive
INVALID_CONTENT, drop the attr and replace it with invalid-content
And anyway filter out the RSID change event from hitting the
a11y queue, humans don't care that this changed, it's just noise
Change-Id: I4842f217153fc90aa1dce75c3445053004c74536
(cherry picked from commit 8d08ccd5b84c121867d7b3102f9d10b26005c682)
Reviewed-on: https://gerrit.libreoffice.org/2401
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
---
sw/source/core/access/accmap.cxx | 9 +++++++++
sw/source/core/text/txtfrm.cxx | 18 ++++++++++++++----
2 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index 4f737a8..714b37b 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -887,10 +887,19 @@ void SwAccessibleMap::AppendEvent( const SwAccessibleEvent_Impl& rEvent )
// POS_CHANGED event.
// Therefor, the event's type has to be adapted and the event
// has to be put at the end.
+ //
+ // fdo#56031 An INVALID_CONTENT event overwrites a INVALID_ATTR
+ // event and overwrites its flags
OSL_ENSURE( aEvent.GetType() != SwAccessibleEvent_Impl::CHILD_POS_CHANGED,
"invalid event combination" );
if( aEvent.GetType() == SwAccessibleEvent_Impl::CARET_OR_STATES )
aEvent.SetType( SwAccessibleEvent_Impl::INVALID_CONTENT );
+ else if ( aEvent.GetType() == SwAccessibleEvent_Impl::INVALID_ATTR )
+ {
+ aEvent.SetType( SwAccessibleEvent_Impl::INVALID_CONTENT );
+ aEvent.SetStates( rEvent.GetAllStates() );
+ }
+
break;
case SwAccessibleEvent_Impl::POS_CHANGED:
// A pos changed event overwrites CARET_STATES (keeping its
diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index cebe0b5..d76c4fa 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -912,6 +912,13 @@ static void lcl_ModifyOfst( SwTxtFrm* pFrm, xub_StrLen nPos, xub_StrLen nLen )
}
}
+//Related: fdo#56031 filter out attribute changes that don't matter for
+//humans/a11y to stop flooding the destination mortal with useless noise
+static bool isA11yRelevantAttribute(MSHORT nWhich)
+{
+ return nWhich != RES_CHRATR_RSID;
+}
+
/*************************************************************************
* SwTxtFrm::Modify()
*************************************************************************/
@@ -1294,11 +1301,14 @@ void SwTxtFrm::Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew )
SwCntntFrm::Modify( pOld, pNew );
}
- // #i88069#
- ViewShell* pViewSh = getRootFrm() ? getRootFrm()->GetCurrShell() : 0;
- if ( pViewSh )
+ if (isA11yRelevantAttribute(nWhich))
{
- pViewSh->InvalidateAccessibleParaAttrs( *this );
+ // #i88069#
+ ViewShell* pViewSh = getRootFrm() ? getRootFrm()->GetCurrShell() : 0;
+ if ( pViewSh )
+ {
+ pViewSh->InvalidateAccessibleParaAttrs( *this );
+ }
}
}
break;
--
1.8.1.2

@ -1,38 +0,0 @@
From b83c2e7ac73cc1e4b3ee954ff5c6cdbda6c41d8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Wed, 27 Feb 2013 20:57:01 +0000
Subject: [PATCH] Resolves: fdo#61241 force area page to size itself for max
visible controls
Change-Id: I2d67ce71528786ef300ab83ee1e5b1cad6b4abe8
(cherry picked from commit fc8022431a1684f3cfb1e2f7e4ec923a8e71df94)
Reviewed-on: https://gerrit.libreoffice.org/2451
Reviewed-by: Miklos Vajna <vmiklos@suse.cz>
Reviewed-by: Eike Rathke <erack@redhat.com>
Reviewed-by: Muthu Subramanian K <muthusuba@gmail.com>
Tested-by: Muthu Subramanian K <muthusuba@gmail.com>
---
cui/source/tabpages/tparea.cxx | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/cui/source/tabpages/tparea.cxx b/cui/source/tabpages/tparea.cxx
index 87b410f..47f4878 100644
--- a/cui/source/tabpages/tparea.cxx
+++ b/cui/source/tabpages/tparea.cxx
@@ -765,6 +765,13 @@ SvxAreaTabPage::SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs ) :
aLbColor.SetAccessibleRelationMemberOf( &aFlProp );
aMtrFldOffset.SetAccessibleRelationLabeledBy(&aFlOffset);
aMtrFldOffset.SetAccessibleName(aFlOffset.GetText());
+
+ //fdo#61241 lock down size of this tab page until it's
+ //converted to .ui (remember to use some sizegroups
+ //that take into account hidden frames)
+ Size aSize(GetSizePixel());
+ set_width_request(aSize.Width());
+ set_height_request(aSize.Height());
}
// -----------------------------------------------------------------------
--
1.8.1.2

@ -1,58 +0,0 @@
From 569b4ed7a68751edafcca0b79e5c25d2370f96a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 1 Mar 2013 13:28:21 +0000
Subject: [PATCH] Resolves: fdo#61656 use order and orientation combobox select
pos as index
not the associated entry data, which isn't set for these simple
1 to 1 position -> data comboboxes
Change-Id: I0c73786bca00684cedc4672d0ad5e61d0c1f9bd7
(cherry picked from commit 9c7cf46fbf01f62ea9520c4ba1ec4748fe62b20b)
Reviewed-on: https://gerrit.libreoffice.org/2490
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
---
vcl/source/window/printdlg.cxx | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
index 0e63800..0e88fa2 100644
--- a/vcl/source/window/printdlg.cxx
+++ b/vcl/source/window/printdlg.cxx
@@ -449,11 +449,7 @@ void PrintDialog::NUpTabPage::initFromMultiPageSetup( const vcl::PrinterControll
mpBorderCB->Check( i_rMPS.bDrawBorder );
mpNupRowsEdt->SetValue( i_rMPS.nRows );
mpNupColEdt->SetValue( i_rMPS.nColumns );
- for( sal_uInt16 i = 0; i < mpNupOrderBox->GetEntryCount(); i++ )
- {
- if( int(sal_IntPtr(mpNupOrderBox->GetEntryData( i ))) == i_rMPS.nOrder )
- mpNupOrderBox->SelectEntryPos( i );
- }
+ mpNupOrderBox->SelectEntryPos( i_rMPS.nOrder );
if( i_rMPS.nRows != 1 || i_rMPS.nColumns != 1 )
{
mpNupPagesBox->SelectEntryPos( mpNupPagesBox->GetEntryCount()-1 );
@@ -1444,8 +1440,7 @@ void PrintDialog::updateNup()
aMPS.bDrawBorder = maNUpPage.mpBorderCB->IsChecked();
- int nOrderMode = int(sal_IntPtr(maNUpPage.mpNupOrderBox->GetEntryData(
- maNUpPage.mpNupOrderBox->GetSelectEntryPos() )));
+ int nOrderMode = maNUpPage.mpNupOrderBox->GetSelectEntryPos();
if( nOrderMode == SV_PRINT_PRT_NUP_ORDER_LRTB )
aMPS.nOrder = PrinterController::LRTB;
else if( nOrderMode == SV_PRINT_PRT_NUP_ORDER_TBLR )
@@ -1455,8 +1450,7 @@ void PrintDialog::updateNup()
else if( nOrderMode == SV_PRINT_PRT_NUP_ORDER_TBRL )
aMPS.nOrder = PrinterController::TBRL;
- int nOrientationMode = int(sal_IntPtr(maNUpPage.mpNupOrientationBox->GetEntryData(
- maNUpPage.mpNupOrientationBox->GetSelectEntryPos() )));
+ int nOrientationMode = maNUpPage.mpNupOrientationBox->GetSelectEntryPos();
if( nOrientationMode == SV_PRINT_PRT_NUP_ORIENTATION_LANDSCAPE )
aMPS.aPaperSize = maNupLandscapeSize;
else if( nOrientationMode == SV_PRINT_PRT_NUP_ORIENTATION_PORTRAIT )
--
1.8.1.2

@ -1,96 +0,0 @@
From 1b13c952f50aab2b907dab13395ab23d0955c238 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 15 Feb 2013 17:12:00 +0000
Subject: [PATCH] Resolves: rhbz#895196 sc filter float a11y parent of itself
loop/recurse
Change-Id: I3679e7cfcd32a78b40c6a7b803c92ff0abe6f32c
---
accessibility/source/helper/acc_factory.cxx | 8 +++++---
vcl/inc/vcl/popupmenuwindow.hxx | 3 +++
vcl/source/window/popupmenuwindow.cxx | 6 ++++++
vcl/source/window/window.cxx | 12 +++++++++---
4 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/accessibility/source/helper/acc_factory.cxx b/accessibility/source/helper/acc_factory.cxx
index dc16fe6..93f6bf5 100644
--- a/accessibility/source/helper/acc_factory.cxx
+++ b/accessibility/source/helper/acc_factory.cxx
@@ -382,9 +382,11 @@ inline bool hasFloatingChild(Window *pWindow)
}
else if ( nType == WINDOW_BORDERWINDOW && hasFloatingChild( pWindow ) )
{
- PopupMenuFloatingWindow* pChild = dynamic_cast<PopupMenuFloatingWindow*>(
- pWindow->GetAccessibleChildWindow(0));
- if ( pChild && pChild->IsPopupMenu() )
+ // The logic here has to match that of Window::GetAccessibleParentWindow in
+ // vcl/source/window/window.cxx to avoid PopupMenuFloatingWindow
+ // becoming a11y parents of themselves
+ Window* pChild = pWindow->GetAccessibleChildWindow(0);
+ if (PopupMenuFloatingWindow::isPopupMenu(pChild))
{
// Get the accessible context from the child window.
Reference<XAccessible> xAccessible = pChild->CreateAccessible();
diff --git a/vcl/inc/vcl/popupmenuwindow.hxx b/vcl/inc/vcl/popupmenuwindow.hxx
index 57b7747..a5856dc 100644
--- a/vcl/inc/vcl/popupmenuwindow.hxx
+++ b/vcl/inc/vcl/popupmenuwindow.hxx
@@ -34,6 +34,9 @@ public:
sal_uInt16 GetMenuStackLevel() const;
void SetMenuStackLevel( sal_uInt16 nLevel );
bool IsPopupMenu() const;
+
+ //determine if a given window is an activated PopupMenuFloatingWindow
+ static bool isPopupMenu(const Window *pWindow);
};
#endif
diff --git a/vcl/source/window/popupmenuwindow.cxx b/vcl/source/window/popupmenuwindow.cxx
index e5e773a..7a03794 100644
--- a/vcl/source/window/popupmenuwindow.cxx
+++ b/vcl/source/window/popupmenuwindow.cxx
@@ -67,4 +67,10 @@ bool PopupMenuFloatingWindow::IsPopupMenu() const
return mpImplData->mnMenuStackLevel != ::std::numeric_limits<sal_uInt16>::max();
}
+bool PopupMenuFloatingWindow::isPopupMenu(const Window *pWindow)
+{
+ const PopupMenuFloatingWindow* pChild = dynamic_cast<const PopupMenuFloatingWindow*>(pWindow);
+ return pChild && pChild->IsPopupMenu();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 6767fde..7ddb6b1 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -48,6 +48,7 @@
#include "vcl/unowrap.hxx"
#include "vcl/gdimtf.hxx"
#include "vcl/pdfextoutdevdata.hxx"
+#include "vcl/popupmenuwindow.hxx"
#include "vcl/lazydelete.hxx"
#include "vcl/virdev.hxx"
@@ -8601,10 +8602,15 @@ Window* Window::GetAccessibleParentWindow() const
pWorkWin = pWorkWin->mpWindowImpl->mpNext;
pParent = pWorkWin;
}
- // If this a floating window which has a native boarder window, this one should be reported as
- // accessible parent
+ // If this is a floating window which has a native border window, then that border should be reported as
+ // the accessible parent, unless the floating window is a PopupMenuFloatingWindow
+ //
+ // The logic here has to match that of AccessibleFactory::createAccessibleContext in
+ // accessibility/source/helper/acc_factory.cxx to avoid PopupMenuFloatingWindow
+ // becoming a11y parents of themselves
else if( GetType() == WINDOW_FLOATINGWINDOW &&
- mpWindowImpl->mpBorderWindow && mpWindowImpl->mpBorderWindow->mpWindowImpl->mbFrame)
+ mpWindowImpl->mpBorderWindow && mpWindowImpl->mpBorderWindow->mpWindowImpl->mbFrame &&
+ !PopupMenuFloatingWindow::isPopupMenu(this))
{
pParent = mpWindowImpl->mpBorderWindow;
}
--
1.8.1.2

@ -1,79 +0,0 @@
From e34b40bcd923027a26540e1a215c155ed0753472 Mon Sep 17 00:00:00 2001
Message-Id: <e34b40bcd923027a26540e1a215c155ed0753472.1361313167.git.erack@redhat.com>
From: Eike Rathke <erack@redhat.com>
Date: Tue, 19 Feb 2013 19:22:27 +0100
Subject: [PATCH] do not access vector elements beyond size, rhbz#847519
related
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
This is a multi-part message in MIME format.
--------------erAck-patch-parts
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
The actual bug (crash) is not triggered anymore because the categories
are assembled differently, nevertheless the code in question could
expose the same behavior under different preconditions.
Change-Id: Ic37f6b34effaf4e5252e80aab46b021547b36efb
(cherry picked from commit d1ba2cd612a4c39976e2980c7dc4e3fa38c88470)
---
chart2/source/tools/ExplicitCategoriesProvider.cxx | 24 ++++++++++++-------
1 files changed, 15 insertions(+), 9 deletions(-)
--------------erAck-patch-parts
Content-Type: text/x-patch; name="0001-do-not-access-vector-elements-beyond-size-rhbz-84751.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="0001-do-not-access-vector-elements-beyond-size-rhbz-84751.patch"
diff --git a/chart2/source/tools/ExplicitCategoriesProvider.cxx b/chart2/source/tools/ExplicitCategoriesProvider.cxx
index e3d800f..00b481c 100644
--- a/chart2/source/tools/ExplicitCategoriesProvider.cxx
+++ b/chart2/source/tools/ExplicitCategoriesProvider.cxx
@@ -353,11 +353,14 @@ Sequence< OUString > lcl_getExplicitSimpleCategories(
}
for( aOuterIt=rComplexCats.begin(); aOuterIt != aOuterEnd; ++aOuterIt )
{
- sal_Int32 nCurrentCount = lcl_getCategoryCount( *aOuterIt );
- if( nCurrentCount< nMaxCategoryCount )
+ if ( !aOuterIt->empty() )
{
- ComplexCategory& rComplexCategory = aOuterIt->back();
- rComplexCategory.Count += (nMaxCategoryCount-nCurrentCount);
+ sal_Int32 nCurrentCount = lcl_getCategoryCount( *aOuterIt );
+ if( nCurrentCount< nMaxCategoryCount )
+ {
+ ComplexCategory& rComplexCategory = aOuterIt->back();
+ rComplexCategory.Count += (nMaxCategoryCount-nCurrentCount);
+ }
}
}
}
@@ -389,12 +392,15 @@ Sequence< OUString > lcl_getExplicitSimpleCategories(
OUString aText;
for( aOuterIt=aComplexCatsPerIndex.begin() ; aOuterIt != aOuterEnd; ++aOuterIt )
{
- OUString aAddText = (*aOuterIt)[nN].Text;
- if( !aAddText.isEmpty() )
+ if ( static_cast<size_t>(nN) < aOuterIt->size() )
{
- if(!aText.isEmpty())
- aText += aSpace;
- aText += aAddText;
+ OUString aAddText = (*aOuterIt)[nN].Text;
+ if( !aAddText.isEmpty() )
+ {
+ if(!aText.isEmpty())
+ aText += aSpace;
+ aText += aAddText;
+ }
}
}
aRet[nN]=aText;
--------------erAck-patch-parts--

@ -1,5 +1,5 @@
# download path contains version without the last (fourth) digit
%define libo_version 4.0.1
%define libo_version 4.0.2
# Should contain .alphaX / .betaX, if this is pre-release (actually
# pre-RC) version. The pre-release string is part of tarball file names,
# so we need a way to define it easily at one place.
@ -46,8 +46,8 @@
Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: %{libo_version}.2
Release: 4%{?libo_prerelease}%{?dist}
Version: %{libo_version}.1
Release: 1%{?libo_prerelease}%{?dist}
License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0
Group: Applications/Productivity
URL: http://www.documentfoundation.org/develop
@ -250,15 +250,10 @@ Patch16: 0001-make-evolution-3.6-work-with-address-book.patch
Patch17: 0001-no-g_list_free_full-in-RHEL-6-glib.patch
Patch18: 0001-Work-around-problem-with-boost-shared_array-NULL-cto.patch
Patch19: 0001-fix-compile-for-change-to-boost-1.53.0-declaring-sma.patch
Patch20: 0001-Resolves-rhbz-895196-sc-filter-float-a11y-parent-of-.patch
Patch21: 0001-do-not-access-vector-elements-beyond-size-rhbz-84751.patch
Patch22: 0001-rhbz-742780-Let-make-OPT_FLAGS-.-override-SDK-optimi.patch
Patch23: 0001-Related-rhbz-902884-check-for-GetSelectedMasterPage-.patch
Patch24: 0001-Resolves-fdo-61241-force-area-page-to-size-itself-fo.patch
Patch25: 0001-Resolves-fdo-61656-use-order-and-orientation-combobo.patch
Patch26: 0001-Resolves-fdo-56031-RSID-attr-changes-drop-content-ch.patch
Patch27: 0001-Resolves-rhbz-920697-i110881-rhbz-623191-presentatio.patch
Patch28: 0001-rhbz-895690-Make-GIO-UCP-less-brittle-so-saving-docs.patch
Patch20: 0001-rhbz-742780-Let-make-OPT_FLAGS-.-override-SDK-optimi.patch
Patch21: 0001-Related-rhbz-902884-check-for-GetSelectedMasterPage-.patch
Patch22: 0001-Resolves-rhbz-920697-i110881-rhbz-623191-presentatio.patch
Patch23: 0001-rhbz-895690-Make-GIO-UCP-less-brittle-so-saving-docs.patch
%define instdir %{_libdir}
%define baseinstdir %{instdir}/libreoffice
@ -1001,15 +996,10 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch17 -p1 -b .no-g_list_free_full-in-RHEL-6-glib.patch
%patch18 -p1 -b .Work-around-problem-with-boost-shared_array-NULL-cto.patch
%patch19 -p1 -b .fix-compile-for-change-to-boost-1.53.0-declaring-sma.patch
%patch20 -p1 -b .rhbz-895196-sc-filter-float-a11y-parent-of-.patch
%patch21 -p1 -b .do-not-access-vector-elements-beyond-size-rhbz-84751.patch
%patch22 -p1 -b .rhbz-742780-Let-make-OPT_FLAGS-.-override-SDK-optimi.patch
%patch23 -p1 -b .rhbz-902884-check-for-GetSelectedMasterPage-.patch
%patch24 -p1 -b .fdo-61241-force-area-page-to-size-itself-fo.patch
%patch25 -p1 -b .fdo-61656-use-order-and-orientation-combobo.patch
%patch26 -p1 -b .fdo-56031-RSID-attr-changes-drop-content-ch.patch
%patch27 -p1 -b .rhbz-920697-i110881-rhbz-623191-presentatio.patch
%patch28 -p1 -b .rhbz-895690-Make-GIO-UCP-less-brittle-so-saving-docs.patch
%patch20 -p1 -b .rhbz-742780-Let-make-OPT_FLAGS-.-override-SDK-optimi.patch
%patch21 -p1 -b .rhbz-902884-check-for-GetSelectedMasterPage-.patch
%patch22 -p1 -b .rhbz-920697-i110881-rhbz-623191-presentatio.patch
%patch23 -p1 -b .rhbz-895690-Make-GIO-UCP-less-brittle-so-saving-docs.patch
# TODO: check this
# these are horribly incomplete--empty translations and copied english
@ -2077,6 +2067,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%endif
%changelog
* Fri Mar 15 2013 David Tardon <dtardon@redhat.com> - 1:4.0.2.1-1
- 4.0.2 rc1
* Wed Mar 13 2013 Stephan Bergmann <sbergman@redhat.com> - 1:4.0.1.2-4
- Resolves: rhbz#895690 failure saving to gvfs mounts

@ -6,6 +6,6 @@
a7983f859eafb2677d7ff386a023bc40 a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
1f24ab1d39f4a51faf22244c94a6203f 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
0168229624cfac409e766913506961a8 0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
52c3bacdf46b4648c5697cc55b648784 libreoffice-4.0.1.2.tar.xz
916da8f21945895e04eebb74e60f854d libreoffice-help-4.0.1.2.tar.xz
98477b5c9e8a7954d321dd143ac9336e libreoffice-translations-4.0.1.2.tar.xz
d6bc4bcc4a96fc748dc65bd5de63b791 libreoffice-4.0.2.1.tar.xz
a36f9594eef29cfd423bb18d770c9cd7 libreoffice-help-4.0.2.1.tar.xz
cfc0bd880ec7441ca6c5fc58c1693a2c libreoffice-translations-4.0.2.1.tar.xz

Loading…
Cancel
Save