- Add patch to fix bsc#1028504:
* 0001-undo-clone.patch - Add patch to fix test failure on 32bit: * 0001-watermark.patch OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=505
This commit is contained in:
parent
9d7d4b6875
commit
e2a783f2c0
90
0001-undo-clone.patch
Normal file
90
0001-undo-clone.patch
Normal file
@ -0,0 +1,90 @@
|
||||
From cd38a25d41e1ce2acad25b1b5b2a5e77239e36ed Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Tam=C3=A1s=20Zolnai?= <tamas.zolnai@collabora.com>
|
||||
Date: Mon, 12 Jun 2017 14:34:59 +0200
|
||||
Subject: tdf#108480: Undo from clone formating does not remove vertical
|
||||
alignment
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In the related change:
|
||||
d36aa2ba3132ce62a370b7260ca620642cbf7dbf
|
||||
wrong method was used to set cell properties, which does
|
||||
not handle undo actions, so use the proper function.
|
||||
|
||||
Other issue was related to undo handling of vertical text
|
||||
alignment in general. In some cases undo actions were lost
|
||||
after user clicked out of the cell. It is because vertical
|
||||
alignment is not affecting the outliner and so the related
|
||||
undo actions were just dropped in EndTextEdit() method.
|
||||
|
||||
Change-Id: I3a6a95fac711056a658a3dee616733939cd13330
|
||||
Reviewed-on: https://gerrit.libreoffice.org/38699
|
||||
Tested-by: Jenkins <ci@libreoffice.org>
|
||||
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
|
||||
(cherry picked from commit 37d8ac12902506f4185e10f1de4f566dbaf53e42)
|
||||
Reviewed-on: https://gerrit.libreoffice.org/38724
|
||||
|
||||
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
|
||||
index ff71c07..ea521d7 100644
|
||||
--- a/svx/source/svdraw/svdedxv.cxx
|
||||
+++ b/svx/source/svdraw/svdedxv.cxx
|
||||
@@ -2228,9 +2228,8 @@ void SdrObjEditView::TakeFormatPaintBrush( std::shared_ptr< SfxItemSet >& rForma
|
||||
if( pObj && (pObj->GetObjInventor() == SdrInventor::Default ) && (pObj->GetObjIdentifier() == OBJ_TABLE) )
|
||||
{
|
||||
auto pTable = static_cast<const sdr::table::SdrTableObj*>(pObj);
|
||||
- if (pTable->getActiveCell().is()) {
|
||||
- SfxItemSet const & rSet = pTable->GetActiveCellItemSet();
|
||||
- rFormatSet->Put(rSet);
|
||||
+ if (mxSelectionController.is() && pTable->getActiveCell().is()) {
|
||||
+ mxSelectionController->GetAttributes(*rFormatSet, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2378,8 +2377,8 @@ void SdrObjEditView::ApplyFormatPaintBrush( SfxItemSet& rFormatSet, bool bNoChar
|
||||
if( pObj && (pObj->GetObjInventor() == SdrInventor::Default) && (pObj->GetObjIdentifier() == OBJ_TABLE) )
|
||||
{
|
||||
auto pTable = static_cast<sdr::table::SdrTableObj*>(pObj);
|
||||
- if (pTable->getActiveCell().is()) {
|
||||
- pTable->SetMergedItemSetAndBroadcastOnActiveCell(rFormatSet);
|
||||
+ if (pTable->getActiveCell().is() && mxSelectionController.is()) {
|
||||
+ mxSelectionController->SetAttributes(rFormatSet, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
|
||||
index 4c51d41..ef58d32 100644
|
||||
--- a/svx/source/table/svdotable.cxx
|
||||
+++ b/svx/source/table/svdotable.cxx
|
||||
@@ -1768,18 +1768,19 @@ bool SdrTableObj::BegTextEdit(SdrOutliner& rOutl)
|
||||
|
||||
void SdrTableObj::EndTextEdit(SdrOutliner& rOutl)
|
||||
{
|
||||
- if(rOutl.IsModified())
|
||||
+
|
||||
+ if (GetModel() && GetModel()->IsUndoEnabled() && !mpImpl->maUndos.empty())
|
||||
{
|
||||
- if( GetModel() && GetModel()->IsUndoEnabled() )
|
||||
- {
|
||||
- // These actions should be on the undo stack after text edit.
|
||||
- for (std::unique_ptr<SdrUndoAction>& pAction : mpImpl->maUndos)
|
||||
- GetModel()->AddUndo(pAction.release());
|
||||
- mpImpl->maUndos.clear();
|
||||
+ // These actions should be on the undo stack after text edit.
|
||||
+ for (std::unique_ptr<SdrUndoAction>& pAction : mpImpl->maUndos)
|
||||
+ GetModel()->AddUndo(pAction.release());
|
||||
+ mpImpl->maUndos.clear();
|
||||
|
||||
- GetModel()->AddUndo( GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*this) );
|
||||
- }
|
||||
+ GetModel()->AddUndo(GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*this));
|
||||
+ }
|
||||
|
||||
+ if(rOutl.IsModified())
|
||||
+ {
|
||||
OutlinerParaObject* pNewText = nullptr;
|
||||
Paragraph* p1stPara = rOutl.GetParagraph( 0 );
|
||||
sal_Int32 nParaAnz = rOutl.GetParagraphCount();
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
77
0001-watermark.patch
Normal file
77
0001-watermark.patch
Normal file
@ -0,0 +1,77 @@
|
||||
From 42353b95629322f51e059337ab06579ffb1c6934 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Szymon=20K=C5=82os?= <szymon.klos@collabora.com>
|
||||
Date: Fri, 9 Jun 2017 11:10:28 +0200
|
||||
Subject: Watermark: fix rotation calculation
|
||||
|
||||
* when angle > 180 was used calculated value was 0
|
||||
* values are rounded
|
||||
|
||||
Change-Id: I0cade407883a60d8d802b487668882e95f42ddce
|
||||
Reviewed-on: https://gerrit.libreoffice.org/38597
|
||||
Tested-by: Jenkins <ci@libreoffice.org>
|
||||
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
|
||||
diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx
|
||||
index 8d6965c..94c066e9 100644
|
||||
--- a/sw/source/core/edit/edfcol.cxx
|
||||
+++ b/sw/source/core/edit/edfcol.cxx
|
||||
@@ -266,6 +266,29 @@ void SwEditShell::SetClassification(const OUString& rName, SfxClassificationPoli
|
||||
}
|
||||
}
|
||||
|
||||
+sal_Int16 lcl_GetAngle(const drawing::HomogenMatrix3& rMatrix)
|
||||
+{
|
||||
+ basegfx::B2DHomMatrix aTransformation;
|
||||
+ basegfx::B2DTuple aScale;
|
||||
+ basegfx::B2DTuple aTranslate;
|
||||
+ double fRotate = 0;
|
||||
+ double fShear = 0;
|
||||
+
|
||||
+ aTransformation.set(0, 0, rMatrix.Line1.Column1);
|
||||
+ aTransformation.set(0, 1, rMatrix.Line1.Column2);
|
||||
+ aTransformation.set(0, 2, rMatrix.Line1.Column3);
|
||||
+ aTransformation.set(1, 0, rMatrix.Line2.Column1);
|
||||
+ aTransformation.set(1, 1, rMatrix.Line2.Column2);
|
||||
+ aTransformation.set(1, 2, rMatrix.Line2.Column3);
|
||||
+ aTransformation.set(2, 0, rMatrix.Line3.Column1);
|
||||
+ aTransformation.set(2, 1, rMatrix.Line3.Column2);
|
||||
+ aTransformation.set(2, 2, rMatrix.Line3.Column3);
|
||||
+
|
||||
+ aTransformation.decompose(aScale, aTranslate, fRotate, fShear);
|
||||
+ sal_Int16 nDeg = round(basegfx::rad2deg(fRotate));
|
||||
+ return nDeg < 0 ? round(nDeg) * -1 : round(360.0 - nDeg);
|
||||
+}
|
||||
+
|
||||
SfxWatermarkItem SwEditShell::GetWatermark()
|
||||
{
|
||||
SwDocShell* pDocShell = GetDoc()->GetDocShell();
|
||||
@@ -311,13 +334,7 @@ SfxWatermarkItem SwEditShell::GetWatermark()
|
||||
if (xPropertySet->getPropertyValue(UNO_NAME_FILLCOLOR) >>= nColor)
|
||||
aItem.SetColor(nColor);
|
||||
if (xPropertySet->getPropertyValue("Transformation") >>= aMatrix)
|
||||
- {
|
||||
- double y = aMatrix.Line2.Column1;
|
||||
- double x = aMatrix.Line1.Column1;
|
||||
- double nRad = atan2(y, x) * -1;
|
||||
- double nDeg = nRad * 180.0 / F_PI;
|
||||
- aItem.SetAngle(nDeg);
|
||||
- }
|
||||
+ aItem.SetAngle(lcl_GetAngle(aMatrix));
|
||||
if (xPropertySet->getPropertyValue(UNO_NAME_FILL_TRANSPARENCE) >>= nTransparency)
|
||||
aItem.SetTransparency(nTransparency);
|
||||
|
||||
@@ -374,10 +391,7 @@ void SwEditShell::SetWatermark(const SfxWatermarkItem& rWatermark)
|
||||
xPropertySet->getPropertyValue(UNO_NAME_FILLCOLOR) >>= nColor;
|
||||
xPropertySet->getPropertyValue(UNO_NAME_FILL_TRANSPARENCE) >>= nTransparency;
|
||||
xPropertySet->getPropertyValue("Transformation") >>= aMatrix;
|
||||
- double y = aMatrix.Line2.Column1;
|
||||
- double x = aMatrix.Line1.Column1;
|
||||
- double nRad = atan2(y, x) * -1;
|
||||
- nAngle = nRad * 180.0 / F_PI;
|
||||
+ nAngle = lcl_GetAngle(aMatrix);
|
||||
|
||||
// If the header already contains a watermark, see if it its text is up to date.
|
||||
uno::Reference<text::XTextRange> xTextRange(xWatermark, uno::UNO_QUERY);
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 13 13:46:31 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
- Add patch to fix bsc#1028504:
|
||||
* 0001-undo-clone.patch
|
||||
- Add patch to fix test failure on 32bit:
|
||||
* 0001-watermark.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 8 14:04:07 UTC 2017 - tchvatal@suse.com
|
||||
|
||||
|
@ -80,6 +80,9 @@ Patch4: nlpsolver-no-broken-help.diff
|
||||
Patch5: mediawiki-no-broken-help.diff
|
||||
# PATCH-HOTFIX-UPSTREAM: disable test that rounds wrongly on most archs
|
||||
Patch16: libreoffice-hotfix-disablebrokenshapetest.patch
|
||||
# PATCH-FIX-UPSTREAM taken from git will be in next release
|
||||
Patch17: 0001-undo-clone.patch
|
||||
Patch18: 0001-watermark.patch
|
||||
# try to save space by using hardlinks
|
||||
Patch990: install-with-hardlinks.diff
|
||||
BuildRequires: %{name}-share-linker
|
||||
@ -939,6 +942,8 @@ Provides additional %{langname} translations and resources for %{project}. \
|
||||
%patch4
|
||||
%patch5
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch990 -p1
|
||||
|
||||
# Do not generate doxygen timestamp
|
||||
|
Loading…
x
Reference in New Issue
Block a user