[Libreoffice-commits] core.git: sw/source

2021-05-21 Thread Miklos Vajna (via logerrit)
 sw/source/core/layout/tabfrm.cxx |   14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

New commits:
commit db8db4732cd50342139c1d2c358a4ce260c4b4f3
Author: Miklos Vajna 
AuthorDate: Thu May 20 21:05:58 2021 +0200
Commit: Miklos Vajna 
CommitDate: Fri May 21 09:06:56 2021 +0200

Replace magic numbers in SwTabFrame::UpdateAttr_()

By using the same SwTabFrameInvFlags constants that
SwTabFrame::SwClientNotify() already does.

Change-Id: I308219262d9d18c41e38290fa2e43bf90ba77b5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115887
Tested-by: Jenkins
Reviewed-by: Miklos Vajna 

diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 34ba690a25b8..fe3016b0037a 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -3356,18 +3356,18 @@ void SwTabFrame::UpdateAttr_( const SfxPoolItem *pOld, 
const SfxPoolItem *pNew,
 pHeadline->Paste( this, pLowerRow );
 }
 }
-rInvFlags |= static_cast(0x02);
+rInvFlags |= SwTabFrameInvFlags::InvalidatePrt;
 break;
 
 case RES_FRM_SIZE:
 case RES_HORI_ORIENT:
-rInvFlags |= static_cast(0x22);
+rInvFlags |= SwTabFrameInvFlags::InvalidatePrt | 
SwTabFrameInvFlags::InvalidateBrowseWidth;
 break;
 
 case RES_PAGEDESC:  //Attribute changes (on/off)
 if ( IsInDocBody() )
 {
-rInvFlags |= static_cast(0x40);
+rInvFlags |= SwTabFrameInvFlags::InvalidatePos;
 SwPageFrame *pPage = FindPageFrame();
 if (pPage)
 {
@@ -3382,23 +3382,23 @@ void SwTabFrame::UpdateAttr_( const SfxPoolItem *pOld, 
const SfxPoolItem *pNew,
 break;
 
 case RES_BREAK:
-rInvFlags |= static_cast(0xC0);
+rInvFlags |= SwTabFrameInvFlags::InvalidatePos | 
SwTabFrameInvFlags::InvalidateNextPos;
 break;
 
 case RES_LAYOUT_SPLIT:
 if ( !IsFollow() )
-rInvFlags |= static_cast(0x40);
+rInvFlags |= SwTabFrameInvFlags::InvalidatePos;
 break;
 case RES_FRAMEDIR :
 SetDerivedR2L( false );
 CheckDirChange();
 break;
 case RES_COLLAPSING_BORDERS :
-rInvFlags |= static_cast(0x02);
+rInvFlags |= SwTabFrameInvFlags::InvalidatePrt;
 lcl_InvalidateAllLowersPrt( this );
 break;
 case RES_UL_SPACE:
-rInvFlags |= static_cast(0x1C);
+rInvFlags |= SwTabFrameInvFlags::InvalidateIndNextPrt | 
SwTabFrameInvFlags::InvalidatePrevPrt | 
SwTabFrameInvFlags::SetIndNextCompletePaint;
 [[fallthrough]];
 
 default:
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - filter/source

2021-05-21 Thread Svante Schubert (via logerrit)
 filter/source/xslt/odf2xhtml/export/xhtml/body.xsl |   20 
 1 file changed, 16 insertions(+), 4 deletions(-)

New commits:
commit 932be9b55ce8b996184e724127925c436130cecd
Author: Svante Schubert 
AuthorDate: Wed Sep 9 15:27:54 2020 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 09:32:48 2021 +0200

tdf#118637: HTML XSLT: Adding missing MathML siblings.

The floating draw:frame sibling content being text were not shown, nor 
further occuring draw:frame (other MathML)

Change-Id: Ifc5cdd4c58bdf01ceebcf10c01b85cdf96b60d26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111620
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115879

diff --git a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl 
b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
index 83171a1f4d1a..ad74d3716b45 100644
--- a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
+++ b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
@@ -380,8 +380,20 @@
 
 
 
-
-
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -876,7 +888,7 @@
 
 
 
-
+
 
 
 
@@ -1049,7 +1061,7 @@
 
 
 
-
+
 
 
 

[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - filter/source

2021-05-21 Thread Svante Schubert (via logerrit)
 filter/source/xslt/odf2xhtml/export/xhtml/body.xsl |  112 ++---
 1 file changed, 34 insertions(+), 78 deletions(-)

New commits:
commit fb8714eebdb34d6f3604c1a2801777f624829fcc
Author: Svante Schubert 
AuthorDate: Thu Sep 10 16:17:37 2020 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 09:34:05 2021 +0200

HTML MathML update - enabling inline MATHML & fixing duplication 
(regression from last commit)

Change-Id: I22dba4fef5d1de7e4ef056a2e7f33511fa91318d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111621
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115880

diff --git a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl 
b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
index ad74d3716b45..b36a1e08fd46 100644
--- a/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
+++ b/filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
@@ -386,6 +386,8 @@
 
 
 
+
+
 
-
-
-
+
 
-
+
 
 
-
-
+
 
 
 
@@ -808,14 +808,14 @@
 
 
 
-
+
 
 Next 'div' added for 
floating.
 
 
-position:relative; left:
+display:inline; position:relative; 
left:
 
 cm;
 
@@ -830,42 +830,38 @@
 
 
 
-
-
-
+
 
 
 
-
 
 
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
 
-
+
 
 
-
 
-
+
 
 
 
 
 
 
-
-
-
+
 
 
-
+
 
 
 
@@ -876,20 +872,16 @@
 
 
 
-
-
-
 
 
-
+
 
 
 
 
 
 
-
-
+
 
 
 
@@ -947,6 +939,7 @@
 
 
 
+
 
 
 
@@ -965,7 +958,7 @@
 
 
 
-
+
 
 
 
@@ -1018,37 +1011,6 @@
 
 
 
-
-
-  
 
 
 
@@ -1061,13 +1023,8 @@
 
 
 
-
-
+
 
-
 
 
 
@@ -1095,13 +1052,7 @@
 replacement image and keep only the id attribute.
 See fdo#66645 -->
 
- 
 
-
- 
 
 
 
@@ -3015,6 +2966,11 @@
 
 
 
+
+
+inline
+
+
 
 
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/ucalc.cxx |   41 +
 sc/qa/unit/ucalc.hxx |2 ++
 2 files changed, 43 insertions(+)

New commits:
commit 2d8f77408ad3b7918096ad2818db266074c66061
Author: Xisco Fauli 
AuthorDate: Fri May 21 00:41:28 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 09:46:35 2021 +0200

tdf#76441: sc_ucalc: Add unittest

Change-Id: I39743a3d5100dd598e8af94c2bdd61b03dc68e57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115894
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index ae37d3007981..278062d59a3e 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -3312,6 +3312,47 @@ void Test::testAutoFilterTimeValue()
 m_pDoc->DeleteTab(0);
 }
 
+void Test::testTdf76441()
+{
+m_pDoc->InsertTab(0, "Test");
+
+// The result will be different depending on whether the format is set 
before
+// or after inserting the string
+
+OUString aCode = "MM:SS";
+sal_Int32 nCheckPos;
+SvNumFormatType nType;
+sal_uInt32 nFormat;
+SvNumberFormatter* pFormatter = m_pDoc->GetFormatTable();
+pFormatter->PutEntry( aCode, nCheckPos, nType, nFormat );
+
+ScPatternAttr aNewAttrs(m_pDoc->GetPool());
+SfxItemSet& rSet = aNewAttrs.GetItemSet();
+rSet.Put(SfxUInt32Item(ATTR_VALUE_FORMAT, nFormat));
+{
+// First insert the string, then the format
+m_pDoc->SetString(ScAddress(0,0,0), "01:20");
+
+m_pDoc->ApplyPattern(0, 0, 0, aNewAttrs);
+
+CPPUNIT_ASSERT_EQUAL(OUString("20:00"), 
m_pDoc->GetString(ScAddress(0,0,0)));
+}
+
+{
+// First set the format, then insert the string
+m_pDoc->ApplyPattern(0, 1, 0, aNewAttrs);
+
+m_pDoc->SetString(ScAddress(0,1,0), "01:20");
+
+// Without the fix in place, this test would have failed with
+// - Expected: 01:20
+// - Actual  : 20:00
+CPPUNIT_ASSERT_EQUAL(OUString("01:20"), 
m_pDoc->GetString(ScAddress(0,1,0)));
+}
+
+m_pDoc->DeleteTab(0);
+}
+
 void Test::testAdvancedFilter()
 {
 m_pDoc->InsertTab(0, "Test");
diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx
index 5d272430f88c..1047dca5cc81 100644
--- a/sc/qa/unit/ucalc.hxx
+++ b/sc/qa/unit/ucalc.hxx
@@ -92,6 +92,7 @@ public:
 void testDataArea();
 void testAutofilter();
 void testAutoFilterTimeValue();
+void testTdf76441();
 void testAdvancedFilter();
 void testTdf98642();
 void testMergedCells();
@@ -214,6 +215,7 @@ public:
 CPPUNIT_TEST(testToggleRefFlag);
 CPPUNIT_TEST(testAutofilter);
 CPPUNIT_TEST(testAutoFilterTimeValue);
+CPPUNIT_TEST(testTdf76441);
 CPPUNIT_TEST(testAdvancedFilter);
 CPPUNIT_TEST(testTdf98642);
 CPPUNIT_TEST(testMergedCells);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: officecfg/registry

2021-05-21 Thread scito (via logerrit)
 officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 0ae3cf8d0f9d882011a120bb9955951f838c3534
Author: scito 
AuthorDate: Fri May 14 20:17:29 2021 +0200
Commit: Mike Kaganski 
CommitDate: Fri May 21 09:47:57 2021 +0200

tdf#102255 tdf#90101 remove trailing space in labels

Change-Id: I8d2fe3889fec802eb48eb2e7cc2564c55772146d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115633
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
index 38cc0f0569f0..1d3cfc127993 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
@@ -2612,7 +2612,7 @@
   
   
 
-  Paste Transposed 
+  Paste Transposed
 
 
   Trans~pose
@@ -2623,7 +2623,7 @@
   
   
 
-  Paste As Link 
+  Paste As Link
 
 
   As ~Link
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sfx2/source

2021-05-21 Thread Vert D (via logerrit)
 sfx2/source/control/templatelocalview.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9431984f8d39a4d7fb9428138ecc6971c212c122
Author: Vert D 
AuthorDate: Thu Mar 18 13:42:04 2021 -0500
Commit: Noel Grandin 
CommitDate: Fri May 21 09:54:11 2021 +0200

tdf#132042 fix nItem id when creating region

Change-Id: I5f2d00dd58580922119b30aafce6695bacb6e2f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113331
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index baf630c7fff0..a933a00285dd 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -324,7 +324,7 @@ TemplateLocalView::getFilteredItems(const 
std::functionGetRegionCount();// Next 
regionId
-sal_uInt16 nItemId = getNextItemId();
+sal_uInt16 nItemId = maRegions.size() + 1;
 
 if (!mpDocTemplates->InsertDir(rName,nRegionId))
 return 0;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: chart2/source offapi/com sw/Module_sw.mk sw/qa sw/UITest_sw_chart.mk

2021-05-21 Thread Aritz Erkiaga (via logerrit)
 chart2/source/controller/dialogs/DialogModel.cxx  |   45 ++
 chart2/source/model/template/DataInterpreter.cxx  |6 +
 chart2/source/model/template/DataInterpreter.hxx  |2 
 chart2/source/model/template/StockDataInterpreter.cxx |   18 +
 chart2/source/model/template/StockDataInterpreter.hxx |2 
 offapi/com/sun/star/chart2/XDataInterpreter.idl   |   18 +
 sw/Module_sw.mk   |1 
 sw/UITest_sw_chart.mk |   12 +++
 sw/qa/uitest/chart/tdf138556.py   |   55 ++
 9 files changed, 157 insertions(+), 2 deletions(-)

New commits:
commit c8598f28db8ef5ab5f695cf1af645bb43dbc264d
Author: Aritz Erkiaga 
AuthorDate: Thu Mar 25 09:25:27 2021 +0100
Commit: Noel Grandin 
CommitDate: Fri May 21 09:55:36 2021 +0200

tdf#138556 Don’t add Open Values to stock chart types 1 and 3

A new function was defined, XdataInterpreter::getChartTypeSpecificData.
Being 100% chart-type-agnostic when retrieving chart data is impossible;
candlestick charts can have different numbers of sequences per series,
and this information is not present in any other chart type.

Change-Id: I0f54b09202c42667331b083d54d90e4ceee81083
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113075
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/chart2/source/controller/dialogs/DialogModel.cxx 
b/chart2/source/controller/dialogs/DialogModel.cxx
index 7e7d10896d03..b88d1f205d5d 100644
--- a/chart2/source/controller/dialogs/DialogModel.cxx
+++ b/chart2/source/controller/dialogs/DialogModel.cxx
@@ -261,6 +261,26 @@ void lcl_SetSequenceRole(
 xProp->setPropertyValue( "Role" , uno::Any( rRole ));
 }
 
+Sequence< OUString > lcl_CopyExcludingValuesFirst(
+Sequence< OUString > const & i_aInput )
+{
+Sequence< OUString > aOutput( i_aInput.getLength());
+int nSourceIndex, nDestIndex;
+for( nSourceIndex = nDestIndex = 0; nSourceIndex < i_aInput.getLength(); 
nSourceIndex++ )
+{
+if( i_aInput[nSourceIndex] == "values-first" )
+{
+aOutput.realloc( aOutput.getLength() - 1 );
+}
+else
+{
+aOutput[nDestIndex] = i_aInput[nSourceIndex];
+nDestIndex++;
+}
+}
+return aOutput;
+}
+
 Reference< XDataSeries > lcl_CreateNewSeries(
 const Reference< uno::XComponentContext > & xContext,
 const Reference< XChartType > & xChartType,
@@ -309,8 +329,29 @@ Reference< XDataSeries > lcl_CreateNewSeries(
 std::vector< Reference< data::XLabeledDataSequence > > 
aNewSequences;
 const OUString aRoleOfSeqForSeriesLabel = 
xChartType->getRoleOfSequenceForSeriesLabel();
 const OUString aLabel(::chart::SchResId(STR_DATA_UNNAMED_SERIES));
-const Sequence< OUString > aRoles( 
xChartType->getSupportedMandatoryRoles());
-const Sequence< OUString > aOptRoles( 
xChartType->getSupportedOptionalRoles());
+Sequence< OUString > aPossibleRoles( 
xChartType->getSupportedMandatoryRoles());
+Sequence< OUString > aPossibleOptRoles( 
xChartType->getSupportedOptionalRoles());
+
+//special handling for candlestick type
+if( xTemplate.is())
+{
+Reference< XDataInterpreter > xInterpreter( 
xTemplate->getDataInterpreter());
+if( xInterpreter.is())
+{
+sal_Int32 nStockVariant;
+if( xInterpreter->getChartTypeSpecificData("stock 
variant") >>= nStockVariant )
+{
+if( nStockVariant == 0 || nStockVariant == 2) {
+//delete "values-first" role
+aPossibleRoles = 
lcl_CopyExcludingValuesFirst(aPossibleRoles);
+aPossibleOptRoles = 
lcl_CopyExcludingValuesFirst(aPossibleOptRoles);
+}
+}
+}
+}
+
+const Sequence< OUString > aRoles( aPossibleRoles );
+const Sequence< OUString > aOptRoles( aPossibleOptRoles );
 
 for(OUString const & role : aRoles)
 {
diff --git a/chart2/source/model/template/DataInterpreter.cxx 
b/chart2/source/model/template/DataInterpreter.cxx
index ad473df9e8d7..67e5a0b856e4 100644
--- a/chart2/source/model/template/DataInterpreter.cxx
+++ b/chart2/source/model/template/DataInterpreter.cxx
@@ -298,6 +298,12 @@ Reference< data::XDataSource > SAL_CALL 
DataInterpreter::mergeInterpretedData(
 return DataSourceHelper::createDataSource( 
comphelper::containerToSequence( aResultVec ) );
 }
 
+uno::Any SAL_CALL DataInterpreter::getChartTypeSpecificData(
+const OUString & )
+{
+return uno::Any();
+}
+
 // convenience methods
 
 OUString DataInterpreter::GetRole( const Reference< data::XDataSequence > & 
xSeq )
diff --git a/chart

[Libreoffice-commits] core.git: sw/inc sw/source

2021-05-21 Thread Oleg Shchelykalnov (via logerrit)
 sw/inc/shellio.hxx |5 +
 sw/source/filter/basflt/fltini.cxx |   17 -
 2 files changed, 21 insertions(+), 1 deletion(-)

New commits:
commit aafe21d8765158d223dd359e6737b64ed1b34549
Author: Oleg Shchelykalnov 
AuthorDate: Wed Nov 11 17:27:08 2020 +0300
Commit: Noel Grandin 
CommitDate: Fri May 21 09:56:33 2021 +0200

tdf#137469 Add option to disable hidden text in text filter

Adds sixth filter option to text filter.
If true (default) filter save hidden text to output file.

Change-Id: I71202653b3cc4e50ddd06a665f5a718f875f6d79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105579
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sw/inc/shellio.hxx b/sw/inc/shellio.hxx
index d05293c45365..1cdda8e0ed5a 100644
--- a/sw/inc/shellio.hxx
+++ b/sw/inc/shellio.hxx
@@ -62,6 +62,7 @@ class SW_DLLPUBLIC SwAsciiOptions
 LanguageType m_nLanguage;
 LineEnd m_eCRLF_Flag;
 bool m_bIncludeBOM;   // Whether to include a byte-order-mark in the 
output.
+bool m_bIncludeHidden; // Whether to include hidden paragraphs and text.
 
 public:
 
@@ -80,6 +81,9 @@ public:
 bool GetIncludeBOM() const { return m_bIncludeBOM; }
 void SetIncludeBOM( bool bVal ) { m_bIncludeBOM = bVal; }
 
+bool GetIncludeHidden() const { return m_bIncludeHidden; }
+void SetIncludeHidden( bool bVal ) { m_bIncludeHidden = bVal; }
+
 void Reset()
 {
 m_sFont.clear();
@@ -87,6 +91,7 @@ public:
 m_eCharSet = ::osl_getThreadTextEncoding();
 m_nLanguage = LANGUAGE_SYSTEM;
 m_bIncludeBOM = true;
+m_bIncludeHidden = true;
 }
 // for the automatic conversion (mail/news/...)
 void ReadUserData( const OUString& );
diff --git a/sw/source/filter/basflt/fltini.cxx 
b/sw/source/filter/basflt/fltini.cxx
index e8a64eda2d83..57e66b9a5e8e 100644
--- a/sw/source/filter/basflt/fltini.cxx
+++ b/sw/source/filter/basflt/fltini.cxx
@@ -542,6 +542,7 @@ OUString NameFromCharSet(rtl_TextEncoding nChrSet)
 //  3. Fontname
 //  4. Language
 //  5. Whether to include byte-order-mark - as true/false
+//  6. Whether to include hidden paragraphs and text - as true/false
 // the delimiter character is ","
 
 void SwAsciiOptions::ReadUserData( const OUString& rStr )
@@ -565,6 +566,9 @@ void SwAsciiOptions::ReadUserData( const OUString& rStr )
 m_nLanguage = LanguageTag::convertToLanguageTypeWithFallback(sToken);
 if (nToken >= 0 && !(sToken = rStr.getToken(0, ',', nToken)).isEmpty()) // 
5. Include BOM?
 m_bIncludeBOM = !(sToken.equalsIgnoreAsciiCase("FALSE"));
+// 6. Include hidden text
+if (nToken >= 0 && !(sToken = rStr.getToken(0, ',', nToken)).isEmpty())
+m_bIncludeHidden = !(sToken.equalsIgnoreAsciiCase("FALSE"));
 }
 
 void SwAsciiOptions::WriteUserData(OUString& rStr)
@@ -598,7 +602,18 @@ void SwAsciiOptions::WriteUserData(OUString& rStr)
 rStr += ",";
 
 // 5. Whether to include byte-order-mark
-if( m_bIncludeBOM )
+if(m_bIncludeBOM)
+{
+rStr += "true";
+}
+else
+{
+rStr += "false";
+}
+rStr += ",";
+
+// 6. Whether to include hidden paragraphs and text
+if(m_bIncludeHidden)
 {
 rStr += "true";
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - solenv/flatpak-manifest.in

2021-05-21 Thread Stephan Bergmann (via logerrit)
 solenv/flatpak-manifest.in |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit d401b26b647dcabcb52243fe9a965df12001ca7b
Author: Stephan Bergmann 
AuthorDate: Thu May 20 16:39:20 2021 +0200
Commit: Michael Stahl 
CommitDate: Fri May 21 10:11:51 2021 +0200

Adapt to recent LO download.lst changes

Change-Id: Iac481bb016c69bf444cbf4c91f3d0ff79714783c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115882
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in
index d5699baefb90..a496f9cb940a 100644
--- a/solenv/flatpak-manifest.in
+++ b/solenv/flatpak-manifest.in
@@ -255,10 +255,10 @@
 "dest-filename": 
"external/tarballs/libfreehand-0.1.2.tar.xz"
 },
 {
-"url": 
"https://dev-www.libreoffice.org/src/language-subtag-registry-2020-12-18.tar.bz2";,
-"sha256": 
"62ce680d5db0f28001b64bd57db47f388c13629cdefc9af8e8af0fbe93689ba1",
+"url": 
"https://dev-www.libreoffice.org/src/language-subtag-registry-2021-03-05.tar.bz2";,
+"sha256": 
"ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a",
 "type": "file",
-"dest-filename": 
"external/tarballs/language-subtag-registry-2020-12-18.tar.bz2"
+"dest-filename": 
"external/tarballs/language-subtag-registry-2021-03-05.tar.bz2"
 },
 {
 "url": 
"https://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";,
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: svl/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 svl/qa/unit/svl.cxx |5 +
 1 file changed, 5 insertions(+)

New commits:
commit e8578423e9390a07419066d6c350c34fa254095d
Author: Xisco Fauli 
AuthorDate: Fri May 21 01:04:19 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 10:13:00 2021 +0200

tdf#123748: svl_qa_cppunit: Add unittest

Change-Id: I55b3ad930f39f955b5c1f326a12c20af5fc46a1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115896
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index f5b0bd557d13..3c9fae7931bb 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1347,6 +1347,11 @@ void Test::testUserDefinedNumberFormats()
 sExpected = "03:23:53 01/02";
 checkPreviewString(aFormatter, sCode, M_PI, eLang, sExpected);
 }
+{  // tdf#123748
+sCode = "HH:MM:SS.00";
+sExpected = "12:54:00.00";
+checkPreviewString(aFormatter, sCode, 43521.5375, eLang, sExpected);
+}
 {  // tdf#101096: different detection of month/minute with Excel
 sCode = "HH DD MM"; // month detected because of previous DD
 sExpected = "03 02 01";
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - sw/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 sw/qa/extras/htmlexport/xhtmlexport.cxx   |   16 
 sw/qa/extras/odfexport/data/tdf118637.odt |binary
 2 files changed, 16 insertions(+)

New commits:
commit 969379e9704fe124eec8ec0d7b945cfcf39b1c81
Author: Xisco Fauli 
AuthorDate: Wed May 19 10:38:02 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 10:18:37 2021 +0200

tdf#118637: sw_xhtmlexport: Add unittest

Change-Id: I110404a73ccdbffed788009730967b0efbbaf51f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115785
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 0655560f1b8aff45954682bb92498570f214)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115836

diff --git a/sw/qa/extras/htmlexport/xhtmlexport.cxx 
b/sw/qa/extras/htmlexport/xhtmlexport.cxx
index 85adfa2b7b49..738e16760c89 100644
--- a/sw/qa/extras/htmlexport/xhtmlexport.cxx
+++ b/sw/qa/extras/htmlexport/xhtmlexport.cxx
@@ -54,6 +54,22 @@ DECLARE_HTMLEXPORT_TEST(testTdf131812, "tdf131812.odt")
 != -1);
 }
 
+DECLARE_HTMLEXPORT_TEST(testTdf118637, "tdf118637.odt")
+{
+SvStream* pStream = maTempFile.GetStream(StreamMode::READ);
+CPPUNIT_ASSERT(pStream);
+sal_uInt64 nLength = pStream->TellEnd();
+OString aStream(read_uInt8s_ToOString(*pStream, nLength));
+CPPUNIT_ASSERT(
+aStream.indexOf(
+"The 
formula  ")
+!= -1);
+CPPUNIT_ASSERT(
+aStream.indexOf(
+"should be inline.")
+!= -1);
+}
+
 DECLARE_HTMLEXPORT_TEST(testTdf107696, "tdf107696.odt")
 {
 SvStream* pStream = maTempFile.GetStream(StreamMode::READ);
diff --git a/sw/qa/extras/odfexport/data/tdf118637.odt 
b/sw/qa/extras/odfexport/data/tdf118637.odt
new file mode 100644
index ..c2a8b4f53035
Binary files /dev/null and b/sw/qa/extras/odfexport/data/tdf118637.odt differ
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - emfio/qa tools/source

2021-05-21 Thread Bartosz Kosiorek (via logerrit)
 emfio/qa/cppunit/emf/EmfImportTest.cxx |   15 
++
 emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf |binary
 tools/source/generic/poly.cxx  |9 
--
 3 files changed, 21 insertions(+), 3 deletions(-)

New commits:
commit 71edc1d1af9691f7b5067579f22d3d8677c1608c
Author: Bartosz Kosiorek 
AuthorDate: Tue May 18 17:36:21 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 10:19:55 2021 +0200

tdf#55007 tdf#142263 tdf#142268 EMF Properly display ARC and CHORD

With previous implementation the ARC, ARCTO and CHORD were
not displayed if the corners of rectangle was switched.

With this patch the shapes are always displayed correctly.

Change-Id: Ie8ac7af812298c0b96c3b5af417117784f128ce1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115757
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek 
(cherry picked from commit 39369c6e67dffe04acc4abb678c1a94526237fd8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115524
Reviewed-by: Xisco Fauli 

diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx 
b/emfio/qa/cppunit/emf/EmfImportTest.cxx
index 53be54f34c02..24e2e295e957 100644
--- a/emfio/qa/cppunit/emf/EmfImportTest.cxx
+++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx
@@ -51,6 +51,7 @@ class Test : public test::BootstrapFixture, public 
XmlTestTools, public unotest:
 void TestTextMapMode();
 void TestEnglishMapMode();
 void TestRectangleWithModifyWorldTransform();
+void TestArcInsideWronglyDefinedRectangle();
 void TestChordWithModifyWorldTransform();
 void TestEllipseWithSelectClipPath();
 void TestEllipseXformIntersectClipRect();
@@ -79,6 +80,7 @@ public:
 CPPUNIT_TEST(TestTextMapMode);
 CPPUNIT_TEST(TestEnglishMapMode);
 CPPUNIT_TEST(TestRectangleWithModifyWorldTransform);
+CPPUNIT_TEST(TestArcInsideWronglyDefinedRectangle);
 CPPUNIT_TEST(TestChordWithModifyWorldTransform);
 CPPUNIT_TEST(TestEllipseWithSelectClipPath);
 CPPUNIT_TEST(TestEllipseXformIntersectClipRect);
@@ -358,6 +360,19 @@ void Test::TestChordWithModifyWorldTransform()
 assertXPathContent(pDocument, 
"/primitive2D/metafile/transform/polygonstroke/polygon", "590,448 436,541 
382,598 361,643 385,710 430,731 654,725 919,628");
 }
 
+void Test::TestArcInsideWronglyDefinedRectangle()
+{
+// tdf#142268 EMF import test with records: ARC
+Primitive2DSequence aSequence = 
parseEmf(u"/emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf");
+CPPUNIT_ASSERT_EQUAL(1, static_cast(aSequence.getLength()));
+drawinglayer::Primitive2dXmlDump dumper;
+xmlDocUniquePtr pDocument = 
dumper.dumpAndParse(comphelper::sequenceToContainer(aSequence));
+CPPUNIT_ASSERT (pDocument);
+
+assertXPath(pDocument, "/primitive2D/metafile/transform/polygonhairline", 
"color", "#00");
+assertXPathContent(pDocument, 
"/primitive2D/metafile/transform/polygonhairline/polygon", "1630,1450 1650,1470 
1850,1540 1990,1540 2040,1530 2190,1470 2270,1410 2330,1350 2390,1260 2430,1160 
2430,1140 2440,1090 2450,1060 2450,950 2440,930 2430,880 2430,850 2420,820 
2360,710 2310,650 2250,590 2110,510 1980,480 1870,480 1770,500 1670,540 
1650,560 1630,570 1600,580 1540,640 1460,740 1450,770");
+}
+
 void Test::TestEllipseWithSelectClipPath()
 {
 // EMF import test with records: RECTANGLE, BEGINPATH, ENDPATH, ELLIPSE
diff --git a/emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf 
b/emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf
new file mode 100644
index ..3a785fba6cac
Binary files /dev/null and 
b/emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf differ
diff --git a/tools/source/generic/poly.cxx b/tools/source/generic/poly.cxx
index f4631dfb1d86..8b4727782350 100644
--- a/tools/source/generic/poly.cxx
+++ b/tools/source/generic/poly.cxx
@@ -230,11 +230,14 @@ ImplPolygon::ImplPolygon( const tools::Rectangle& rBound, 
const Point& rStart, c
 const tools::Long  nWidth = rBound.GetWidth();
 const tools::Long  nHeight = rBound.GetHeight();
 
-if( ( nWidth > 1 ) && ( nHeight > 1 ) )
+if( ( nWidth != 0 ) && ( nHeight != 0 ) )
 {
 const Point aCenter( rBound.Center() );
-const tools::Long  nRadX = aCenter.X() - rBound.Left();
-const tools::Long  nRadY = aCenter.Y() - rBound.Top();
+// tdf#142268 Get Top Left corner of rectangle (the rectangle is not 
always correctly created)
+const auto aBoundLeft = rBound.Left() < aCenter.X() ? rBound.Left() : 
rBound.Right();
+const auto aBoundTop = rBound.Top() < aCenter.Y() ? rBound.Top() : 
rBound.Bottom();
+const tools::Long  nRadX = aCenter.X() - aBoundLeft;
+const tools::Long  nRadY = aCenter.Y() - aBoundTop;
 sal_uInt16  nPoints;
 
 tools::Long nRadXY;
___
Libreoffice-commits mailing l

[Libreoffice-commits] core.git: extensions/source sd/source sw/source

2021-05-21 Thread Caolán McNamara (via logerrit)
 extensions/source/abpilot/typeselectionpage.cxx |   12 +---
 extensions/source/abpilot/typeselectionpage.hxx |2 
 extensions/source/dbpilots/commonpagesdbp.cxx   |8 +--
 extensions/source/dbpilots/commonpagesdbp.hxx   |2 
 sd/source/ui/dlg/dlgsnap.cxx|   24 ++---
 sd/source/ui/inc/dlgsnap.hxx|1 
 sw/source/ui/dbui/dbinsdlg.cxx  |   26 ++
 sw/source/ui/misc/docfnote.cxx  |   61 +---
 sw/source/ui/misc/impfnote.hxx  |3 -
 sw/source/ui/misc/insfnote.cxx  |   23 +
 sw/source/ui/table/convert.cxx  |   16 +++---
 sw/source/uibase/inc/convert.hxx|2 
 sw/source/uibase/inc/dbinsdlg.hxx   |4 -
 sw/source/uibase/inc/insfnote.hxx   |3 -
 14 files changed, 107 insertions(+), 80 deletions(-)

New commits:
commit d16ceda55b145cb31882bbf504924aa9103278aa
Author: Caolán McNamara 
AuthorDate: Thu May 20 15:36:42 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 10:49:40 2021 +0200

use toggle instead of click for RadioButton

Change-Id: Ic246c68749f79cc1b25fed08a66fd8a0d57495f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115884
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 

diff --git a/extensions/source/abpilot/typeselectionpage.cxx 
b/extensions/source/abpilot/typeselectionpage.cxx
index 6e923b00aff6..29efaf4f4fe7 100644
--- a/extensions/source/abpilot/typeselectionpage.cxx
+++ b/extensions/source/abpilot/typeselectionpage.cxx
@@ -115,14 +115,14 @@ namespace abp
 m_aAllTypes.push_back( ButtonItem( m_xMacab.get(), AST_MACAB, 
bHaveMacab ) );
 m_aAllTypes.push_back( ButtonItem( m_xOther.get(), AST_OTHER, true ) );
 
-Link aTypeSelectionHandler = LINK(this, 
TypeSelectionPage, OnTypeSelected );
+Link aTypeSelectionHandler = LINK(this, 
TypeSelectionPage, OnTypeSelected );
 for (auto const& elem : m_aAllTypes)
 {
 if (!elem.m_bVisible)
 elem.m_pItem->hide();
 else
 {
-elem.m_pItem->connect_clicked( aTypeSelectionHandler );
+elem.m_pItem->connect_toggled( aTypeSelectionHandler );
 elem.m_pItem->show();
 }
 }
@@ -205,22 +205,20 @@ namespace abp
 return true;
 }
 
-
 bool TypeSelectionPage::canAdvance() const
 {
 return  AddressBookSourcePage::canAdvance()
 &&  (AST_INVALID != getSelectedType());
 }
 
-
-IMPL_LINK_NOARG( TypeSelectionPage, OnTypeSelected, weld::Button&, void )
+IMPL_LINK(TypeSelectionPage, OnTypeSelected, weld::ToggleButton&, rButton, 
void)
 {
+if (!rButton.get_active())
+return;
 getDialog()->typeSelectionChanged( getSelectedType() );
 updateDialogTravelUI();
 }
 
-
 }   // namespace abp
 
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/abpilot/typeselectionpage.hxx 
b/extensions/source/abpilot/typeselectionpage.hxx
index 9caaeb8e1c4e..b3878a6bf711 100644
--- a/extensions/source/abpilot/typeselectionpage.hxx
+++ b/extensions/source/abpilot/typeselectionpage.hxx
@@ -71,7 +71,7 @@ namespace abp
 // OImportPage overridables
 virtual boolcanAdvance() const override;
 
-DECL_LINK( OnTypeSelected, weld::Button&, void );
+DECL_LINK( OnTypeSelected, weld::ToggleButton&, void );
 
 voidselectType( AddressSourceType _eType );
 };
diff --git a/extensions/source/dbpilots/commonpagesdbp.cxx 
b/extensions/source/dbpilots/commonpagesdbp.cxx
index 883f1a78536c..3aede04224e4 100644
--- a/extensions/source/dbpilots/commonpagesdbp.cxx
+++ b/extensions/source/dbpilots/commonpagesdbp.cxx
@@ -362,13 +362,15 @@ namespace dbp
 m_pNo = &_rNoButton;
 m_pList = &_rSelection;
 
-m_pYes->connect_clicked(LINK(this, OMaybeListSelectionPage, 
OnRadioSelected));
-m_pNo->connect_clicked(LINK(this, OMaybeListSelectionPage, 
OnRadioSelected));
+m_pYes->connect_toggled(LINK(this, OMaybeListSelectionPage, 
OnRadioSelected));
+m_pNo->connect_toggled(LINK(this, OMaybeListSelectionPage, 
OnRadioSelected));
 implEnableWindows();
 }
 
-IMPL_LINK_NOARG( OMaybeListSelectionPage, OnRadioSelected, weld::Button&, 
void )
+IMPL_LINK(OMaybeListSelectionPage, OnRadioSelected, weld::ToggleButton&, 
rButton, void)
 {
+if (!rButton.get_active())
+return;
 implEnableWindows();
 }
 
diff --git a/extensions/source/dbpilots/commonpagesdbp.hxx 
b/extensions/source/dbpilots/commonpagesdbp.hxx
index ebb2331c5bd8..6aaac6854eab 100644
--- a/extensions/source/dbpilots/commonpagesdbp.hxx
+++ b/extensions/source/dbpilots/commonpagesdbp.hxx
@@ -70,7 +70,7 @@ namespace dbp
 virtual ~OMaybeListSelectionPage() overri

[Libreoffice-commits] core.git: formula/source

2021-05-21 Thread Caolán McNamara (via logerrit)
 formula/source/ui/dlg/formula.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit fa3266f9bf00b5858f36ae37e5720026a1ed40cc
Author: Caolán McNamara 
AuthorDate: Thu May 20 16:53:14 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 10:49:57 2021 +0200

use toggle instead of click for CheckButton

Change-Id: Iec5139cc2b739a624db7f10854a29e191b509286
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115889
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/formula/source/ui/dlg/formula.cxx 
b/formula/source/ui/dlg/formula.cxx
index 456d29e2de38..06044e8a875f 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -114,7 +114,7 @@ public:
 DECL_LINK( ModifyHdl, ParaWin&, void );
 DECL_LINK( FxHdl, ParaWin&, void );
 
-DECL_LINK( MatrixHdl, weld::Button&, void );
+DECL_LINK( MatrixHdl, weld::ToggleButton&, void );
 DECL_LINK( FormulaHdl, weld::TextView&, void);
 DECL_LINK( FormulaCursorHdl, weld::TextView&, void );
 DECL_LINK( BtnHdl, weld::Button&, void );
@@ -295,7 +295,7 @@ FormulaDlg_Impl::FormulaDlg_Impl(weld::Dialog& rDialog,
 m_xWndFormResult->set_visible( _bSupportFunctionResult );
 
 if ( _bSupportMatrix )
-m_xBtnMatrix->connect_clicked( LINK( this, FormulaDlg_Impl, MatrixHdl 
) );
+m_xBtnMatrix->connect_toggled( LINK( this, FormulaDlg_Impl, MatrixHdl 
) );
 else
 m_xBtnMatrix->hide();
 
@@ -1655,7 +1655,7 @@ IMPL_LINK_NOARG( FormulaDlg_Impl, StructSelHdl, 
StructPage&, void)
 m_bStructUpdate = true;
 }
 
-IMPL_LINK_NOARG( FormulaDlg_Impl, MatrixHdl, weld::Button&, void)
+IMPL_LINK_NOARG( FormulaDlg_Impl, MatrixHdl, weld::ToggleButton&, void)
 {
 m_bUserMatrixFlag = true;
 UpdateValues(true);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/wasm' - config_host.mk.in include/vcl solenv/gbuild vcl/headless vcl/source

2021-05-21 Thread Armin Le Grand (Allotropia) (via logerrit)
 config_host.mk.in|1 
 include/vcl/BitmapTools.hxx  |2 
 solenv/gbuild/gbuild.mk  |1 
 vcl/headless/svpgdi.cxx  |   30 +
 vcl/source/bitmap/BitmapTools.cxx|   96 ++-
 vcl/source/filter/png/PngImageReader.cxx |   14 
 6 files changed, 143 insertions(+), 1 deletion(-)

New commits:
commit fac2aeca4010cb5dc0de39557d51aa94ad0df091
Author: Armin Le Grand (Allotropia) 
AuthorDate: Fri May 21 11:08:44 2021 +0200
Commit: Armin Le Grand (Allotropia) 
CommitDate: Fri May 21 11:08:44 2021 +0200

Wasm optional premultiply table replace

Change-Id: I69f4aab802a935d6e850a7705d38f3e378cd5fce

diff --git a/config_host.mk.in b/config_host.mk.in
index b7075e473c60..5a17772744d4 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -216,6 +216,7 @@ export ENABLE_WASM_STRIP_EPUB=@ENABLE_WASM_STRIP@
 export ENABLE_WASM_STRIP_LOCALES=@ENABLE_WASM_STRIP@
 export ENABLE_WASM_STRIP_GUESSLANG=@ENABLE_WASM_STRIP@
 export ENABLE_WASM_STRIP_HUNSPELL=@ENABLE_WASM_STRIP@
+export ENABLE_WASM_STRIP_PREMULTIPLY=@ENABLE_WASM_STRIP@
 export ENABLE_WERROR=@ENABLE_WERROR@
 export ENDIANNESS=@ENDIANNESS@
 export EPM=@EPM@
diff --git a/include/vcl/BitmapTools.hxx b/include/vcl/BitmapTools.hxx
index fa7a43bc99a6..c9bc9bdc3beb 100644
--- a/include/vcl/BitmapTools.hxx
+++ b/include/vcl/BitmapTools.hxx
@@ -26,10 +26,12 @@ namespace com::sun::star::geometry { struct 
IntegerRectangle2D; }
 
 namespace vcl::bitmap {
 
+#ifndef ENABLE_WASM_STRIP_PREMULTIPLY
 typedef std::array, 256> lookup_table;
 
 VCL_DLLPUBLIC lookup_table const & get_premultiply_table();
 VCL_DLLPUBLIC lookup_table const & get_unpremultiply_table();
+#endif
 
 sal_uInt8 unpremultiply(sal_uInt8 c, sal_uInt8 a);
 sal_uInt8 premultiply(sal_uInt8 c, sal_uInt8 a);
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 34ce4023441c..2acbc0e73d07 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -237,6 +237,7 @@ gb_GLOBALDEFS += -DENABLE_WASM_STRIP_EPUB
 gb_GLOBALDEFS += -DENABLE_WASM_STRIP_LOCALES
 gb_GLOBALDEFS += -DENABLE_WASM_STRIP_GUESSLANG
 gb_GLOBALDEFS += -DENABLE_WASM_STRIP_HUNSPELL
+gb_GLOBALDEFS += -DENABLE_WASM_STRIP_PREMULTIPLY
 endif
 
 ifeq ($(gb_ENABLE_DBGUTIL),$(true))
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 84d0d3b02d2c..2ce1718e0873 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -2203,7 +2203,9 @@ void SvpSalGraphics::drawMask( const SalTwoRect& rTR,
 }
 sal_Int32 nStride;
 unsigned char *mask_data = aSurface.getBits(nStride);
+#ifndef ENABLE_WASM_STRIP_PREMULTIPLY
 vcl::bitmap::lookup_table const & unpremultiply_table = 
vcl::bitmap::get_unpremultiply_table();
+#endif
 for (tools::Long y = rTR.mnSrcY ; y < rTR.mnSrcY + rTR.mnSrcHeight; ++y)
 {
 unsigned char *row = mask_data + (nStride*y);
@@ -2211,9 +2213,15 @@ void SvpSalGraphics::drawMask( const SalTwoRect& rTR,
 for (tools::Long x = rTR.mnSrcX; x < rTR.mnSrcX + rTR.mnSrcWidth; ++x)
 {
 sal_uInt8 a = data[SVP_CAIRO_ALPHA];
+#ifdef ENABLE_WASM_STRIP_PREMULTIPLY
+sal_uInt8 b = vcl::bitmap::unpremultiply(a, data[SVP_CAIRO_BLUE]);
+sal_uInt8 g = vcl::bitmap::unpremultiply(a, data[SVP_CAIRO_GREEN]);
+sal_uInt8 r = vcl::bitmap::unpremultiply(a, data[SVP_CAIRO_RED]);
+#else
 sal_uInt8 b = unpremultiply_table[a][data[SVP_CAIRO_BLUE]];
 sal_uInt8 g = unpremultiply_table[a][data[SVP_CAIRO_GREEN]];
 sal_uInt8 r = unpremultiply_table[a][data[SVP_CAIRO_RED]];
+#endif
 if (r == 0 && g == 0 && b == 0)
 {
 data[0] = nMaskColor.GetBlue();
@@ -2316,12 +2324,20 @@ Color SvpSalGraphics::getPixel( tools::Long nX, 
tools::Long nY )
 cairo_destroy(cr);
 
 cairo_surface_flush(target);
+#ifndef ENABLE_WASM_STRIP_PREMULTIPLY
 vcl::bitmap::lookup_table const & unpremultiply_table = 
vcl::bitmap::get_unpremultiply_table();
+#endif
 unsigned char *data = cairo_image_surface_get_data(target);
 sal_uInt8 a = data[SVP_CAIRO_ALPHA];
+#ifdef ENABLE_WASM_STRIP_PREMULTIPLY
+sal_uInt8 b = vcl::bitmap::unpremultiply(a, data[SVP_CAIRO_BLUE]);
+sal_uInt8 g = vcl::bitmap::unpremultiply(a, data[SVP_CAIRO_GREEN]);
+sal_uInt8 r = vcl::bitmap::unpremultiply(a, data[SVP_CAIRO_RED]);
+#else
 sal_uInt8 b = unpremultiply_table[a][data[SVP_CAIRO_BLUE]];
 sal_uInt8 g = unpremultiply_table[a][data[SVP_CAIRO_GREEN]];
 sal_uInt8 r = unpremultiply_table[a][data[SVP_CAIRO_RED]];
+#endif
 Color aColor(ColorAlpha, a, r, g, b);
 cairo_surface_destroy(target);
 
@@ -2583,9 +2599,11 @@ void SvpSalGraphics::releaseCairoContext(cairo_t* cr, 
bool bXorModeAllowed, cons
 sal_Int32 nUnscaledExtentsRight = nExtentsRight * m_fScale;
 sal_Int32 nUnscaledExtentsTop = nExtentsTop * m_fScale;
 sal_Int32 nUnsca

[Libreoffice-commits] core.git: sd/source

2021-05-21 Thread Caolán McNamara (via logerrit)
 sd/source/filter/html/pubdlg.cxx |   83 +++
 sd/source/ui/dlg/present.cxx |   19 
 sd/source/ui/inc/present.hxx |4 -
 sd/source/ui/inc/pubdlg.hxx  |   12 ++---
 4 files changed, 66 insertions(+), 52 deletions(-)

New commits:
commit d35e71409fac3d6054f2acb71a96e84888763f32
Author: Caolán McNamara 
AuthorDate: Thu May 20 16:45:15 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 11:36:17 2021 +0200

use toggle instead of click for RadioButton

Change-Id: I57cd1c074e4c4fc48ee83ac63a7c0ec5bcae5ae4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115890
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx
index 845139acbd72..cbd57662b76d 100644
--- a/sd/source/filter/html/pubdlg.cxx
+++ b/sd/source/filter/html/pubdlg.cxx
@@ -404,36 +404,36 @@ SdPublishingDlg::SdPublishingDlg(weld::Window* pWindow, 
DocumentType eDocType)
 m_xLastPageButton->connect_clicked(LINK(this,SdPublishingDlg,LastPageHdl));
 m_xNextPageButton->connect_clicked(LINK(this,SdPublishingDlg,NextPageHdl));
 
-m_xPage1_NewDesign->connect_clicked(LINK(this,SdPublishingDlg,DesignHdl));
-m_xPage1_OldDesign->connect_clicked(LINK(this,SdPublishingDlg,DesignHdl));
+m_xPage1_NewDesign->connect_toggled(LINK(this,SdPublishingDlg,DesignHdl));
+m_xPage1_OldDesign->connect_toggled(LINK(this,SdPublishingDlg,DesignHdl));
 
m_xPage1_Designs->connect_changed(LINK(this,SdPublishingDlg,DesignSelectHdl));
 
m_xPage1_DelDesign->connect_clicked(LINK(this,SdPublishingDlg,DesignDeleteHdl));
 
-m_xPage2_Standard->connect_clicked(LINK(this,SdPublishingDlg,BaseHdl));
-m_xPage2_Frames->connect_clicked(LINK(this,SdPublishingDlg,BaseHdl));
-
m_xPage2_SingleDocument->connect_clicked(LINK(this,SdPublishingDlg,BaseHdl));
-m_xPage2_Kiosk->connect_clicked(LINK(this,SdPublishingDlg,BaseHdl));
-m_xPage2_WebCast->connect_clicked(LINK(this,SdPublishingDlg,BaseHdl));
+m_xPage2_Standard->connect_toggled(LINK(this,SdPublishingDlg,BaseHdl));
+m_xPage2_Frames->connect_toggled(LINK(this,SdPublishingDlg,BaseHdl));
+
m_xPage2_SingleDocument->connect_toggled(LINK(this,SdPublishingDlg,BaseHdl));
+m_xPage2_Kiosk->connect_toggled(LINK(this,SdPublishingDlg,BaseHdl));
+m_xPage2_WebCast->connect_toggled(LINK(this,SdPublishingDlg,BaseHdl));
 
 m_xPage2_Content->connect_toggled(LINK(this,SdPublishingDlg,ContentHdl));
 
-m_xPage2_ASP->connect_clicked(LINK(this,SdPublishingDlg,WebServerHdl));
-m_xPage2_PERL->connect_clicked(LINK(this,SdPublishingDlg,WebServerHdl));
+m_xPage2_ASP->connect_toggled(LINK(this,SdPublishingDlg,WebServerHdl));
+m_xPage2_PERL->connect_toggled(LINK(this,SdPublishingDlg,WebServerHdl));
 m_xPage2_Index->set_text("index" STR_HTMLEXP_DEFAULT_EXTENSION);
 m_xPage2_CGI->set_text("/cgi-bin/");
 
-m_xPage3_Png->connect_clicked(LINK(this,SdPublishingDlg, GfxFormatHdl));
-m_xPage3_Gif->connect_clicked(LINK(this,SdPublishingDlg, GfxFormatHdl));
-m_xPage3_Jpg->connect_clicked(LINK(this,SdPublishingDlg, GfxFormatHdl));
+m_xPage3_Png->connect_toggled(LINK(this,SdPublishingDlg, GfxFormatHdl));
+m_xPage3_Gif->connect_toggled(LINK(this,SdPublishingDlg, GfxFormatHdl));
+m_xPage3_Jpg->connect_toggled(LINK(this,SdPublishingDlg, GfxFormatHdl));
 m_xPage3_Quality->set_sensitive(false);
 
-m_xPage3_Resolution_1->connect_clicked(LINK(this,SdPublishingDlg, 
ResolutionHdl ));
-m_xPage3_Resolution_2->connect_clicked(LINK(this,SdPublishingDlg, 
ResolutionHdl ));
-m_xPage3_Resolution_3->connect_clicked(LINK(this,SdPublishingDlg, 
ResolutionHdl ));
-m_xPage3_Resolution_4->connect_clicked(LINK(this, SdPublishingDlg, 
ResolutionHdl));
+m_xPage3_Resolution_1->connect_toggled(LINK(this,SdPublishingDlg, 
ResolutionHdl ));
+m_xPage3_Resolution_2->connect_toggled(LINK(this,SdPublishingDlg, 
ResolutionHdl ));
+m_xPage3_Resolution_3->connect_toggled(LINK(this,SdPublishingDlg, 
ResolutionHdl ));
+m_xPage3_Resolution_4->connect_toggled(LINK(this, SdPublishingDlg, 
ResolutionHdl));
 
-m_xPage2_ChgDefault->connect_clicked(LINK(this,SdPublishingDlg, 
SlideChgHdl));
-m_xPage2_ChgAuto->connect_clicked(LINK(this,SdPublishingDlg, SlideChgHdl));
+m_xPage2_ChgDefault->connect_toggled(LINK(this,SdPublishingDlg, 
SlideChgHdl));
+m_xPage2_ChgAuto->connect_toggled(LINK(this,SdPublishingDlg, SlideChgHdl));
 
 m_xPage5_Buttons->SetSelectHdl(LINK(this,SdPublishingDlg, ButtonsHdl ));
 m_xPage5_Buttons->SetStyle( m_xPage5_Buttons->GetStyle() | WB_VSCROLL );
@@ -835,9 +835,12 @@ void SdPublishingDlg::GetParameterSequence( Sequence< 
PropertyValue >& rParams )
 }
 
 // Clickhandler for the radiobuttons of the design-selection
-IMPL_LINK( SdPublishingDlg, DesignHdl, weld::Button&, rButton, void )
+IMPL_LINK( SdPublishingDlg, DesignHdl, weld::ToggleButton&, rButton, void )
 {
-

[Libreoffice-commits] core.git: svl/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 svl/qa/unit/svl.cxx |8 
 1 file changed, 8 insertions(+)

New commits:
commit e95bafd4bf9e8159d5d58af413848c64aeed571a
Author: Xisco Fauli 
AuthorDate: Fri May 21 10:17:47 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 11:36:31 2021 +0200

tdf#122991: svl_qa_cppunit: Add unittest

Change-Id: I94fdab71acbbaf768f5151c642527d61728dfc7a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115899
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 3c9fae7931bb..69135ebdb426 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1337,6 +1337,14 @@ void Test::testUserDefinedNumberFormats()
 sExpected = "-12.00 ;";
 checkPreviewString(aFormatter, sCode, -12.0, eLang, sExpected);
 }
+{  // tdf#122991
+sCode = "[HH]:MM:SS";
+sExpected = "08:47:00";
+checkPreviewString(aFormatter, sCode, 0.3659722, eLang, 
sExpected);
+
+sCode = "HH:MM:SS";
+checkPreviewString(aFormatter, sCode, 0.3659722, eLang, 
sExpected);
+}
 {  // tdf#95339: detect SSMM as second minute
 sCode = "SS:MM:HH DD/MM/YY"; // Month not detected by Excel, but 
we do not follow that.
 sExpected = "53:23:03 02/01/00";
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: svl/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 svl/qa/unit/svl.cxx |5 +
 1 file changed, 5 insertions(+)

New commits:
commit a6241e3f7585c3c1806df64d4c485afb47da68c4
Author: Xisco Fauli 
AuthorDate: Fri May 21 10:45:25 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 12:15:16 2021 +0200

tdf#129878: svl_qa_cppunit: Add unittest

Change-Id: I61ad886f4fc79ae6c4a71bcd331adbd7a8e9d966
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115900
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 69135ebdb426..d667ec4687eb 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1337,6 +1337,11 @@ void Test::testUserDefinedNumberFormats()
 sExpected = "-12.00 ;";
 checkPreviewString(aFormatter, sCode, -12.0, eLang, sExpected);
 }
+{  // tdf#129878
+sCode = "[HH]";
+sExpected = "#FMT";
+checkPreviewString(aFormatter, sCode, 2E+306, eLang, sExpected);
+}
 {  // tdf#122991
 sCode = "[HH]:MM:SS";
 sExpected = "08:47:00";
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sw/source

2021-05-21 Thread Miklos Vajna (via logerrit)
 sw/source/core/text/frmcrsr.cxx  |2 +-
 sw/source/core/text/frmform.cxx  |4 ++--
 sw/source/core/text/frmpaint.cxx |2 +-
 sw/source/core/text/inftxt.cxx   |4 ++--
 sw/source/core/text/itrcrsr.cxx  |2 +-
 sw/source/core/text/itrform2.cxx |8 
 sw/source/core/text/itrpaint.cxx |   10 +-
 sw/source/core/text/itrtxt.cxx   |2 +-
 sw/source/core/text/porfld.cxx   |8 
 sw/source/core/text/pormulti.cxx |8 
 sw/source/core/text/porrst.cxx   |2 +-
 11 files changed, 26 insertions(+), 26 deletions(-)

New commits:
commit 9e075acf2bf1ce6c43fdf5b601507ee0663bd691
Author: Miklos Vajna 
AuthorDate: Fri May 21 11:25:12 2021 +0200
Commit: Miklos Vajna 
CommitDate: Fri May 21 12:32:03 2021 +0200

sw: eliminate recently added static_cast() calls

This was added in commit 301278b656e76b6f42af5cf8a6f5c6c02acfffeb (sw:
allow the height of a line to be larger than 65536 twips, 2021-05-20) to
fix -Werror,-Wsign-compare problems, but o3tl::narrowing() is a better
way to handle this, as that way the integer conversion is still
implicit, which allows detecting integer truncation at runtime (with
suitable compiler flags).

Change-Id: I2f62420457e3d053e6fbc3b787b3c224c6f0586c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115903
Tested-by: Jenkins
Reviewed-by: Miklos Vajna 

diff --git a/sw/source/core/text/frmcrsr.cxx b/sw/source/core/text/frmcrsr.cxx
index 21af2c622af1..ce29c020fa4a 100644
--- a/sw/source/core/text/frmcrsr.cxx
+++ b/sw/source/core/text/frmcrsr.cxx
@@ -590,7 +590,7 @@ bool SwTextFrame::GetModelPositionForViewPoint_(SwPosition* 
pPos, const Point& r
 // See comment in AdjustFrame()
 SwTwips nMaxY = getFrameArea().Top() + getFramePrintArea().Top() + 
getFramePrintArea().Height();
 aLine.TwipsToLine( rPoint.Y() );
-while( aLine.Y() + static_cast(aLine.GetLineHeight()) > nMaxY 
)
+while( aLine.Y() + o3tl::narrowing(aLine.GetLineHeight()) > 
nMaxY )
 {
 if( !aLine.Prev() )
 break;
diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx
index 5aade6a0169b..d461c938739c 100644
--- a/sw/source/core/text/frmform.cxx
+++ b/sw/source/core/text/frmform.cxx
@@ -1200,7 +1200,7 @@ bool SwTextFrame::FormatLine( SwTextFormatter &rLine, 
const bool bPrev )
   bOldHyph == pNew->IsEndHyph();
 if ( bUnChg && !bPrev )
 {
-const tools::Long nWidthDiff = nOldWidth > 
static_cast(pNew->Width())
+const tools::Long nWidthDiff = nOldWidth > 
o3tl::narrowing(pNew->Width())
 ? nOldWidth - pNew->Width()
 : pNew->Width() - nOldWidth;
 
@@ -1254,7 +1254,7 @@ bool SwTextFrame::FormatLine( SwTextFormatter &rLine, 
const bool bPrev )
 rLine.SetUnclipped( false );
 }
 }
-SwTwips nRght = std::max( nOldWidth, 
static_cast(pNew->Width()) +
+SwTwips nRght = std::max( nOldWidth, 
o3tl::narrowing(pNew->Width()) +
  pNew->GetHangingMargin() );
 SwViewShell *pSh = getRootFrame()->GetCurrShell();
 const SwViewOption *pOpt = pSh ? pSh->GetViewOptions() : nullptr;
diff --git a/sw/source/core/text/frmpaint.cxx b/sw/source/core/text/frmpaint.cxx
index 93007bfcf539..76630fc573f6 100644
--- a/sw/source/core/text/frmpaint.cxx
+++ b/sw/source/core/text/frmpaint.cxx
@@ -356,7 +356,7 @@ void SwTextFrame::PaintExtraData( const SwRect &rRect ) 
const
 SwTextPainter  aLine( const_cast(this), &aInf );
 bool bNoDummy = !aLine.GetNext(); // Only one empty line!
 
-while( aLine.Y() + static_cast(aLine.GetLineHeight()) <= 
rRect.Top() )
+while( aLine.Y() + o3tl::narrowing(aLine.GetLineHeight()) <= 
rRect.Top() )
 {
 if( !aLine.GetCurr()->IsDummy() &&
 ( rLineInf.IsCountBlankLines() ||
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index 261a171d3d6d..344ccede8962 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -1023,13 +1023,13 @@ void SwTextPaintInfo::DrawRedArrow( const SwLinePortion 
&rPor ) const
 {
 aRect.Pos().AdjustY(20 - GetAscent() );
 aRect.Pos().AdjustX(20 );
-if( aSize.Height() > static_cast(rPor.Height()) )
+if( aSize.Height() > o3tl::narrowing(rPor.Height()) )
 aRect.Height( rPor.Height() );
 cChar = CHAR_LEFT_ARROW;
 }
 else
 {
-if( aSize.Height() > static_cast(rPor.Height()) )
+if( aSize.Height() > o3tl::narrowing(rPor.Height()) )
 aRect.Height( rPor.Height() );
 aRect.Pos().AdjustY( -(aRect.Height() + 20) );
 aRect.Pos().AdjustX( -(aRect.Width() + 20) );
diff --git a/sw/source/core/text/itrcrsr.cxx b/sw/source/core/text/itrcrsr.cxx
index c8c2803cb9b0..b728a6ce98ff 100644
--- a/sw/source/core/t

[Libreoffice-commits] core.git: sc/qa sc/source

2021-05-21 Thread scito (via logerrit)
 sc/qa/unit/ucalc_copypaste.cxx   |   57 +++
 sc/source/core/data/documen3.cxx |2 -
 2 files changed, 58 insertions(+), 1 deletion(-)

New commits:
commit fd0779f6a0fd04263155d293320546ce7cbae84b
Author: scito 
AuthorDate: Fri May 21 11:06:20 2021 +0200
Commit: Mike Kaganski 
CommitDate: Fri May 21 12:32:47 2021 +0200

tdf#71058 cut paste transposed: use correct clipdoc

ScDocument: :UpdateTranspose() operated on the wrong clipdoc
Change-Id: I10fb010c7b6a1d523a1af92d67fc127957f9d17f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115901
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sc/qa/unit/ucalc_copypaste.cxx b/sc/qa/unit/ucalc_copypaste.cxx
index 40536a573d90..0bbd326eb128 100644
--- a/sc/qa/unit/ucalc_copypaste.cxx
+++ b/sc/qa/unit/ucalc_copypaste.cxx
@@ -114,6 +114,7 @@ public:
 void testCopyPasteFormulas();
 void testCopyPasteFormulasExternalDoc();
 void testCopyPasteReferencesExternalDoc(); // tdf#106456
+void testTdf71058();
 
 CPPUNIT_TEST_SUITE(TestCopyPaste);
 
@@ -188,6 +189,8 @@ public:
 CPPUNIT_TEST(testCopyPasteFormulasExternalDoc);
 CPPUNIT_TEST(testCopyPasteReferencesExternalDoc);
 
+CPPUNIT_TEST(testTdf71058);
+
 CPPUNIT_TEST_SUITE_END();
 
 private:
@@ -6817,6 +6820,60 @@ void TestCopyPaste::testCopyPasteReferencesExternalDoc()
 xExtDocSh->DoClose();
 }
 
+void TestCopyPaste::testTdf71058()
+{
+const SCTAB nTab = 0;
+m_pDoc->InsertTab(nTab, "Test");
+
+m_pDoc->SetString(2, 2, nTab, "=C4"); // C3
+m_pDoc->SetString(3, 2, nTab, "=D4"); // D3
+m_pDoc->SetValue(2, 3, nTab, 1.0); // C4
+m_pDoc->SetValue(3, 3, nTab, 2.0); // D4
+
+// Cut C4:C5 to the clip document.
+ScDocument aClipDoc(SCDOCMODE_CLIP);
+ScRange aSrcRange(2, 3, nTab, 3, 3, nTab);
+cutToClip(*m_xDocShell, aSrcRange, &aClipDoc, false);
+
+// To E6:E7
+ScRange aDestRange(4, 5, nTab, 4, 6, nTab);
+ScMarkData aDestMark(m_pDoc->GetSheetLimits());
+
+// Transpose
+ScDocument* pOrigClipDoc = &aClipDoc;
+ScDocumentUniquePtr pTransClip(new ScDocument(SCDOCMODE_CLIP));
+aClipDoc.TransposeClip(pTransClip.get(), InsertDeleteFlags::ALL, false, 
true);
+aDestMark.SetMarkArea(aDestRange);
+// Paste
+m_pDoc->CopyFromClip(aDestRange, aDestMark, InsertDeleteFlags::ALL, 
nullptr, pTransClip.get(),
+ true, false, true, false);
+m_pDoc->UpdateTranspose(aDestRange.aStart, pOrigClipDoc, aDestMark, 
nullptr);
+pTransClip.reset();
+
+// Check precondition
+CPPUNIT_ASSERT_EQUAL(1.0, m_pDoc->GetValue(4, 5, nTab));
+CPPUNIT_ASSERT_EQUAL(2.0, m_pDoc->GetValue(4, 6, nTab));
+
+// Check results
+// Without the fix in place, this would have failed with
+// - Expected: =E6
+// - Actual  : =C4
+ASSERT_FORMULA_EQUAL(*m_pDoc, ScAddress(2, 2, nTab), "E6", "Wrong 
formula");
+// Without the fix in place, this would have failed with
+// - Expected: 1
+// - Actual  : 0
+CPPUNIT_ASSERT_EQUAL(1.0, m_pDoc->GetValue(2, 2, nTab));
+
+// Without the fix in place, this would have failed with
+// - Expected: =E7
+// - Actual  : =D4
+ASSERT_FORMULA_EQUAL(*m_pDoc, ScAddress(3, 2, nTab), "E7", "Wrong 
formula");
+// Without the fix in place, this would have failed with
+// - Expected: 2
+// - Actual  : 0
+CPPUNIT_ASSERT_EQUAL(2.0, m_pDoc->GetValue(3, 2, nTab));
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(TestCopyPaste);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index 8de06d151d78..5db63b6e7815 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -1112,7 +1112,7 @@ void ScDocument::UpdateTranspose( const ScAddress& 
rDestPos, ScDocument* pClipDo
 OSL_ENSURE(pClipDoc->bIsClip, "UpdateTranspose: No Clip");
 
 ScRange aSource;
-ScClipParam& rClipParam = GetClipParam();
+ScClipParam& rClipParam = pClipDoc->GetClipParam();
 if (!rClipParam.maRanges.empty())
 aSource = rClipParam.maRanges.front();
 ScAddress aDest = rDestPos;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] help.git: source/text

2021-05-21 Thread Andrea Gelmini (via logerrit)
 source/text/scalc/01/func_convert.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5990e7b3b300642d8551f202bcd1b9312f426677
Author: Andrea Gelmini 
AuthorDate: Fri May 21 12:48:07 2021 +0200
Commit: Andrea Gelmini 
CommitDate: Fri May 21 12:48:07 2021 +0200

Fix typo

Change-Id: I0b5ce0a4c6adc339c14a65bd9a8f9b8f3eb8979a
Signed-off-by: Andrea Gelmini 

diff --git a/source/text/scalc/01/func_convert.xhp 
b/source/text/scalc/01/func_convert.xhp
index b64adbc99..90dc06254 100644
--- a/source/text/scalc/01/func_convert.xhp
+++ b/source/text/scalc/01/func_convert.xhp
@@ -49,7 +49,7 @@
   
   
 =CONVERT(-10; "C"; "F")
-  Here the function 
converts -10 degrees Celsius to degrees Fahrenheit, returning the value 14. 
There is not a simple multiplicative relationship bewteen temperature units, as 
different reference points are used. Hence, as in this case, an input negative 
number may be converted to a positive value.
+  Here the function 
converts -10 degrees Celsius to degrees Fahrenheit, returning the value 14. 
There is not a simple multiplicative relationship between temperature units, as 
different reference points are used. Hence, as in this case, an input negative 
number may be converted to a positive value.
   
 =CONVERT(3.5; "mi"; "yd")
 Here the function 
converts 3.5 international miles to yards, returning the value 6160. Both units 
are in the Length and distance group.
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: helpcontent2

2021-05-21 Thread Andrea Gelmini (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit cb6a45653795f8de296aa793328472c9c2906731
Author: Andrea Gelmini 
AuthorDate: Fri May 21 12:48:16 2021 +0200
Commit: Gerrit Code Review 
CommitDate: Fri May 21 12:48:16 2021 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 5990e7b3b300642d8551f202bcd1b9312f426677
  - Fix typo

Change-Id: I0b5ce0a4c6adc339c14a65bd9a8f9b8f3eb8979a
Signed-off-by: Andrea Gelmini 

diff --git a/helpcontent2 b/helpcontent2
index ab50f2ccc57e..5990e7b3b300 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit ab50f2ccc57ebe577cbdad4afa29b66317b87bcc
+Subproject commit 5990e7b3b300642d8551f202bcd1b9312f426677
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Re: ESC meeting minutes: 2021-05-20

2021-05-21 Thread Eike Rathke
Hi,

On Thursday, 2021-05-20 16:39:54 +0200, Miklos Vajna wrote:

> * Freenode situation (Cloph)
> + prefer IRC, wait with moving (Eike)
>   + e.g. in the future Libera.Chat? will have matrix integration, but not 
> yet

For the records, I said I'm fine with IRC at the moment.

Not necessarily a preference project-wide. I would also be open to
a move to Matrix as the main platform and plumbing some rooms to IRC
channels (on whatever network).

  Eike

-- 
GPG key 0x6A6CD5B765632D3A - 2265 D7F3 A7B0 95CC 3918  630B 6A6C D5B7 6563 2D3A


signature.asc
Description: PGP signature
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] core.git: sw/source

2021-05-21 Thread Andrea Gelmini (via logerrit)
 0 files changed

New commits:
commit 958f79cd25a6bd03891d45410c1d71cb27bf43ba
Author: Andrea Gelmini 
AuthorDate: Fri May 21 12:48:26 2021 +0200
Commit: Julien Nabet 
CommitDate: Fri May 21 13:13:43 2021 +0200

Removed executable bits on source file

Change-Id: If37a1fd4dad10767804fe7c925c048a1b81b59f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115911
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/sw/source/core/text/porfld.cxx b/sw/source/core/text/porfld.cxx
old mode 100755
new mode 100644
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-2021' - 12 commits - cui/uiconfig dbaccess/source emfio/qa extras/source filter/source include/oox include/xmloff oox/qa oox/source reportde

2021-05-21 Thread Bartosz Kosiorek (via logerrit)
 cui/uiconfig/ui/textanimtabpage.ui |   15 
 dbaccess/source/filter/xml/xmlExport.cxx   |6 
 emfio/qa/cppunit/emf/EmfImportTest.cxx |   15 
 emfio/qa/cppunit/emf/data/TestArcInsideWronglyDefinedRectangle.emf |binary
 extras/source/autocorr/lang/ko/DocumentList.xml|1 
 filter/source/xslt/odf2xhtml/export/xhtml/body.xsl |  128 ++---
 include/oox/drawingml/shape.hxx|4 
 include/xmloff/xmlexppr.hxx|3 
 include/xmloff/xmluconv.hxx|9 
 oox/qa/unit/data/tdf141463_GroupTransform.pptx |binary
 oox/qa/unit/shape.cxx  |   55 ++
 oox/source/drawingml/shape.cxx |  234 
++
 reportdesign/source/filter/xml/xmlExport.cxx   |8 
 sc/source/filter/xml/xmlexprt.cxx  |   20 
 sfx2/source/doc/objstor.cxx|   13 
 solenv/flatpak-manifest.in |6 
 sw/inc/unosett.hxx |5 
 sw/qa/extras/htmlexport/xhtmlexport.cxx|   16 
 sw/qa/extras/odfexport/data/tdf118637.odt  |binary
 sw/qa/extras/unowriter/unowriter.cxx   |   33 +
 sw/source/core/unocore/unosett.cxx |   22 
 sw/source/filter/xml/xmliteme.cxx  |3 
 sw/source/filter/xml/xmlitemi.cxx  |3 
 sw/source/uibase/config/StoredChapterNumbering.cxx |2 
 sw/source/uibase/shells/tabsh.cxx  |8 
 tools/source/generic/poly.cxx  |9 
 vcl/unx/gtk3/gtk3gtkinst.cxx   |3 
 xmloff/source/chart/PropertyMaps.cxx   |6 
 xmloff/source/chart/SchXMLExport.cxx   |  101 ++--
 xmloff/source/chart/SchXMLTools.cxx|3 
 xmloff/source/chart/XMLErrorBarStylePropertyHdl.cxx|6 
 xmloff/source/core/xmlexp.cxx  |   46 +
 xmloff/source/core/xmlimp.cxx  |3 
 xmloff/source/core/xmluconv.cxx|   21 
 xmloff/source/draw/sdxmlexp.cxx|2 
 xmloff/source/draw/shapeexport.cxx |4 
 xmloff/source/forms/layerexport.cxx|2 
 xmloff/source/style/XMLPageExport.cxx  |6 
 xmloff/source/style/chrlohdl.cxx   |   10 
 xmloff/source/style/styleexp.cxx   |4 
 xmloff/source/style/xmlexppr.cxx   |9 
 xmloff/source/table/XMLTableExport.cxx |6 
 xmloff/source/text/txtparae.cxx|8 
 43 files changed, 559 insertions(+), 299 deletions(-)

New commits:
commit 3c1121fad94e82b2d4e047dd2a3a80d996240fa0
Author: Bartosz Kosiorek 
AuthorDate: Tue May 18 17:36:21 2021 +0200
Commit: Andras Timar 
CommitDate: Fri May 21 13:31:51 2021 +0200

tdf#55007 tdf#142263 tdf#142268 EMF Properly display ARC and CHORD

With previous implementation the ARC, ARCTO and CHORD were
not displayed if the corners of rectangle was switched.

With this patch the shapes are always displayed correctly.

Change-Id: Ie8ac7af812298c0b96c3b5af417117784f128ce1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115757
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek 
(cherry picked from commit 39369c6e67dffe04acc4abb678c1a94526237fd8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115524
Reviewed-by: Xisco Fauli 

diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx 
b/emfio/qa/cppunit/emf/EmfImportTest.cxx
index 53be54f34c02..24e2e295e957 100644
--- a/emfio/qa/cppunit/emf/EmfImportTest.cxx
+++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx
@@ -51,6 +51,7 @@ class Test : public test::BootstrapFixture, public 
XmlTestTools, public unotest:
 void TestTextMapMode();
 void TestEnglishMapMode();
 void TestRectangleWithModifyWorldTransform();
+void TestArcInsideWronglyDefinedRectangle();
 void TestChordWithModifyWorldTransform();
 void TestEllipseWithSelectClipPath();
 void TestEllipseXformIntersectClipRect();
@@ -79,6 +80,7 @@ public:
 CPPUNIT_TEST(TestTextMapMode);
 CPPUNIT_TEST(TestEnglishMapMode);
 CPPUNIT_TEST(TestRectangleWithModifyWorldTransform);
+CPPUNIT_TEST(TestArcInsideWronglyDefinedR

[Libreoffice-commits] core.git: Branch 'distro/collabora/co-2021' - translations

2021-05-21 Thread Christian Lohmaier (via logerrit)
 translations |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 2ba7f4116a1138817d9ed98b7a5ca70c19b613d1
Author: Christian Lohmaier 
AuthorDate: Fri May 21 13:35:14 2021 +0200
Commit: Gerrit Code Review 
CommitDate: Fri May 21 13:35:14 2021 +0200

Update git submodules

* Update translations from branch 'distro/collabora/co-2021'
  to 9b312fbdba1d75c6d086f4b3ee182e86de9b7797
  - update translations for 7.1.4 rc1

and force-fix errors using pocheck

Change-Id: I5cbaffa0b102e88fc4a075332f18b72e32cf5855

diff --git a/translations b/translations
index 0a7477257a9a..9b312fbdba1d 16
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 0a7477257a9aa9c557c090f29f9d3b52e2cfda77
+Subproject commit 9b312fbdba1d75c6d086f4b3ee182e86de9b7797
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - sw/source sw/uiconfig

2021-05-21 Thread Caolán McNamara (via logerrit)
 sw/source/ui/frmdlg/wrap.cxx   |   28 +
 sw/source/uibase/inc/wrap.hxx  |6 
 sw/uiconfig/swriter/ui/wrappage.ui |  580 ++---
 3 files changed, 382 insertions(+), 232 deletions(-)

New commits:
commit f654af56695197d11c277c424b0dd2b93195add9
Author: Caolán McNamara 
AuthorDate: Fri May 21 09:46:20 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 13:35:30 2021 +0200

move wrap icons outside radiobuttons

not possible in gtk4 to put an image in here anymore AFAICS,
this was always an odd case anyway

Change-Id: Ic9415cd0c91a7f006231d786f2a3a22b8f97af6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115907
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/sw/source/ui/frmdlg/wrap.cxx b/sw/source/ui/frmdlg/wrap.cxx
index a09c8475cdcd..bf4029269154 100644
--- a/sw/source/ui/frmdlg/wrap.cxx
+++ b/sw/source/ui/frmdlg/wrap.cxx
@@ -72,11 +72,17 @@ SwWrapTabPage::SwWrapTabPage(weld::Container* pPage, 
weld::DialogController* pCo
 , m_bHtmlMode(false)
 , m_bDrawMode(false)
 , m_bContourImage(false)
+, m_xNoWrapImg(m_xBuilder->weld_image("noneimg"))
 , m_xNoWrapRB(m_xBuilder->weld_radio_button("none"))
+, m_xWrapLeftImg(m_xBuilder->weld_image("beforeimg"))
 , m_xWrapLeftRB(m_xBuilder->weld_radio_button("before"))
+, m_xWrapRightImg(m_xBuilder->weld_image("afterimg"))
 , m_xWrapRightRB(m_xBuilder->weld_radio_button("after"))
+, m_xWrapParallelImg(m_xBuilder->weld_image("parallelimg"))
 , m_xWrapParallelRB(m_xBuilder->weld_radio_button("parallel"))
+, m_xWrapThroughImg(m_xBuilder->weld_image("throughimg"))
 , m_xWrapThroughRB(m_xBuilder->weld_radio_button("through"))
+, m_xIdealWrapImg(m_xBuilder->weld_image("optimalimg"))
 , m_xIdealWrapRB(m_xBuilder->weld_radio_button("optimal"))
 , m_xLeftMarginED(m_xBuilder->weld_metric_spin_button("left", 
FieldUnit::CM))
 , m_xRightMarginED(m_xBuilder->weld_metric_spin_button("right", 
FieldUnit::CM))
@@ -604,23 +610,23 @@ IMPL_LINK_NOARG(SwWrapTabPage, ContourHdl, 
weld::ToggleButton&, void)
 
 void SwWrapTabPage::SetImages()
 {
-m_xWrapThroughRB->set_from_icon_name(RID_BMP_WRAP_THROUGH);
+m_xWrapThroughImg->set_from_icon_name(RID_BMP_WRAP_THROUGH);
 bool bWrapOutline =  !m_xWrapOutlineCB->get_active();
 if (bWrapOutline)
 {
-m_xNoWrapRB->set_from_icon_name(RID_BMP_WRAP_NONE);
-m_xWrapLeftRB->set_from_icon_name(RID_BMP_WRAP_LEFT);
-m_xWrapRightRB->set_from_icon_name(RID_BMP_WRAP_RIGHT);
-m_xWrapParallelRB->set_from_icon_name(RID_BMP_WRAP_PARALLEL);
-m_xIdealWrapRB->set_from_icon_name(RID_BMP_WRAP_IDEAL);
+m_xNoWrapImg->set_from_icon_name(RID_BMP_WRAP_NONE);
+m_xWrapLeftImg->set_from_icon_name(RID_BMP_WRAP_LEFT);
+m_xWrapRightImg->set_from_icon_name(RID_BMP_WRAP_RIGHT);
+m_xWrapParallelImg->set_from_icon_name(RID_BMP_WRAP_PARALLEL);
+m_xIdealWrapImg->set_from_icon_name(RID_BMP_WRAP_IDEAL);
 }
 else
 {
-m_xNoWrapRB->set_from_icon_name(RID_BMP_WRAP_CONTOUR_NONE);
-m_xWrapLeftRB->set_from_icon_name(RID_BMP_WRAP_CONTOUR_LEFT);
-m_xWrapRightRB->set_from_icon_name(RID_BMP_WRAP_CONTOUR_RIGHT);
-m_xWrapParallelRB->set_from_icon_name(RID_BMP_WRAP_CONTOUR_PARALLEL);
-m_xIdealWrapRB->set_from_icon_name(RID_BMP_WRAP_CONTOUR_IDEAL);
+m_xNoWrapImg->set_from_icon_name(RID_BMP_WRAP_CONTOUR_NONE);
+m_xWrapLeftImg->set_from_icon_name(RID_BMP_WRAP_CONTOUR_LEFT);
+m_xWrapRightImg->set_from_icon_name(RID_BMP_WRAP_CONTOUR_RIGHT);
+m_xWrapParallelImg->set_from_icon_name(RID_BMP_WRAP_CONTOUR_PARALLEL);
+m_xIdealWrapImg->set_from_icon_name(RID_BMP_WRAP_CONTOUR_IDEAL);
 }
 }
 
diff --git a/sw/source/uibase/inc/wrap.hxx b/sw/source/uibase/inc/wrap.hxx
index 3a69e43ff210..6ea3e192e6f3 100644
--- a/sw/source/uibase/inc/wrap.hxx
+++ b/sw/source/uibase/inc/wrap.hxx
@@ -48,11 +48,17 @@ class SwWrapTabPage: public SfxTabPage
 bool m_bContourImage;
 
 // WRAPPING
+std::unique_ptr m_xNoWrapImg;
 std::unique_ptr m_xNoWrapRB;
+std::unique_ptr m_xWrapLeftImg;
 std::unique_ptr m_xWrapLeftRB;
+std::unique_ptr m_xWrapRightImg;
 std::unique_ptr m_xWrapRightRB;
+std::unique_ptr m_xWrapParallelImg;
 std::unique_ptr m_xWrapParallelRB;
+std::unique_ptr m_xWrapThroughImg;
 std::unique_ptr m_xWrapThroughRB;
+std::unique_ptr m_xIdealWrapImg;
 std::unique_ptr m_xIdealWrapRB;
 
 // MARGIN
diff --git a/sw/uiconfig/swriter/ui/wrappage.ui 
b/sw/uiconfig/swriter/ui/wrappage.ui
index ed0f31b07279..ede6800d1837 100644
--- a/sw/uiconfig/swriter/ui/wrappage.ui
+++ b/sw/uiconfig/swriter/ui/wrappage.ui
@@ -50,154 +50,292 @@
 True
 True
 
-  
-_Wrap Off
+  
+  
 True
-True
-F

[Libreoffice-commits] core.git: sfx2/source

2021-05-21 Thread Noel Grandin (via logerrit)
 sfx2/source/view/viewsh.cxx |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 0820a4c7ac12e6fc2cc683f8a07c99a11d40e30e
Author: Noel Grandin 
AuthorDate: Fri May 21 12:30:33 2021 +0200
Commit: Noel Grandin 
CommitDate: Fri May 21 13:45:00 2021 +0200

fix leak in some tests

this situation only really happens during shutdown, when some of the app
events are dropped

Change-Id: If327daf1be243a603669f624b49917a73ddfd0fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115909
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx
index b10b17853914..ee5bcccec5be 100644
--- a/sfx2/source/view/viewsh.cxx
+++ b/sfx2/source/view/viewsh.cxx
@@ -202,7 +202,8 @@ void SAL_CALL SfxClipboardChangeListener::disposing( const 
lang::EventObject& /*
 // root for many deadlocks, especially in conjunction with the "Windows"
 // based single thread apartment clipboard code!
 AsyncExecuteInfo* pInfo = new AsyncExecuteInfo( 
ASYNCEXECUTE_CMD_DISPOSING, this );
-Application::PostUserEvent( LINK( nullptr, SfxClipboardChangeListener, 
AsyncExecuteHdl_Impl ), pInfo );
+if (!Application::PostUserEvent( LINK( nullptr, 
SfxClipboardChangeListener, AsyncExecuteHdl_Impl ), pInfo ))
+delete pInfo;
 }
 
 void SAL_CALL SfxClipboardChangeListener::changedContents( const 
datatransfer::clipboard::ClipboardEvent& )
@@ -211,7 +212,8 @@ void SAL_CALL SfxClipboardChangeListener::changedContents( 
const datatransfer::c
 // root for many deadlocks, especially in conjunction with the "Windows"
 // based single thread apartment clipboard code!
 AsyncExecuteInfo* pInfo = new AsyncExecuteInfo( 
ASYNCEXECUTE_CMD_CHANGEDCONTENTS, this );
-Application::PostUserEvent( LINK( nullptr, SfxClipboardChangeListener, 
AsyncExecuteHdl_Impl ), pInfo );
+if (!Application::PostUserEvent( LINK( nullptr, 
SfxClipboardChangeListener, AsyncExecuteHdl_Impl ), pInfo ))
+delete pInfo;
 }
 
 sal_uInt32 SfxViewShell_Impl::m_nLastViewShellId = 0;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: leak-suppress.txt

2021-05-21 Thread Noel Grandin (via logerrit)
 leak-suppress.txt |7 +++
 1 file changed, 7 insertions(+)

New commits:
commit 0d0e6123db5f73aff1b203224609148b37194b71
Author: Noel Grandin 
AuthorDate: Fri May 21 11:17:10 2021 +0200
Commit: Noel Grandin 
CommitDate: Fri May 21 13:45:19 2021 +0200

suppress more leaks in external libraries

Change-Id: Ia69ce6a7be9f995dc919b91e4a3a56375e1c4c96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115908
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/leak-suppress.txt b/leak-suppress.txt
index 322ac9014795..e450b452b8e0 100644
--- a/leak-suppress.txt
+++ b/leak-suppress.txt
@@ -66,3 +66,10 @@ leak:Firebird::
 # these appears to be some kind of ref-counting cycle
 leak:SbiRuntime::
 leak:SbModule::
+
+# LibXML leaks a couple of objects
+leak:libxml2.so
+
+# LibCoin leaks a little
+leak:coinComputeIntVariables
+leak:CoinMessages::operator=(CoinMessages const&)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vbahelper/source

2021-05-21 Thread Noel Grandin (via logerrit)
 vbahelper/source/vbahelper/vbaglobalbase.cxx |4 
 1 file changed, 4 insertions(+)

New commits:
commit 634e98e767928806852aee6653a6fb6f35328eea
Author: Noel Grandin 
AuthorDate: Fri May 21 13:26:25 2021 +0200
Commit: Noel Grandin 
CommitDate: Fri May 21 14:29:09 2021 +0200

fix shutdown leak VbaGlobalsBase

Change-Id: I12e81cd8374eaf15b4891d90a787e4184575486c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115912
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/vbahelper/source/vbahelper/vbaglobalbase.cxx 
b/vbahelper/source/vbahelper/vbaglobalbase.cxx
index 82808161e154..0e1dcf2b178a 100644
--- a/vbahelper/source/vbahelper/vbaglobalbase.cxx
+++ b/vbahelper/source/vbahelper/vbaglobalbase.cxx
@@ -25,6 +25,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -95,6 +96,9 @@ VbaGlobalsBase::~VbaGlobalsBase()
 // release application reference, as it is holding onto the context
 xNameContainer->removeByName( gsApplication );
 }
+uno::Reference< lang::XComponent > xComponent( mxContext, 
uno::UNO_QUERY );
+if (xComponent)
+xComponent->dispose();
 }
 catch ( const uno::Exception& )
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sw/source

2021-05-21 Thread Michael Stahl (via logerrit)
 sw/source/core/text/frmform.cxx |   10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 95a716f12a0dacdd5d80a6f3d98eadcc2f079fcf
Author: Michael Stahl 
AuthorDate: Fri May 21 12:20:28 2021 +0200
Commit: Michael Stahl 
CommitDate: Fri May 21 14:32:44 2021 +0200

sw: layout: fix footnote UAF on tdf132248-3.odt (also, tdf134127-1.odt)

Text frame 12 gets a follow 137 which gets a follow 138, and there's
a footnote at index 95.

When 138 is created, its mnOffest is 63 in SwTextFrame::SplitFrame()
so 138 gets its mbFootnote set and the footnote frame mpReference points
to 138 but then SwTextFrame::FormatAdjust() moves one line back and sets
the offset of 138 to 96.

Then SwTextFrame::CalcFollow() clears 138's mbFootnote due to lack of
footnotes starting from 96.

Later frame 138 is joined, but because its mbFootnote is false, the
footnote's mpReference continues to point to it, which leads to UAF in
SwFootnoteFrame::GetRef().

What's missing is that at the time when the offset of 138 is adjusted,
RemoveFootnote() must be called, as is already the case in another
branch of SwTextFrame::FormatAdjust(), since CVS initial import.

Not sure why this started to crash in crashtesting relatively recently.

Change-Id: Ic46019d34ff90d24d0f23effe8a6d54d6f197a71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115910
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx
index d461c938739c..12a4492bbec7 100644
--- a/sw/source/core/text/frmform.cxx
+++ b/sw/source/core/text/frmform.cxx
@@ -987,7 +987,7 @@ bool SwTextFrame::CalcPreps()
 return bRet;
 }
 
-// We rewire the footnotes and the character bound objects
+// Move the as-character objects - footnotes must be moved by RemoveFootnote!
 void SwTextFrame::ChangeOffset( SwTextFrame* pFrame, TextFrameIndex nNew )
 {
 if( pFrame->GetOffset() < nNew )
@@ -1082,6 +1082,7 @@ void SwTextFrame::FormatAdjust( SwTextFormatter &rLine,
 // need to create a Follow.
 // We also need to do this if the whole mass of text remains in the 
Master,
 // because a hard line break could necessitate another line (without 
text mass)!
+TextFrameIndex const nOld(nEnd);
 nEnd = rLine.GetEnd();
 if( GetFollow() )
 {
@@ -1107,6 +1108,13 @@ void SwTextFrame::FormatAdjust( SwTextFormatter &rLine,
 // for the paragraph mark.
 nNew |= 1;
 }
+// move footnotes if the follow is kept - if RemoveFootnote() is
+// called in next format iteration, it will be with the *new*
+// offset so no effect!
+if (nNew && nOld < nEnd)
+{
+RemoveFootnote(nOld, nEnd - nOld);
+}
 ChangeOffset( GetFollow(), nEnd );
 GetFollow()->ManipOfst( nEnd );
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sdext/source

2021-05-21 Thread Stephan Bergmann (via logerrit)
 sdext/source/pdfimport/wrapper/wrapper.cxx |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 12362fc496102b344dedef0a6ba130ba80b94149
Author: Stephan Bergmann 
AuthorDate: Fri May 21 13:38:32 2021 +0200
Commit: Stephan Bergmann 
CommitDate: Fri May 21 14:50:14 2021 +0200

LineParser::readNextToken gets called with m_nCharIndex==npos after all

eca89ece45ede76605a6102c94b3b67e1f8ff5aa "Replace rtl_string_getTokenView 
with
o3tl::getToken" had erroneously assumed (from a succeeding `make check`) 
that
the only problematic call to o3tl::getToken with position==npos would be 
the one
in LineParser::readPath (and which had been addressed in that commit).

But e.g. loading ooo29794-4.pdf from the crash test corpus would also run 
into
that situation via LineParser::readNextToken,

> 
warn:legacy.osl:3090875:3090875:sdext/source/pdfimport/wrapper/wrapper.cxx:259: 
insufficient input
> soffice.bin: include/o3tl/string_view.hxx:34: std::string_view 
o3tl::getToken(std::string_view, char, std::size_t &): Assertion `position <= 
sv.size()' failed.

> #3  0x77a67a16 in __GI___assert_fail (assertion=0x7fffb39ea58c 
"position <= sv.size()", file=0x7fffb39f2a7f "include/o3tl/string_view.hxx", 
line=34, function=0x7fffb39ef3a9 "std::string_view 
o3tl::getToken(std::string_view, char, std::size_t &)")
> #4  0x7fffb3b60131 in o3tl::getToken(std::basic_string_view >, char, unsigned long&) (sv="eoClipPath", delimiter=32 
' ', position=@0x7fff29e0: 18446744073709551615) at 
include/o3tl/string_view.hxx:34
> #5  0x7fffb3b5aa9f in pdfi::(anonymous 
namespace)::LineParser::readNextToken() (this=0x7fff29d0) at 
sdext/source/pdfimport/wrapper/wrapper.cxx:260
> #6  0x7fffb3b5b2fa in pdfi::(anonymous 
namespace)::LineParser::readPath() (this=0x7fff29d0) at 
sdext/source/pdfimport/wrapper/wrapper.cxx:323
> #7  0x7fffb3b59eb3 in pdfi::(anonymous 
namespace)::Parser::parseLine(rtl::OString const&) (this=0x7fff2d28, 
rLine="eoClipPath") at sdext/source/pdfimport/wrapper/wrapper.cxx:859
[...]

so better guard there.

Change-Id: Ibfd53fd9d3be0a3548d60cb26d59bb5966c5bc2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115916
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 

diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx 
b/sdext/source/pdfimport/wrapper/wrapper.cxx
index 78fb9cd0b331..2221f1ebe33f 100644
--- a/sdext/source/pdfimport/wrapper/wrapper.cxx
+++ b/sdext/source/pdfimport/wrapper/wrapper.cxx
@@ -256,7 +256,10 @@ OString lcl_unescapeLineFeeds(std::string_view i_rStr)
 
 std::string_view LineParser::readNextToken()
 {
-OSL_PRECOND(m_nCharIndex!=std::string_view::npos,"insufficient input");
+if (m_nCharIndex == std::string_view::npos) {
+SAL_WARN("sdext.pdfimport", "insufficient input");
+return {};
+}
 return o3tl::getToken(m_aLine,' ',m_nCharIndex);
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/unx

2021-05-21 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |   12 
 1 file changed, 12 insertions(+)

New commits:
commit cae01a2e6b0186f0d44cb114e08e3ca461558989
Author: Caolán McNamara 
AuthorDate: Fri May 21 12:43:28 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 14:57:10 2021 +0200

gtk[3|4]: fix infinite toggling in draw

regression from...

commit 1815aa9472080b9dac263d393b9c922dd16351fe
Author: Caolán McNamara 
Date:   Tue May 18 20:44:56 2021 +0100

GtkCheckButton no longer inherits from GtkToggleButton

Change-Id: I933c2fb0ea39b0a650ec57031ddcc2b61250d0d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115915
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 3d213d62a194..8a4ca74f266f 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9880,6 +9880,18 @@ public:
 #endif
 }
 
+virtual void disable_notify_events() override
+{
+g_signal_handler_block(m_pCheckButton, m_nSignalId);
+GtkInstanceButton::disable_notify_events();
+}
+
+virtual void enable_notify_events() override
+{
+GtkInstanceButton::enable_notify_events();
+g_signal_handler_unblock(m_pCheckButton, m_nSignalId);
+}
+
 virtual ~GtkInstanceCheckButton() override
 {
 g_signal_handler_disconnect(m_pCheckButton, m_nSignalId);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: cui/source

2021-05-21 Thread Caolán McNamara (via logerrit)
 cui/source/dialogs/hangulhanjadlg.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 064c3756fc691a5a36f26a8fba1c1be5ce7eb449
Author: Caolán McNamara 
AuthorDate: Fri May 21 13:03:49 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 15:12:07 2021 +0200

we want the max width here, not the sum of widths

Change-Id: Ie17c062a3e031b85a5784176895c08c9a1638bea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115918
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/cui/source/dialogs/hangulhanjadlg.cxx 
b/cui/source/dialogs/hangulhanjadlg.cxx
index 713001004091..163a84048541 100644
--- a/cui/source/dialogs/hangulhanjadlg.cxx
+++ b/cui/source/dialogs/hangulhanjadlg.cxx
@@ -261,7 +261,7 @@ namespace svx
 
 Size minimumSize;
 minimumSize.setHeight( aPrimarySize.Height() + aSecondarySize.Height() 
+ 5 );
-minimumSize.setWidth( aPrimarySize.Width() + aSecondarySize.Width() + 
5 );
+minimumSize.setWidth(std::max(aPrimarySize.Width(), 
aSecondarySize.Width()) + 5 );
 return minimumSize;
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: cui/uiconfig

2021-05-21 Thread Caolán McNamara (via logerrit)
 cui/uiconfig/ui/hangulhanjaconversiondialog.ui |  307 -
 1 file changed, 152 insertions(+), 155 deletions(-)

New commits:
commit 2f3a89c2e5d3c420e22e4a3a7319cc4e3bd789a4
Author: Caolán McNamara 
AuthorDate: Fri May 21 11:51:06 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 15:28:00 2021 +0200

resave in latest glade

Change-Id: I8c734b808b9b62cffa5b18455672c8f7b183f45d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115919
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/cui/uiconfig/ui/hangulhanjaconversiondialog.ui 
b/cui/uiconfig/ui/hangulhanjaconversiondialog.ui
index 3158fc6934a4..350630d4fd63 100644
--- a/cui/uiconfig/ui/hangulhanjaconversiondialog.ui
+++ b/cui/uiconfig/ui/hangulhanjaconversiondialog.ui
@@ -1,5 +1,5 @@
 
-
+
 
   
   
@@ -11,30 +11,30 @@
 
   
   
-False
-6
+False
+6
 Hangul/Hanja 
Conversion
 True
-0
-0
-normal
+0
+0
+normal
 
   
-False
+False
 vertical
 2
 
   
-False
-end
+False
+end
 
   
 _OK
 True
-True
-True
-True
-True
+True
+True
+True
+True
 True
   
   
@@ -47,8 +47,8 @@
   
 _Cancel
 True
-True
-True
+True
+True
 True
   
   
@@ -61,8 +61,8 @@
   
 _Help
 True
-True
-True
+True
+True
 True
   
   
@@ -76,44 +76,44 @@
   
 False
 True
-end
+end
 0
   
 
 
   
 True
-False
+False
 6
 6
-6
-6
+6
+6
 12
 
-  
+  
   
 True
-False
-12
-6
+False
+12
+6
 
   
 True
-False
+False
 Original
-True
-originalword
+True
+originalword
 0
   
   
-0
-0
+0
+0
   
 
 
   
 True
-False
+False
 0
 
   
@@ -122,34 +122,34 @@
 
   
   
-1
-0
+1
+0
   
 
 
   
 True
-False
+False
 Word
-True
-wordinput
+True
+wordinput
 0
   
   
-0
-1
+0
+1
   
 
 
   
 True
-False
+False
 6
 
   
 True
-True
-True
+True
+True
 True
 
   
@@ -167,9 +167,9 @@
   
 _Find
 True
-True
-True
-True
+True
+True
+True
 
   
 Finds your Hangul input 
in the dictionary and replaces it with the corresponding Hanja.
@@ -184,46 +184,46 @@
 
   
   
-1
-1
+1
+1
   
 
 
   
 True
-False
+False
 Suggest

[Libreoffice-commits] core.git: download.lst external/libxml2

2021-05-21 Thread Michael Stahl (via logerrit)
 download.lst  |4 ++--
 external/libxml2/UnpackedTarball_libxml2.mk   |1 -
 external/libxml2/libxml2-config.patch.1   |4 ++--
 external/libxml2/libxml2-global-symbols.patch |4 ++--
 external/libxml2/ubsan.patch.0|   11 ---
 5 files changed, 6 insertions(+), 18 deletions(-)

New commits:
commit bf0c6a98ae38cd2188d7f7e94f1563e5ce6a8ce4
Author: Michael Stahl 
AuthorDate: Fri May 21 13:33:26 2021 +0200
Commit: Michael Stahl 
CommitDate: Fri May 21 15:31:22 2021 +0200

libxml2: upgrade to release 2.9.12

Fixes:
CVE-2021-3516 CVE-2021-3517 CVE-2021-3518 CVE-2021-3537 CVE-2021-3541

* external/libxml2/ubsan.patch.0: remove, fixed upstream

Change-Id: I347dc854b862e78bde87d3e57cf5fdb584ca5673
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115913
Tested-by: Jenkins
Reviewed-by: Michael Stahl 

diff --git a/download.lst b/download.lst
index 0da12b5b88cf..9dada9f5b5ee 100644
--- a/download.lst
+++ b/download.lst
@@ -166,8 +166,8 @@ export LIBTOMMATH_SHA256SUM := 
083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304
 export LIBTOMMATH_TARBALL := ltm-1.0.zip
 export XMLSEC_SHA256SUM := 
e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043
 export XMLSEC_TARBALL := xmlsec1-1.2.32.tar.gz
-export LIBXML_SHA256SUM := 
aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f
-export LIBXML_VERSION_MICRO := 10
+export LIBXML_SHA256SUM := 
c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92
+export LIBXML_VERSION_MICRO := 12
 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz
 export LIBXSLT_SHA256SUM := 
98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f
 export LIBXSLT_VERSION_MICRO := 34
diff --git a/external/libxml2/UnpackedTarball_libxml2.mk 
b/external/libxml2/UnpackedTarball_libxml2.mk
index 37b5bad97549..83df02849cb3 100644
--- a/external/libxml2/UnpackedTarball_libxml2.mk
+++ b/external/libxml2/UnpackedTarball_libxml2.mk
@@ -21,7 +21,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\
$(if $(gb_Module_CURRENTMODULE_SYMBOLS_ENABLED), \
external/libxml2/libxml2-icu-sym.patch.0, \
external/libxml2/libxml2-icu.patch.0) \
-   external/libxml2/ubsan.patch.0 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libxml2/libxml2-config.patch.1 
b/external/libxml2/libxml2-config.patch.1
index 8c28fb6a7806..5a2ef1485e92 100644
--- a/external/libxml2/libxml2-config.patch.1
+++ b/external/libxml2/libxml2-config.patch.1
@@ -18,9 +18,9 @@ Hack the xml2-config to return paths into WORKDIR.
 +exec_prefix=${WORKDIR}/UnpackedTarball/libxml2
 +includedir=${WORKDIR}/UnpackedTarball/libxml2/include
 +libdir=${WORKDIR}/UnpackedTarball/libxml2/.libs
+ cflags=
+ libs=
  
- usage()
- {
 @@ -67,7 +72,8 @@
;;
  
diff --git a/external/libxml2/libxml2-global-symbols.patch 
b/external/libxml2/libxml2-global-symbols.patch
index 49ee73731562..cfec9c530281 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -14,8 +14,8 @@
  
  LIBXML2_2.6.32 {
 @@ -2231,3 +2231,43 @@
-   xmlHashDefaultDeallocator;
- } LIBXML2_2.9.1;
+   xmlPopOutputCallbacks;
+ } LIBXML2_2.9.8;
  
 +# HACK: export global variable accessor functions (globals.h)
 +LIBXML2_GLOBAL_VARIABLES {
diff --git a/external/libxml2/ubsan.patch.0 b/external/libxml2/ubsan.patch.0
deleted file mode 100644
index b52259719673..
--- a/external/libxml2/ubsan.patch.0
+++ /dev/null
@@ -1,11 +0,0 @@
 xpath.c
-+++ xpath.c
-@@ -14529,7 +14529,7 @@
-   }
- 
-   stream = xmlPatterncompile(str, dict, XML_PATTERN_XPATH,
--  &namespaces[0]);
-+  namespaces); // i.e., &namespaces[0] if namespaces != 
NULL
-   if (namespaces != NULL) {
-   xmlFree((xmlChar **)namespaces);
-   }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/ucalc.cxx |  248 ++-
 sc/qa/unit/ucalc.hxx |  268 ---
 2 files changed, 244 insertions(+), 272 deletions(-)

New commits:
commit 62728a315b762440f76477e036a8dacc5bb6d12d
Author: Xisco Fauli 
AuthorDate: Fri May 21 11:07:34 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 15:32:36 2021 +0200

sc_ucalc: combine header and implementation files

Like the rest of Cppunittest files do

Change-Id: If0ffaf3736066a34e6cd274e7fa42dc8b091f59d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115902
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 278062d59a3e..1a73df7f32cf 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -7,7 +7,6 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include "ucalc.hxx"
 #include "helper/debughelper.hxx"
 #include "helper/qahelper.hxx"
 
@@ -94,12 +93,253 @@
 #include 
 #include 
 
+class ScUndoPaste;
+class ScUndoCut;
 
-Test::Test()
+class Test : public test::BootstrapFixture
 {
-}
+public:
+Test();
+
+void checkPrecisionAsShown(OUString& rCode, double fValue, double 
fExpectedRoundVal);
+
+/** Get a separate new ScDocShell with ScDocument that suits unit test 
needs. */
+void getNewDocShell(ScDocShellRef& rDocShellRef);
+/** Close such new ScDocShell. */
+void closeDocShell(ScDocShellRef& rDocShellRef);
+
+virtual void setUp() override;
+virtual void tearDown() override;
+
+void testCollator();
+void testSharedStringPool();
+void testSharedStringPoolUndoDoc();
+void testRangeList();
+void testMarkData();
+void testInput();
+void testColumnIterator();
+void testTdf90698();
+void testTdf134490();
+void testTdf135249();
+void testDocStatistics();
+void testRowForHeight();
+
+/**
+ * The 'data entries' data is a list of strings used for suggestions as
+ * the user types in new cell value.
+ */
+void testDataEntries();
+
+/**
+ * Selection function is responsible for displaying quick calculation
+ * results in the status bar.
+ */
+void testSelectionFunction();
+
+void testMarkedCellIteration();
+
+void testCopyToDocument();
+
+void testHorizontalIterator();
+void testValueIterator();
+void testHorizontalAttrIterator();
+
+/**
+ * More direct test for cell broadcaster management, used to track formula
+ * dependencies.
+ */
+void testCellBroadcaster();
+
+void testFuncParam();
+void testNamedRange();
+void testInsertNameList();
+void testCSV();
+void testMatrix();
+void testMatrixComparisonWithErrors();
+void testMatrixConditionalBooleanResult();
+void testEnterMixedMatrix();
+void testMatrixEditable();
+
+void testCellCopy();
+void testSheetCopy();
+void testSheetMove();
+void testDataArea();
+void testAutofilter();
+void testAutoFilterTimeValue();
+void testTdf76441();
+void testAdvancedFilter();
+void testTdf98642();
+void testMergedCells();
+void testUpdateReference();
+void testSearchCells();
+void testFormulaPosition();
+void testFormulaWizardSubformula();
+
+void testMixData();
+
+/**
+ * Make sure the sheet streams are invalidated properly.
+ */
+void testStreamValid();
+
+/**
+ * Test built-in cell functions to make sure their categories and order
+ * are correct.
+ */
+void testFunctionLists();
+
+void testGraphicsInGroup();
+void testGraphicsOnSheetMove();
+
+/**
+ * Test toggling relative/absolute flag of cell and cell range references.
+ * This corresponds with hitting Shift-F4 while the cursor is on a formula
+ * cell.
+ */
+void testToggleRefFlag();
+
+/**
+ * Test to make sure correct precedent / dependent cells are obtained when
+ * preparing to jump to them.
+ */
+void testJumpToPrecedentsDependents();
+
+void testSetBackgroundColor();
+void testRenameTable();
+
+void testTdf64001();
+void testAutoFill();
+void testAutoFillSimple();
+
+void testFindAreaPosVertical();
+void testFindAreaPosColRight();
+void testShiftCells();
+
+void testNoteBasic();
+void testNoteDeleteRow();
+void testNoteDeleteCol();
+void testNoteLifeCycle();
+void testNoteCopyPaste();
+void testNoteContainsNotesInRange();
+void testAreasWithNotes();
+void testAnchoredRotatedShape();
+void testCellTextWidth();
+void testEditTextIterator();
+
+void testImportStream();
+void testDeleteContents();
+void testTransliterateText();
+
+void testFormulaToValue();
+void testFormulaToValue2();
+
+void testColumnFindEditCells();
+void testSetStringAndNote();
+
+// tdf#80137
+void testCopyPasteMatrixFormula();
+void testUnd

[Libreoffice-commits] core.git: sc/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/ucalc.cxx |   43 +++
 1 file changed, 43 insertions(+)

New commits:
commit e8b2849f2d336e903992ff7a3483364085594d12
Author: Xisco Fauli 
AuthorDate: Fri May 21 11:30:27 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 15:33:56 2021 +0200

tdf#142186: sc_ucalc: Add unittest

Change-Id: I376cb9d6853eb89ca35875d66275b5e534eec013
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115904
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 1a73df7f32cf..e98c58a02306 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -167,6 +167,7 @@ public:
 void testAutofilter();
 void testAutoFilterTimeValue();
 void testTdf76441();
+void testTdf142186();
 void testAdvancedFilter();
 void testTdf98642();
 void testMergedCells();
@@ -290,6 +291,7 @@ public:
 CPPUNIT_TEST(testAutofilter);
 CPPUNIT_TEST(testAutoFilterTimeValue);
 CPPUNIT_TEST(testTdf76441);
+CPPUNIT_TEST(testTdf142186);
 CPPUNIT_TEST(testAdvancedFilter);
 CPPUNIT_TEST(testTdf98642);
 CPPUNIT_TEST(testMergedCells);
@@ -3593,6 +3595,47 @@ void Test::testTdf76441()
 m_pDoc->DeleteTab(0);
 }
 
+void Test::testTdf142186()
+{
+m_pDoc->InsertTab(0, "Test");
+
+// The result will be different depending on whether the format is set 
before
+// or after inserting the string
+
+OUString aCode = "0\".\"0";
+sal_Int32 nCheckPos;
+SvNumFormatType nType;
+sal_uInt32 nFormat;
+SvNumberFormatter* pFormatter = m_pDoc->GetFormatTable();
+pFormatter->PutEntry( aCode, nCheckPos, nType, nFormat );
+
+ScPatternAttr aNewAttrs(m_pDoc->GetPool());
+SfxItemSet& rSet = aNewAttrs.GetItemSet();
+rSet.Put(SfxUInt32Item(ATTR_VALUE_FORMAT, nFormat));
+{
+// First insert the string, then the format
+m_pDoc->SetString(ScAddress(0,0,0), "123.45");
+
+m_pDoc->ApplyPattern(0, 0, 0, aNewAttrs);
+
+CPPUNIT_ASSERT_EQUAL(OUString("12.3"), 
m_pDoc->GetString(ScAddress(0,0,0)));
+}
+
+{
+// First set the format, then insert the string
+m_pDoc->ApplyPattern(0, 1, 0, aNewAttrs);
+
+m_pDoc->SetString(ScAddress(0,1,0), "123.45");
+
+// Without the fix in place, this test would have failed with
+// - Expected: 12.3
+// - Actual  : 1234.5
+CPPUNIT_ASSERT_EQUAL(OUString("12.3"), 
m_pDoc->GetString(ScAddress(0,1,0)));
+}
+
+m_pDoc->DeleteTab(0);
+}
+
 void Test::testAdvancedFilter()
 {
 m_pDoc->InsertTab(0, "Test");
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/qa

2021-05-21 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/ucalc.cxx |   33 +
 1 file changed, 33 insertions(+)

New commits:
commit 841ee616a5e5d191365c82359943a0171956e03a
Author: Xisco Fauli 
AuthorDate: Fri May 21 12:00:41 2021 +0200
Commit: Xisco Fauli 
CommitDate: Fri May 21 15:34:32 2021 +0200

tdf#126342: sc_ucalc: Add unittest

Change-Id: I81afb8e513821253bc11e07d4bbac3a1abae2f90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115905
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index e98c58a02306..222e3c055358 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -168,6 +168,7 @@ public:
 void testAutoFilterTimeValue();
 void testTdf76441();
 void testTdf142186();
+void testTdf126342();
 void testAdvancedFilter();
 void testTdf98642();
 void testMergedCells();
@@ -292,6 +293,7 @@ public:
 CPPUNIT_TEST(testAutoFilterTimeValue);
 CPPUNIT_TEST(testTdf76441);
 CPPUNIT_TEST(testTdf142186);
+CPPUNIT_TEST(testTdf126342);
 CPPUNIT_TEST(testAdvancedFilter);
 CPPUNIT_TEST(testTdf98642);
 CPPUNIT_TEST(testMergedCells);
@@ -3636,6 +3638,37 @@ void Test::testTdf142186()
 m_pDoc->DeleteTab(0);
 }
 
+void Test::testTdf126342()
+{
+m_pDoc->InsertTab(0, "Test");
+
+OUString aCode = "-MM-DD";
+sal_Int32 nCheckPos;
+SvNumFormatType nType;
+sal_uInt32 nFormat;
+SvNumberFormatter* pFormatter = m_pDoc->GetFormatTable();
+pFormatter->PutEntry( aCode, nCheckPos, nType, nFormat );
+
+ScPatternAttr aNewAttrs(m_pDoc->GetPool());
+SfxItemSet& rSet = aNewAttrs.GetItemSet();
+rSet.Put(SfxUInt32Item(ATTR_VALUE_FORMAT, nFormat));
+m_pDoc->ApplyPattern(0, 0, 0, aNewAttrs);
+
+m_pDoc->SetString(ScAddress(0,0,0), "11/7/19");
+
+CPPUNIT_ASSERT_EQUAL(OUString("2019-11-07"), 
m_pDoc->GetString(ScAddress(0,0,0)));
+
+// Overwrite the existing date with the exact same input
+m_pDoc->SetString(ScAddress(0,0,0), "11/7/19");
+
+// Without the fix in place, this test would have failed with
+// - Expected: 2019-11-07
+// - Actual  : 2011-07-19
+CPPUNIT_ASSERT_EQUAL(OUString("2019-11-07"), 
m_pDoc->GetString(ScAddress(0,0,0)));
+
+m_pDoc->DeleteTab(0);
+}
+
 void Test::testAdvancedFilter()
 {
 m_pDoc->InsertTab(0, "Test");
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'private/jmux/wasm-for-master'

2021-05-21 Thread Jan-Marek Glogowski (via logerrit)
New branch 'private/jmux/wasm-for-master' available with the following commits:
commit 79b8590bb8f533e82fbe6ffc0087a084c93cec33
Author: Jan-Marek Glogowski 
Date:   Fri May 21 15:41:15 2021 +0200

Catchall static build

Change-Id: Iafc95752fae9e88095f54a21f1e30a4f080815e2

commit ad85090287bf67a262e35b0cbd269dc83019ca0d
Author: Jan-Marek Glogowski 
Date:   Fri May 21 15:40:06 2021 +0200

Move WASM strip flags to configure.ac

Change-Id: Ifea5e5b1e63633ff1fa709cdeb49afdb43fa0e8b

commit 60461ff1c2cdc82aa80881625ce06def2bb56f09
Author: Jan-Marek Glogowski 
Date:   Thu May 20 15:51:21 2021 +0200

Install GDB pretty printers into cross-toolset

Change-Id: Id42dd694514e104d03c649a19788b5c192ec35a4

commit ff1a43ade79d1c9986d053ceda4987167e38b98d
Author: Jan-Marek Glogowski 
Date:   Thu May 20 15:49:28 2021 +0200

OpenLDAP depends on NSS

Change-Id: I134d1ed3a0a9654e264ccc66cdbe993a355620cb

commit 9eb5cd1236266133bb9a3159a714ff478ef2bbd4
Author: Jan-Marek Glogowski 
Date:   Thu May 20 15:42:30 2021 +0200

configure.ac Replace some tabs with spaces

Change-Id: I417c734484481223f1779e0c555b4f3e16e10b23

commit a0e0a2d4c084222f8af955268b8e67e5ed5f8d99
Author: Jan-Marek Glogowski 
Date:   Thu May 20 12:07:13 2021 +0200

configure.ac Remove kde5 compatibility option

Change-Id: Idce493e5f5ac045f7e977b4073152c2fe2668b56

commit ff4486e1b6f1c6e5f482eb0e8ce9bd9713dd5669
Author: Jan-Marek Glogowski 
Date:   Wed May 19 12:16:42 2021 +0200

Fix --disable-scriptig for DESKTOP

Change-Id: I89938a17307a363f5de808200914940503312829

commit edc19be8193d01b61f7229c11cb6b52627538fe0
Author: Jan-Marek Glogowski 
Date:   Wed May 19 06:52:55 2021 +0200

Add condition to xmlsecurity build

I didn't try to do a GPG only build, but the standard non-NSS
build fails now because of missing a EqualDistinguishedNames,
which is non-trivial to implement.

This is the consequence of commit
1d3da3486d827dd5e7a3bf1c7a533f5aa9860e42 "xmlsecurity: add
EqualDistinguishedNames()" and commit
5af5ea893bcb8a8eb472ac11133da10e5a604e66 "xmlsecurity: improve
handling of multiple certificates per X509Data".

One could also use OpenSSL i2d_X509_NAME and X509_NAME_cmp to
program this function, but it looks like it requires some
ANS.1 input to begin with (maybe i2s_ASN1_* can be used).

Change-Id: I0600f76a5cb4379db428f67cb136b8567dfcc51e

commit 67d3162a5ca5dd5a75f8ca0486bf6946457031a3
Author: Jan-Marek Glogowski 
Date:   Tue May 18 01:11:41 2021 +0200

Fix --disable-avmedia for DESKTOP build

Probably additional bits can be removed, but this now passes.

Change-Id: I366bec43cfd6fb02e914c85c711b3b19586d534d

commit 17c6f2d6bbeb61fd55f425ee433ed674f2c6a43f
Author: Jan-Marek Glogowski 
Date:   Mon May 17 22:59:52 2021 +0200

Refactor module media item handling

Change-Id: I6f5db59bdcff7cad00a64e76f6aad7b8ecb4ffa9

commit 1d7028f13b6c355e3287773800c075729bf66879
Author: Jan-Marek Glogowski 
Date:   Tue Dec 29 11:42:30 2020 +0100

gbuild: introduce plugin + loader concepts

This introduces two concepts: a plugin and its loader (library)

LO currrently has dependency cycles for some libraries. There is
scui, which depends on sc, while sc dlopen's scui. There are the
various vclplug_* and the filters/gie libraries, which depends on
vcl and vcl dlopen's them. While the dependcies of the plugins on
their loader works fine, for static builds you must add a
dependency from the loader to the plugins, which introduces a
dependency cycle.

I codeified a few rules into the build system along with it:
* just plugins are allowed to depend / link other plugins
* plugins aren't allowed to be linked into the merge lib
* plugin loaders are "limited" to libraries

At the high level, this is implemented via two new gbuild calls:
* gb_Library_set_plugin_for,lib,loader: declare a library to be a
  plugin of a loader library
* gb_Helper_register_plugins_for_install: "plugin" replacement for
  gb_Helper_register_libraries_for_install to implement some
  additional checks in the build system

For the shared build, nothing changes. gb_Library_set_plugin_for is
just forwarded to gb_LinkTarget__use_libraries.

P.S. Android and iOS don't build their "executables" using gbuild,
but call bin/lo-all-static-libs to "let the linker figure it out".

P.P.S. the static handling isn't implemented in this commit, as it
turned out to be (very) much more complex.

Change-Id: I7b01d9c384cbc5838bd2cc93aff18e4868939d6e

commit acb884baf2e8944d98c0ae544b60cba48d960ead
Author: Jan-Marek Glogowski 
Date:   Mon May 17 17:58:00 2021 +0200

Add gen to VCLplugs configure output

And move all the output handling into a single place.

Change-Id: Ia75440fc12a435b92239d7ec144be3d

[Libreoffice-commits] core.git: cui/source cui/uiconfig

2021-05-21 Thread Caolán McNamara (via logerrit)
 cui/source/dialogs/hangulhanjadlg.cxx  |   26 +-
 cui/uiconfig/ui/hangulhanjaconversiondialog.ui |  283 +
 2 files changed, 215 insertions(+), 94 deletions(-)

New commits:
commit f63054cf249a6bddd3e7e2ef69eeb7aabaec76cc
Author: Caolán McNamara 
AuthorDate: Fri May 21 11:53:15 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 15:59:28 2021 +0200

move hangul/hanja previews outside radiobuttons

not possible in gtk4 to put an image in here anymore AFAICS,
this was always an odd case anyway

Change-Id: I0525720f53046bf8d234e4beb85096c90235ea10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115920
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/cui/source/dialogs/hangulhanjadlg.cxx 
b/cui/source/dialogs/hangulhanjadlg.cxx
index 163a84048541..049a14b448ed 100644
--- a/cui/source/dialogs/hangulhanjadlg.cxx
+++ b/cui/source/dialogs/hangulhanjadlg.cxx
@@ -194,10 +194,14 @@ namespace svx
 class RubyRadioButton
 {
 public:
-RubyRadioButton(std::unique_ptr xControl);
+RubyRadioButton(std::unique_ptr xControl, 
std::unique_ptr xImage);
 void init(const OUString& rPrimaryText, const OUString& 
rSecondaryText, const PseudoRubyText::RubyPosition& rPosition);
 
-void set_sensitive(bool sensitive) { 
m_xControl->set_sensitive(sensitive); }
+void set_sensitive(bool sensitive)
+{
+m_xControl->set_sensitive(sensitive);
+m_xImage->set_sensitive(sensitive);
+}
 void set_active(bool active) { m_xControl->set_active(active); }
 bool get_active() const { return m_xControl->get_active(); }
 
@@ -209,12 +213,14 @@ namespace svx
 
 ScopedVclPtr m_xVirDev;
 std::unique_ptr m_xControl;
+std::unique_ptr m_xImage;
 PseudoRubyText m_aRubyText;
 };
 
-RubyRadioButton::RubyRadioButton(std::unique_ptr 
xControl)
+RubyRadioButton::RubyRadioButton(std::unique_ptr 
xControl, std::unique_ptr xImage)
 : m_xVirDev(xControl->create_virtual_device())
 , m_xControl(std::move(xControl))
+, m_xImage(std::move(xImage))
 {
 // expand the point size of the desired font to the equivalent pixel 
size
 weld::SetPointFont(*m_xVirDev, m_xControl->get_font());
@@ -228,7 +234,7 @@ namespace svx
 
 Paint(*m_xVirDev);
 
-m_xControl->set_image(m_xVirDev.get());
+m_xImage->set_image(m_xVirDev.get());
 }
 
 void RubyRadioButton::Paint(vcl::RenderContext& rRenderContext)
@@ -431,10 +437,14 @@ namespace svx
 , m_xHanjaBracketed(m_xBuilder->weld_radio_button("hanjabracket"))
 , m_xWordInput(m_xBuilder->weld_entry("wordinput"))
 , m_xOriginalWord(m_xBuilder->weld_label("originalword"))
-, m_xHanjaAbove(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hanja_above")))
-, m_xHanjaBelow(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hanja_below")))
-, m_xHangulAbove(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hangul_above")))
-, m_xHangulBelow(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hangul_below")))
+, m_xHanjaAbove(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hanja_above"),
+
m_xBuilder->weld_image("hanja_above_img")))
+, m_xHanjaBelow(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hanja_below"),
+
m_xBuilder->weld_image("hanja_below_img")))
+, m_xHangulAbove(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hangul_above"),
+ 
m_xBuilder->weld_image("hangul_above_img")))
+, m_xHangulBelow(new 
RubyRadioButton(m_xBuilder->weld_radio_button("hangul_below"),
+ 
m_xBuilder->weld_image("hangul_below_img")))
 , m_xHangulOnly(m_xBuilder->weld_check_button("hangulonly"))
 , m_xHanjaOnly(m_xBuilder->weld_check_button("hanjaonly"))
 , m_xReplaceByChar(m_xBuilder->weld_check_button("replacebychar"))
diff --git a/cui/uiconfig/ui/hangulhanjaconversiondialog.ui 
b/cui/uiconfig/ui/hangulhanjaconversiondialog.ui
index 350630d4fd63..408d6fc62841 100644
--- a/cui/uiconfig/ui/hangulhanjaconversiondialog.ui
+++ b/cui/uiconfig/ui/hangulhanjaconversiondialog.ui
@@ -295,92 +295,12 @@
   
 
 
-  
+  
   
 True
 False
 12
 12
-
-  
-True
-True
-False
-Hanja above
-True
-True
-simpleconversion
-
-  
-  

[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-6-4' - download.lst external/libxml2

2021-05-21 Thread Michael Stahl (via logerrit)
 download.lst  |4 ++--
 external/libxml2/UnpackedTarball_libxml2.mk   |1 -
 external/libxml2/libxml2-config.patch.1   |4 ++--
 external/libxml2/libxml2-global-symbols.patch |4 ++--
 external/libxml2/ubsan.patch.0|   11 ---
 5 files changed, 6 insertions(+), 18 deletions(-)

New commits:
commit 37dd42f70726f5958f4371757576939164507a4f
Author: Michael Stahl 
AuthorDate: Fri May 21 13:33:26 2021 +0200
Commit: Michael Stahl 
CommitDate: Fri May 21 15:46:17 2021 +0200

libxml2: upgrade to release 2.9.12

Fixes:
CVE-2021-3516 CVE-2021-3517 CVE-2021-3518 CVE-2021-3537 CVE-2021-3541

* external/libxml2/ubsan.patch.0: remove, fixed upstream

Change-Id: I347dc854b862e78bde87d3e57cf5fdb584ca5673
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115913
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit bf0c6a98ae38cd2188d7f7e94f1563e5ce6a8ce4)

diff --git a/download.lst b/download.lst
index 702a921e929b..520482de6475 100644
--- a/download.lst
+++ b/download.lst
@@ -158,8 +158,8 @@ export LIBTOMMATH_SHA256SUM := 
083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304
 export LIBTOMMATH_TARBALL := ltm-1.0.zip
 export XMLSEC_SHA256SUM := 
13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4
 export XMLSEC_TARBALL := xmlsec1-1.2.28.tar.gz
-export LIBXML_SHA256SUM := 
aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f
-export LIBXML_VERSION_MICRO := 10
+export LIBXML_SHA256SUM := 
c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92
+export LIBXML_VERSION_MICRO := 12
 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz
 export LIBXSLT_SHA256SUM := 
98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f
 export LIBXSLT_VERSION_MICRO := 34
diff --git a/external/libxml2/UnpackedTarball_libxml2.mk 
b/external/libxml2/UnpackedTarball_libxml2.mk
index 37b5bad97549..83df02849cb3 100644
--- a/external/libxml2/UnpackedTarball_libxml2.mk
+++ b/external/libxml2/UnpackedTarball_libxml2.mk
@@ -21,7 +21,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\
$(if $(gb_Module_CURRENTMODULE_SYMBOLS_ENABLED), \
external/libxml2/libxml2-icu-sym.patch.0, \
external/libxml2/libxml2-icu.patch.0) \
-   external/libxml2/ubsan.patch.0 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libxml2/libxml2-config.patch.1 
b/external/libxml2/libxml2-config.patch.1
index 8c28fb6a7806..5a2ef1485e92 100644
--- a/external/libxml2/libxml2-config.patch.1
+++ b/external/libxml2/libxml2-config.patch.1
@@ -18,9 +18,9 @@ Hack the xml2-config to return paths into WORKDIR.
 +exec_prefix=${WORKDIR}/UnpackedTarball/libxml2
 +includedir=${WORKDIR}/UnpackedTarball/libxml2/include
 +libdir=${WORKDIR}/UnpackedTarball/libxml2/.libs
+ cflags=
+ libs=
  
- usage()
- {
 @@ -67,7 +72,8 @@
;;
  
diff --git a/external/libxml2/libxml2-global-symbols.patch 
b/external/libxml2/libxml2-global-symbols.patch
index 49ee73731562..cfec9c530281 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -14,8 +14,8 @@
  
  LIBXML2_2.6.32 {
 @@ -2231,3 +2231,43 @@
-   xmlHashDefaultDeallocator;
- } LIBXML2_2.9.1;
+   xmlPopOutputCallbacks;
+ } LIBXML2_2.9.8;
  
 +# HACK: export global variable accessor functions (globals.h)
 +LIBXML2_GLOBAL_VARIABLES {
diff --git a/external/libxml2/ubsan.patch.0 b/external/libxml2/ubsan.patch.0
deleted file mode 100644
index b52259719673..
--- a/external/libxml2/ubsan.patch.0
+++ /dev/null
@@ -1,11 +0,0 @@
 xpath.c
-+++ xpath.c
-@@ -14529,7 +14529,7 @@
-   }
- 
-   stream = xmlPatterncompile(str, dict, XML_PATTERN_XPATH,
--  &namespaces[0]);
-+  namespaces); // i.e., &namespaces[0] if namespaces != 
NULL
-   if (namespaces != NULL) {
-   xmlFree((xmlChar **)namespaces);
-   }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/cib/libreoffice-6-1' - download.lst external/libxml2

2021-05-21 Thread Michael Stahl (via logerrit)
 download.lst  |4 ++--
 external/libxml2/libxml2-config.patch.1   |4 ++--
 external/libxml2/libxml2-global-symbols.patch |4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit dfca9f1cd7be303a7be3cfe8fdc3416f19814850
Author: Michael Stahl 
AuthorDate: Fri May 21 13:33:26 2021 +0200
Commit: Michael Stahl 
CommitDate: Fri May 21 16:06:07 2021 +0200

libxml2: upgrade to release 2.9.12

Fixes:
CVE-2021-3516 CVE-2021-3517 CVE-2021-3518 CVE-2021-3537 CVE-2021-3541

* external/libxml2/ubsan.patch.0: remove, fixed upstream

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115913
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit bf0c6a98ae38cd2188d7f7e94f1563e5ce6a8ce4)

Change-Id: I347dc854b862e78bde87d3e57cf5fdb584ca5673

diff --git a/download.lst b/download.lst
index 175d1400c8ef..d9a675fabe21 100644
--- a/download.lst
+++ b/download.lst
@@ -154,8 +154,8 @@ export LIBTOMMATH_SHA256SUM := 
083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304
 export LIBTOMMATH_TARBALL := ltm-1.0.zip
 export XMLSEC_SHA256SUM := 
967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2
 export XMLSEC_TARBALL := xmlsec1-1.2.25.tar.gz
-export LIBXML_SHA256SUM := 
aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f
-export LIBXML_VERSION_MICRO := 10
+export LIBXML_SHA256SUM := 
c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92
+export LIBXML_VERSION_MICRO := 12
 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz
 export LIBXSLT_SHA256SUM := 
98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f
 export LIBXSLT_VERSION_MICRO := 34
diff --git a/external/libxml2/libxml2-config.patch.1 
b/external/libxml2/libxml2-config.patch.1
index 8c28fb6a7806..5a2ef1485e92 100644
--- a/external/libxml2/libxml2-config.patch.1
+++ b/external/libxml2/libxml2-config.patch.1
@@ -18,9 +18,9 @@ Hack the xml2-config to return paths into WORKDIR.
 +exec_prefix=${WORKDIR}/UnpackedTarball/libxml2
 +includedir=${WORKDIR}/UnpackedTarball/libxml2/include
 +libdir=${WORKDIR}/UnpackedTarball/libxml2/.libs
+ cflags=
+ libs=
  
- usage()
- {
 @@ -67,7 +72,8 @@
;;
  
diff --git a/external/libxml2/libxml2-global-symbols.patch 
b/external/libxml2/libxml2-global-symbols.patch
index 49ee73731562..cfec9c530281 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -14,8 +14,8 @@
  
  LIBXML2_2.6.32 {
 @@ -2231,3 +2231,43 @@
-   xmlHashDefaultDeallocator;
- } LIBXML2_2.9.1;
+   xmlPopOutputCallbacks;
+ } LIBXML2_2.9.8;
  
 +# HACK: export global variable accessor functions (globals.h)
 +LIBXML2_GLOBAL_VARIABLES {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - sw/source

2021-05-21 Thread Michael Stahl (via logerrit)
 sw/source/core/text/frmform.cxx |   10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 512da58e5ce822744e4d0b8139595baf1c623035
Author: Michael Stahl 
AuthorDate: Fri May 21 12:20:28 2021 +0200
Commit: Caolán McNamara 
CommitDate: Fri May 21 16:45:44 2021 +0200

sw: layout: fix footnote UAF on tdf132248-3.odt (also, tdf134127-1.odt)

Text frame 12 gets a follow 137 which gets a follow 138, and there's
a footnote at index 95.

When 138 is created, its mnOffest is 63 in SwTextFrame::SplitFrame()
so 138 gets its mbFootnote set and the footnote frame mpReference points
to 138 but then SwTextFrame::FormatAdjust() moves one line back and sets
the offset of 138 to 96.

Then SwTextFrame::CalcFollow() clears 138's mbFootnote due to lack of
footnotes starting from 96.

Later frame 138 is joined, but because its mbFootnote is false, the
footnote's mpReference continues to point to it, which leads to UAF in
SwFootnoteFrame::GetRef().

What's missing is that at the time when the offset of 138 is adjusted,
RemoveFootnote() must be called, as is already the case in another
branch of SwTextFrame::FormatAdjust(), since CVS initial import.

Not sure why this started to crash in crashtesting relatively recently.

Change-Id: Ic46019d34ff90d24d0f23effe8a6d54d6f197a71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115910
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 95a716f12a0dacdd5d80a6f3d98eadcc2f079fcf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115843
Reviewed-by: Caolán McNamara 

diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx
index 731ecdc324bf..ac9c2f95da05 100644
--- a/sw/source/core/text/frmform.cxx
+++ b/sw/source/core/text/frmform.cxx
@@ -986,7 +986,7 @@ bool SwTextFrame::CalcPreps()
 return bRet;
 }
 
-// We rewire the footnotes and the character bound objects
+// Move the as-character objects - footnotes must be moved by RemoveFootnote!
 void SwTextFrame::ChangeOffset( SwTextFrame* pFrame, TextFrameIndex nNew )
 {
 if( pFrame->GetOffset() < nNew )
@@ -1081,6 +1081,7 @@ void SwTextFrame::FormatAdjust( SwTextFormatter &rLine,
 // need to create a Follow.
 // We also need to do this if the whole mass of text remains in the 
Master,
 // because a hard line break could necessitate another line (without 
text mass)!
+TextFrameIndex const nOld(nEnd);
 nEnd = rLine.GetEnd();
 if( GetFollow() )
 {
@@ -1106,6 +1107,13 @@ void SwTextFrame::FormatAdjust( SwTextFormatter &rLine,
 // for the paragraph mark.
 nNew |= 1;
 }
+// move footnotes if the follow is kept - if RemoveFootnote() is
+// called in next format iteration, it will be with the *new*
+// offset so no effect!
+if (nNew && nOld < nEnd)
+{
+RemoveFootnote(nOld, nEnd - nOld);
+}
 ChangeOffset( GetFollow(), nEnd );
 GetFollow()->ManipOfst( nEnd );
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: drawinglayer/CppunitTest_drawinglayer_processors.mk drawinglayer/qa drawinglayer/source

2021-05-21 Thread Luboš Luňák (via logerrit)
 drawinglayer/CppunitTest_drawinglayer_processors.mk |1 
 drawinglayer/qa/unit/vclpixelprocessor2d.cxx|   89 
 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx |   24 ++--
 3 files changed, 106 insertions(+), 8 deletions(-)

New commits:
commit 9bf9fea0afadef0912d38f0d08b2bf2959569100
Author: Luboš Luňák 
AuthorDate: Fri May 21 14:48:58 2021 +0200
Commit: Luboš Luňák 
CommitDate: Fri May 21 16:53:21 2021 +0200

properly draw only parts of FillGradientPrimitive2D (tdf#139000)

The size of the whole gradient is getDefinitionRange(), while
getOutputRange() gives the area of it to draw.

Change-Id: I85dd7fe51bcc9c332a6fb0e6748d5ac89266b910
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115923
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 

diff --git a/drawinglayer/CppunitTest_drawinglayer_processors.mk 
b/drawinglayer/CppunitTest_drawinglayer_processors.mk
index 2c898e9b484a..94017d657d44 100644
--- a/drawinglayer/CppunitTest_drawinglayer_processors.mk
+++ b/drawinglayer/CppunitTest_drawinglayer_processors.mk
@@ -36,6 +36,7 @@ $(eval $(call 
gb_CppunitTest_use_externals,drawinglayer_processors,\
 
 $(eval $(call gb_CppunitTest_add_exception_objects,drawinglayer_processors, \
drawinglayer/qa/unit/vclmetafileprocessor2d \
+   drawinglayer/qa/unit/vclpixelprocessor2d \
 ))
 
 $(eval $(call gb_CppunitTest_use_ure,drawinglayer_processors))
diff --git a/drawinglayer/qa/unit/vclpixelprocessor2d.cxx 
b/drawinglayer/qa/unit/vclpixelprocessor2d.cxx
new file mode 100644
index ..17ef17969fe4
--- /dev/null
+++ b/drawinglayer/qa/unit/vclpixelprocessor2d.cxx
@@ -0,0 +1,89 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+using namespace drawinglayer;
+
+class VclPixelProcessor2DTest : public test::BootstrapFixture
+{
+// if enabled - check the result images with:
+// "xdg-open ./workdir/CppunitTest/drawinglayer_processors.test.core/"
+static constexpr const bool mbExportBitmap = false;
+
+void exportDevice(const OUString& filename, const VclPtr& 
device)
+{
+if (mbExportBitmap)
+{
+BitmapEx aBitmapEx(device->GetBitmapEx(Point(0, 0), 
device->GetOutputSizePixel()));
+SvFileStream aStream(filename, StreamMode::WRITE | 
StreamMode::TRUNC);
+GraphicFilter::GetGraphicFilter().compressAsPNG(aBitmapEx, 
aStream);
+}
+}
+
+public:
+VclPixelProcessor2DTest()
+: BootstrapFixture(true, false)
+{
+}
+
+// Test that drawing only a part of a gradient draws the proper part of it.
+void testTdf139000()
+{
+ScopedVclPtr device = 
VclPtr::Create(DeviceFormat::DEFAULT);
+device->SetOutputSizePixel(Size(100, 200));
+device->SetBackground(Wallpaper(COL_RED));
+device->Erase();
+
+drawinglayer::geometry::ViewInformation2D view;
+std::unique_ptr processor(
+processor2d::createBaseProcessor2DFromOutputDevice(*device, view));
+CPPUNIT_ASSERT(processor);
+
+basegfx::B2DRange definitionRange(0, 0, 100, 200);
+basegfx::B2DRange outputRange(0, 100, 100, 200); // Paint only lower 
half of the gradient.
+attribute::FillGradientAttribute 
attributes(attribute::GradientStyle::Linear, 0, 0, 0, 0,
+COL_WHITE.getBColor(), 
COL_BLACK.getBColor());
+rtl::Reference gradientPrimitive(
+new primitive2d::FillGradientPrimitive2D(outputRange, 
definitionRange, attributes));
+primitive2d::Primitive2DContainer primitives;
+
primitives.push_back(primitive2d::Primitive2DReference(gradientPrimitive));
+processor->process(primitives);
+
+exportDevice("test-tdf139000.png", device);
+Bitmap bitmap = device->GetBitmap(Point(), 
device->GetOutputSizePixel());
+Bitmap::ScopedReadAccess access(bitmap);
+// The upper half should keep its red background color.
+CPPUNIT_ASSERT_EQUAL(BitmapColor(COL_RED), access->GetColor(Point(0, 
99)));
+// First line of the gradient should not be the start color, but 
something halfway.
+CPPUNIT_ASSERT_LESS(static_cast(16),
+access->GetColor(Point(0, 
100)).GetColorError(COL_GRAY));
+// Last line of the gradient should be the end color, or close.
+CPPUNIT_ASSERT_LESS(static_cast(16),
+access->GetColor(Point(0, 
199)).GetColorError(COL_BLACK));
+}
+
+CPPUNIT_TEST_SUITE(VclPixelProcessor2DTest);
+   

[Libreoffice-commits] core.git: sc/inc sc/qa sc/source

2021-05-21 Thread scito (via logerrit)
 sc/inc/column.hxx   |7 
 sc/qa/unit/ucalc.cxx|  366 
 sc/source/core/data/column3.cxx |6 
 3 files changed, 376 insertions(+), 3 deletions(-)

New commits:
commit 2eb95408912f2292e2c7e8634c628a29f6c241b7
Author: scito 
AuthorDate: Fri May 21 12:43:52 2021 +0200
Commit: Mike Kaganski 
CommitDate: Fri May 21 16:59:30 2021 +0200

tdf#116413 after Paste Special with ADD and As Link attach dest cells

Change-Id: Icc039a4ea1c02d81d282cb43e7cf40279bea3342
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114641
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index c68110795311..560fb1d33b96 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -718,6 +718,10 @@ public:
 SCSIZE  GetPatternCount() const;
 SCSIZE  GetPatternCount( SCROW nRow1, SCROW nRow2 ) const;
 boolReservePatternCount( SCSIZE nReserve );
+
+void AttachNewFormulaCells(const sc::CellStoreType::position_type& aPos, 
size_t nLength,
+   std::vector& rNewSharedRows);
+
 private:
 
 sc::CellStoreType::iterator GetPositionToInsert( SCROW nRow, 
std::vector& rNewSharedRows,
@@ -735,9 +739,6 @@ private:
 const std::vector& rNewSharedRows,
 bool bJoin = true, sc::StartListeningType eListenType = 
sc::SingleCellListening );
 
-void AttachNewFormulaCells( const sc::CellStoreType::position_type& aPos, 
size_t nLength,
-std::vector& rNewSharedRows );
-
 void BroadcastNewCell( SCROW nRow );
 bool UpdateScriptType( sc::CellTextAttr& rAttr, SCROW nRow, 
sc::CellStoreType::iterator& itr );
 
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 222e3c055358..76ffd606bbe9 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -178,6 +178,8 @@ public:
 void testFormulaWizardSubformula();
 
 void testMixData();
+void testMixDataAsLinkTdf116413();
+void testMixDataWithFormulaTdf116413();
 
 /**
  * Make sure the sheet streams are invalidated properly.
@@ -302,6 +304,8 @@ public:
 CPPUNIT_TEST(testFormulaPosition);
 CPPUNIT_TEST(testFormulaWizardSubformula);
 CPPUNIT_TEST(testMixData);
+CPPUNIT_TEST(testMixDataAsLinkTdf116413);
+CPPUNIT_TEST(testMixDataWithFormulaTdf116413);
 CPPUNIT_TEST(testJumpToPrecedentsDependents);
 CPPUNIT_TEST(testSetBackgroundColor);
 CPPUNIT_TEST(testRenameTable);
@@ -5937,6 +5941,368 @@ void Test::testMixData()
 m_pDoc->DeleteTab(0);
 }
 
+void Test::testMixDataAsLinkTdf116413()
+{
+sc::AutoCalcSwitch aACSwitch(*m_pDoc, true); // turn on auto calculation.
+
+const SCTAB nTab = 0;
+m_pDoc->InsertTab(nTab, "Test");
+
+// Scenario 1: Past "As Link" and "Add" operation (as described in 
tdf#116413)
+m_pDoc->SetValue(0, 0, nTab, 1.0); // A1
+m_pDoc->SetValue(0, 1, nTab, 1000.0); // A2
+
+// Copy A1 to the clip document.
+ScDocument aClipDoc(SCDOCMODE_CLIP);
+copyToClip(m_pDoc, ScRange(0, 0, nTab, 0, 0, nTab), &aClipDoc); // A1
+
+ScRange aDestRange(0, 1, nTab, 0, 1, nTab);
+// Copy A2 to the mix document (for arithmetic paste).
+ScDocument aMixDoc(SCDOCMODE_CLIP);
+copyToClip(m_pDoc, aDestRange, &aMixDoc); // A2
+
+// Paste A1 to A2 "As Link" and perform addition.
+ScMarkData aMark(m_pDoc->GetSheetLimits());
+aMark.SetMarkArea(aDestRange);
+m_pDoc->CopyFromClip(aDestRange, aMark, InsertDeleteFlags::ALL, nullptr, 
&aClipDoc, true, true);
+
+m_pDoc->MixDocument(aDestRange, ScPasteFunc::ADD, false, aMixDoc);
+
+OUString aFormula;
+
+// Test precondition
+CPPUNIT_ASSERT_EQUAL(1001.0, m_pDoc->GetValue(0, 1, nTab)); // A2
+m_pDoc->GetFormula(0, 1, nTab, aFormula);
+CPPUNIT_ASSERT_EQUAL(OUString("=1000+($Test.$A$1)"), aFormula);
+
+// Change A1 from 1.0 to 2.0 (auto calculation is triggered)
+m_pDoc->SetValue(0, 0, nTab, 2.0); // A1
+
+// Without the fix in place, this would have failed with
+// - Expected: =1002
+// - Actual  : =1001
+CPPUNIT_ASSERT_EQUAL(1002.0, m_pDoc->GetValue(0, 1, nTab)); // A2
+m_pDoc->GetFormula(0, 1, nTab, aFormula);
+CPPUNIT_ASSERT_EQUAL(OUString("=1000+($Test.$A$1)"), aFormula);
+
+// Clear everything and start over.
+clearSheet(m_pDoc, nTab);
+clearSheet(&aClipDoc, nTab);
+clearSheet(&aMixDoc, nTab);
+
+// Scenario 2: Like Scenario 1, but with a range (3 columns)
+m_pDoc->InsertTab(nTab, "Test");
+
+m_pDoc->SetValue(0, 0, nTab, 1.0); // A1
+m_pDoc->SetValue(0, 1, nTab, 1000.0); // A2
+m_pDoc->SetValue(1, 0, nTab, 1.0); // B1
+m_pDoc->SetValue(1, 1, nTab, 1000.0); // B2
+m_pDoc->SetValue(2, 0, nTab, 1.0); // C1
+m_pDoc->SetValue(2, 1, nTab, 1000.0); // C2
+
+// Copy A1:C1 to the clip document.
+copyToClip(m_pDoc, ScRange(0, 0, nTab, 2, 0, nTab), &aClipDoc); // A1:C1
+
+aDestRange = ScRa

[Libreoffice-commits] core.git: sc/inc sc/qa sc/source

2021-05-21 Thread scito (via logerrit)
 sc/inc/table.hxx  |9 +--
 sc/qa/unit/ucalc_copypaste.cxx|   44 ++
 sc/source/core/data/clipparam.cxx |   10 ++--
 sc/source/core/data/document.cxx  |   11 -
 sc/source/core/data/table2.cxx|   36 +--
 5 files changed, 82 insertions(+), 28 deletions(-)

New commits:
commit de4c23fb38a7848e1030075b9c15cbb5c558694c
Author: scito 
AuthorDate: Fri May 21 13:11:51 2021 +0200
Commit: Mike Kaganski 
CommitDate: Fri May 21 17:01:24 2021 +0200

tdf#68976 cut paste transposed: fix wrong position in clipdoc

The transposed cells were written always in A1 of the transposed clip.
This is no problem for copy paste transposed. However, this is an issue for
cut paste transposed as references of formulas pointing to cut cells are
adjusted according to position changes.
The solution is to write the transposed cells in the same top left
corner of the transposed clipdoc as in the original non-transposed clipdoc.

There are still issues with cut paste transposed: Formula references are
not updated correctly in some cases (tdf#142065, tdf#142201).
Comprehensive unit tests will follow with fixes for tdf#142065 and
tdf#142201.

Change-Id: Id691fabf89d7f25e05182b20bd379299fc18fbb8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115535
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 8d938e6e5ce1..cbf97d7dbd36 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -541,12 +541,15 @@ public:
 voidCopyConditionalFormat( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, 
SCROW nRow2,
 SCCOL nDx, SCROW nDy, const ScTable* pTable);
 /**
+ * @param nCombinedStartRow start row of the combined range;
+ * used for transposed multi range selection with row direction;
+ * for other cases than multi range row selection this it equal to nRow1
  * @param nRowDestOffset adjustment of destination row position;
  * used for transposed multi range selection with row direction, otherwise 0
  */
-void TransposeClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, 
SCROW nRowDestOffset,
-   ScTable* pTransClip, InsertDeleteFlags nFlags, bool 
bAsLink,
-   bool bIncludeFiltered);
+void TransposeClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, 
SCROW nCombinedStartRow,
+   SCROW nRowDestOffset, ScTable* pTransClip, 
InsertDeleteFlags nFlags,
+   bool bAsLink, bool bIncludeFiltered);
 
 // mark of this document
 void MixMarked(
diff --git a/sc/qa/unit/ucalc_copypaste.cxx b/sc/qa/unit/ucalc_copypaste.cxx
index 0bbd326eb128..35c1bb72f276 100644
--- a/sc/qa/unit/ucalc_copypaste.cxx
+++ b/sc/qa/unit/ucalc_copypaste.cxx
@@ -114,6 +114,7 @@ public:
 void testCopyPasteFormulas();
 void testCopyPasteFormulasExternalDoc();
 void testCopyPasteReferencesExternalDoc(); // tdf#106456
+void testTdf68976();
 void testTdf71058();
 
 CPPUNIT_TEST_SUITE(TestCopyPaste);
@@ -189,6 +190,7 @@ public:
 CPPUNIT_TEST(testCopyPasteFormulasExternalDoc);
 CPPUNIT_TEST(testCopyPasteReferencesExternalDoc);
 
+CPPUNIT_TEST(testTdf68976);
 CPPUNIT_TEST(testTdf71058);
 
 CPPUNIT_TEST_SUITE_END();
@@ -6820,6 +6822,48 @@ void TestCopyPaste::testCopyPasteReferencesExternalDoc()
 xExtDocSh->DoClose();
 }
 
+void TestCopyPaste::testTdf68976()
+{
+const SCTAB nTab = 0;
+m_pDoc->InsertTab(nTab, "Test");
+
+m_pDoc->SetValue(0, 0, nTab, 1.0); // A1
+m_pDoc->SetString(0, 1, nTab, "=$A$1"); // A2
+m_pDoc->SetValue(0, 2, nTab, 1000.0); // A3
+
+// Cut A3 to the clip document.
+ScDocument aClipDoc(SCDOCMODE_CLIP);
+ScRange aSrcRange(0, 2, nTab, 0, 2, nTab);
+cutToClip(*m_xDocShell, aSrcRange, &aClipDoc, false); // A3
+
+ScRange aDestRange(1, 3, nTab, 1, 3, nTab); // B4
+ScMarkData aDestMark(m_pDoc->GetSheetLimits());
+
+// Transpose
+ScDocument* pOrigClipDoc = &aClipDoc;
+ScDocumentUniquePtr pTransClip(new ScDocument(SCDOCMODE_CLIP));
+aClipDoc.TransposeClip(pTransClip.get(), InsertDeleteFlags::ALL, false, 
true);
+aDestMark.SetMarkArea(aDestRange);
+// Paste
+m_pDoc->CopyFromClip(aDestRange, aDestMark, InsertDeleteFlags::ALL, 
nullptr, pTransClip.get(),
+ true, false, true, false);
+m_pDoc->UpdateTranspose(aDestRange.aStart, pOrigClipDoc, aDestMark, 
nullptr);
+pTransClip.reset();
+
+// Check results
+CPPUNIT_ASSERT_EQUAL(1.0, m_pDoc->GetValue(0, 0, nTab)); // A1
+// Without the fix in place, this would have failed with
+// - Expected: =$A$1
+// - Actual  : =$B$4
+ASSERT_FORMULA_EQUAL(*m_pDoc, ScAddress(0, 1, nTab), "$A$1", "Wrong 
formula");
+// Without the fix in place, this would have failed with
+// - Expected: 

[Libreoffice-commits] core.git: filter/source

2021-05-21 Thread Noel Grandin (via logerrit)
 filter/source/xsltfilter/XSLTFilter.cxx |   66 +---
 1 file changed, 37 insertions(+), 29 deletions(-)

New commits:
commit 185f3e3c382e93be4e0588ac8a927ea3140bce91
Author: Noel Grandin 
AuthorDate: Fri May 21 13:47:28 2021 +0200
Commit: Noel Grandin 
CommitDate: Fri May 21 17:35:56 2021 +0200

fix leak in XSLTFilter

Change-Id: Icae17e964df944391fddb47e4b0758ca89e299eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115917
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/filter/source/xsltfilter/XSLTFilter.cxx 
b/filter/source/xsltfilter/XSLTFilter.cxx
index 1e3f770c2aee..f98b83b73c48 100644
--- a/filter/source/xsltfilter/XSLTFilter.cxx
+++ b/filter/source/xsltfilter/XSLTFilter.cxx
@@ -87,6 +87,27 @@ namespace XSLT
 {
 namespace {
 
+class XSLTFilter;
+class XSLTFilterStreamListener : public WeakImplHelper
+{
+public:
+XSLTFilterStreamListener(XSLTFilter& rParent) : m_rParent(rParent) {}
+
+// XStreamListener
+virtual void SAL_CALL
+error(const Any& a) override;
+virtual void SAL_CALL
+closed() override;
+virtual void SAL_CALL
+terminated() override;
+virtual void SAL_CALL
+started() override;
+virtual void SAL_CALL
+disposing(const EventObject& e) override;
+private:
+XSLTFilter& m_rParent;
+};
+
 /*
  * XSLTFilter reads flat XML streams from the XML filter framework and 
passes
  * them to an XSLT transformation service. XSLT transformation errors are
@@ -98,8 +119,9 @@ namespace XSLT
  * service must support com.sun.star.xml.xslt.XSLT2Transformer.
  */
 class XSLTFilter : public WeakImplHelper
+ExtendedDocumentHandlerAdapter, XServiceInfo>
 {
+friend class XSLTFilterStreamListener;
 private:
 
 // the UNO ServiceFactory
@@ -133,18 +155,6 @@ namespace XSLT
 virtual OUString SAL_CALL getImplementationName() override;
 virtual css::uno::Sequence< OUString > SAL_CALL 
getSupportedServiceNames() override;
 
-// XStreamListener
-virtual void SAL_CALL
-error(const Any& a) override;
-virtual void SAL_CALL
-closed() override;
-virtual void SAL_CALL
-terminated() override;
-virtual void SAL_CALL
-started() override;
-virtual void SAL_CALL
-disposing(const EventObject& e) override;
-
 // XImportFilter
 virtual sal_Bool SAL_CALL
 importer(const Sequence& aSourceData, const 
css::uno::Reference<
@@ -176,7 +186,7 @@ namespace XSLT
 {}
 
 void
-XSLTFilter::disposing(const EventObject&)
+XSLTFilterStreamListener::disposing(const EventObject&)
 {
 }
 
@@ -249,27 +259,27 @@ namespace XSLT
 }
 
 void
-XSLTFilter::started()
+XSLTFilterStreamListener::started()
 {
-m_cTransformed.reset();
+m_rParent.m_cTransformed.reset();
 }
 void
-XSLTFilter::error(const Any& a)
+XSLTFilterStreamListener::error(const Any& a)
 {
 SAL_WARN("filter.xslt", "XSLTFilter::error was called: " << 
exceptionToString(a));
-m_bError = true;
-m_cTransformed.set();
+m_rParent.m_bError = true;
+m_rParent.m_cTransformed.set();
 }
 void
-XSLTFilter::closed()
+XSLTFilterStreamListener::closed()
 {
-m_cTransformed.set();
+m_rParent.m_cTransformed.set();
 }
 void
-XSLTFilter::terminated()
+XSLTFilterStreamListener::terminated()
 {
-m_bTerminated = true;
-m_cTransformed.set();
+m_rParent.m_bTerminated = true;
+m_rParent.m_cTransformed.set();
 }
 
 OUString
@@ -348,8 +358,7 @@ namespace XSLT
 xSeek->seek(0);
 
 // we want to be notified when the processing is 
done...
-
m_tcontrol->addListener(css::uno::Reference (
-this));
+m_tcontrol->addListener(new 
XSLTFilterStreamListener(*this));
 
 // connect input to transformer
 m_tcontrol->setInputStream(xInputStream);
@@ -489,8 +498,7 @@ namespace XSLT
 xSeek->seek(0);
 
 // we want to be notified when the processing is 
done...
-
m_tcontrol->addListener(css::uno::Reference (
-this));
+m_tcontrol->addListener(new 
XSLTFilterStreamListener(*this));
 
 // connect input to transformer
 m_tcontrol->setInputStream(xInputStream);
@@ -618,7 +626,7 @@ namespace XSLT
 if (m_tcontrol.is() && m_rOutputStream.is())
 {
 // we want to be notified when the processing is done...
-m_tcontrol->addListener(css::uno::Reference 

[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-4+backports' - include/o3tl

2021-05-21 Thread Jeff Law (via logerrit)
 include/o3tl/lru_map.hxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 213099669e6f6d64f10604aa76946613ebc5a428
Author: Jeff Law 
AuthorDate: Tue Nov 3 08:05:03 2020 -0700
Commit: Michael Stahl 
CommitDate: Fri May 21 17:41:23 2021 +0200

include cstddef for gcc11

Change-Id: I2f845ce9bb660ad6c1eea80ea81dd71add2c0db1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107191
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit 8830cf86b146b1252ac37f351a23246088d569b0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115945
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 

diff --git a/include/o3tl/lru_map.hxx b/include/o3tl/lru_map.hxx
index e822fde0294c..33a1487fa239 100644
--- a/include/o3tl/lru_map.hxx
+++ b/include/o3tl/lru_map.hxx
@@ -14,6 +14,7 @@
 #include 
 #include 
 #include 
+#include 
 
 namespace o3tl
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/qa sc/source

2021-05-21 Thread Tünde Tóth (via logerrit)
 sc/qa/uitest/autofilter/autofilter.py |   43 ++
 sc/source/ui/view/gridwin.cxx |9 ++-
 2 files changed, 51 insertions(+), 1 deletion(-)

New commits:
commit 45a49b7a1b552f204e7b417cfbe2d86e4b169993
Author: Tünde Tóth 
AuthorDate: Tue May 18 15:41:51 2021 +0200
Commit: László Németh 
CommitDate: Fri May 21 18:04:20 2021 +0200

tdf#142350 sc AutoFilter: fix (empty) entry checking

When a column was filtered for values that included 0,
but not the (empty) entry, the (empty) entry also
was checked in the Autofilter dropdown.

Regression from commit 4fd1333ba4bb4f2311e9098291154772bd310429
"tdf#140968 tdf#140978 XLSX import: fix lost rounded filters".

Change-Id: Ic2595c707bd43f1a19c86d2ee796f06d9b1af1e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115755
Tested-by: László Németh 
Reviewed-by: László Németh 

diff --git a/sc/qa/uitest/autofilter/autofilter.py 
b/sc/qa/uitest/autofilter/autofilter.py
index 7b1c043c67e2..00cfa6fbd9ba 100644
--- a/sc/qa/uitest/autofilter/autofilter.py
+++ b/sc/qa/uitest/autofilter/autofilter.py
@@ -366,5 +366,48 @@ class AutofilterTest(UITestCase):
 self.assertFalse(is_row_hidden(doc, 5))
 self.assertFalse(is_row_hidden(doc, 6))
 
+self.ui_test.close_doc()
+
+def test_tdf142350(self):
+self.ui_test.create_doc_in_start_center("calc")
+document = self.ui_test.get_component()
+calcDoc = self.xUITest.getTopFocusWindow()
+gridwin = calcDoc.getChild("grid_window")
+document = self.ui_test.get_component()
+
+enter_text_to_cell(gridwin, "A1", "A")
+enter_text_to_cell(gridwin, "A2", "0")
+enter_text_to_cell(gridwin, "A3", "")
+enter_text_to_cell(gridwin, "A4", "1")
+
+gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:A4"}))
+
+self.xUITest.executeCommand(".uno:DataFilterAutoFilter")
+
+gridwin.executeAction("LAUNCH", mkPropertyValues({"AUTOFILTER": "", 
"COL": "0", "ROW": "0"}))
+xFloatWindow = self.xUITest.getFloatWindow()
+xCheckListMenu = xFloatWindow.getChild("check_list_menu")
+xList = xCheckListMenu.getChild("check_list_box")
+xEntry = xList.getChild("2")
+xEntry.executeAction("CLICK", tuple())
+
+xOkButton = xFloatWindow.getChild("ok")
+xOkButton.executeAction("CLICK", tuple())
+
+self.assertFalse(is_row_hidden(document, 1))
+self.assertTrue(is_row_hidden(document, 2))
+self.assertFalse(is_row_hidden(document, 3))
+
+gridwin.executeAction("LAUNCH", mkPropertyValues({"AUTOFILTER": "", 
"COL": "0", "ROW": "0"}))
+xFloatWindow = self.xUITest.getFloatWindow()
+xCheckListMenu = xFloatWindow.getChild("check_list_menu")
+xList = xCheckListMenu.getChild("check_list_box")
+self.assertEqual(3, len(xList.getChildren()))
+self.assertEqual('true', 
get_state_as_dict(xList.getChild('0'))['IsChecked'])
+self.assertEqual('true', 
get_state_as_dict(xList.getChild('1'))['IsChecked'])
+self.assertEqual('false', 
get_state_as_dict(xList.getChild('2'))['IsChecked'])
+xCloseButton = xFloatWindow.getChild("cancel")
+xCloseButton.executeAction("CLICK", tuple())
+
 self.ui_test.close_doc()
 # vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 0cd90461a37c..644feab4b654 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -684,7 +684,14 @@ void ScGridWindow::LaunchAutoFilterMenu(SCCOL nCol, SCROW 
nRow)
 const double aDoubleVal = rEntry.GetValue();
 bool bSelected = true;
 if (!aSelectedValue.empty() || !aSelectedString.empty())
-bSelected = aSelectedValue.count(aDoubleVal) > 0 || 
aSelectedString.count(aStringVal) > 0;
+{
+if (aStringVal.isEmpty())
+bSelected = aSelectedString.count(aStringVal) > 0;
+else
+bSelected
+= aSelectedValue.count(aDoubleVal) > 0 || 
aSelectedString.count(aStringVal) > 0;
+}
+
 if ( rEntry.IsDate() )
 rControl.addDateMember( aStringVal, rEntry.GetValue(), bSelected );
 else
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: wizards/source

2021-05-21 Thread Jean-Pierre Ledure (via logerrit)
 wizards/source/scriptforge/python/scriptforge.py |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit 4cb73b7a5792b6c8fabacc1e29d67e9f254144e8
Author: Jean-Pierre Ledure 
AuthorDate: Fri May 21 15:54:10 2021 +0200
Commit: Jean-Pierre Ledure 
CommitDate: Fri May 21 18:13:32 2021 +0200

ScriptForge - (scriptforge.py) FIX stdout redirection in PythonShell()

Previous behavior:
  After a PythonShell() statement that opened the APSO shell console,
  subsequent print() statements executed in the same macro
  run were not displayed in the console.
  They were only from a next macro run.

Solution:
  Force a brief suspension of the Python process by inserting
  a call to a Basic routine (IPC) immediately after the launch
  of the shell console.

Result: The redirection of STDOUT and STDERR happens normally inside
  the APSO code, as expected.
Change-Id: Ifbf267a898d45a97c346f0f3ea824edd4e6045ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115930
Tested-by: Jean-Pierre Ledure 
Tested-by: Jenkins
Reviewed-by: Jean-Pierre Ledure 

diff --git a/wizards/source/scriptforge/python/scriptforge.py 
b/wizards/source/scriptforge/python/scriptforge.py
index 359db7a42ec1..bb8635936ed5 100644
--- a/wizards/source/scriptforge/python/scriptforge.py
+++ b/wizards/source/scriptforge/python/scriptforge.py
@@ -942,6 +942,9 @@ class SFScriptForge:
 kwargs = {'loc': variables}
 kwargs['loc'].setdefault('XSCRIPTCONTEXT', uno)
 console(**kwargs)
+# An interprocess call is necessary to allow a redirection of 
STDOUT and STDERR by APSO
+#   Choice is a minimalist call to a Basic routine: no 
arguments, a few lines of code
+SFScriptForge.SF_Basic.GetGuiType()
 else:
 # The APSO extension could not be located in your LibreOffice 
installation
 cls._RaiseFatal('SF_Exception.PythonShell', 'variables=None', 
'PYTHONSHELLERROR')
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: solenv/sanitizers

2021-05-21 Thread Caolán McNamara (via logerrit)
 solenv/sanitizers/ui/modules/smath.suppr |1 -
 1 file changed, 1 deletion(-)

New commits:
commit f19a599f6911f5ccd1049228454b6c6c8fd6d5cb
Author: Caolán McNamara 
AuthorDate: Fri May 21 14:36:46 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 18:19:05 2021 +0200

drop unused suppression

Change-Id: Ibdeb08817e5731a9165751c70466ffaf7ecf7875
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115933
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/solenv/sanitizers/ui/modules/smath.suppr 
b/solenv/sanitizers/ui/modules/smath.suppr
index cb5cfbd0ab3d..011a7aa39db2 100644
--- a/solenv/sanitizers/ui/modules/smath.suppr
+++ b/solenv/sanitizers/ui/modules/smath.suppr
@@ -1,7 +1,6 @@
 starmath/uiconfig/smath/ui/catalogdialog.ui://GtkLabel[@id='label1'] 
orphan-label
 starmath/uiconfig/smath/ui/catalogdialog.ui://GtkLabel[@id='symbolname'] 
orphan-label
 
starmath/uiconfig/smath/ui/catalogdialog.ui://GtkDrawingArea[@id='symbolsetdisplay']
 no-labelled-by
-starmath/uiconfig/smath/ui/printeroptions.ui://GtkSpinButton[@id='scalingspin']
 no-labelled-by
 starmath/uiconfig/smath/ui/spacingdialog.ui://GtkLabel[@id='1label1'] 
orphan-label
 starmath/uiconfig/smath/ui/spacingdialog.ui://GtkLabel[@id='1label2'] 
orphan-label
 starmath/uiconfig/smath/ui/spacingdialog.ui://GtkLabel[@id='1label3'] 
orphan-label
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/unx

2021-05-21 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 3fdf145e699c5b639c6da722ec4de2d0ed49cfec
Author: Caolán McNamara 
AuthorDate: Fri May 21 14:07:10 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 18:25:56 2021 +0200

inherit CheckButton from Widget instead of Button

seeing as GtkCheckButton no longer supports Button-alike features

Change-Id: Ic7c882c68fa2d6d2b5bdd0dcca7d27e4b39daf46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115934
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 278e21f66a71..a00cb56f56b6 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9834,7 +9834,7 @@ public:
 }
 };
 
-class GtkInstanceCheckButton : public GtkInstanceButton, public virtual 
weld::CheckButton
+class GtkInstanceCheckButton : public GtkInstanceWidget, public virtual 
weld::CheckButton
 {
 private:
 GtkCheckButton* m_pCheckButton;
@@ -9849,7 +9849,7 @@ private:
 
 public:
 GtkInstanceCheckButton(GtkCheckButton* pButton, GtkInstanceBuilder* 
pBuilder, bool bTakeOwnership)
-: GtkInstanceButton(GTK_BUTTON(pButton), pBuilder, bTakeOwnership)
+: GtkInstanceWidget(GTK_WIDGET(pButton), pBuilder, bTakeOwnership)
 , m_pCheckButton(pButton)
 , m_nSignalId(g_signal_connect(m_pCheckButton, "toggled", 
G_CALLBACK(signalToggled), this))
 {
@@ -9923,12 +9923,12 @@ public:
 virtual void disable_notify_events() override
 {
 g_signal_handler_block(m_pCheckButton, m_nSignalId);
-GtkInstanceButton::disable_notify_events();
+GtkInstanceWidget::disable_notify_events();
 }
 
 virtual void enable_notify_events() override
 {
-GtkInstanceButton::enable_notify_events();
+GtkInstanceWidget::enable_notify_events();
 g_signal_handler_unblock(m_pCheckButton, m_nSignalId);
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/unx

2021-05-21 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |   35 ---
 1 file changed, 24 insertions(+), 11 deletions(-)

New commits:
commit dea9c444ab139dd53d44203bbcb88b29c95ceb96
Author: Caolán McNamara 
AuthorDate: Wed May 19 09:10:03 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 18:26:13 2021 +0200

gtk4: reenable CheckButton and RadioButton

Change-Id: I29dc430222bb6dcb44bca0c2f26939a925c69c60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115787
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index a00cb56f56b6..9171de7f2f50 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9834,6 +9834,12 @@ public:
 }
 };
 
+}
+
+#endif
+
+namespace {
+
 class GtkInstanceCheckButton : public GtkInstanceWidget, public virtual 
weld::CheckButton
 {
 private:
@@ -9941,12 +9947,23 @@ public:
 class GtkInstanceRadioButton : public GtkInstanceCheckButton, public virtual 
weld::RadioButton
 {
 public:
+#if GTK_CHECK_VERSION(4, 0, 0)
+GtkInstanceRadioButton(GtkCheckButton* pButton, GtkInstanceBuilder* 
pBuilder, bool bTakeOwnership)
+: GtkInstanceCheckButton(pButton, pBuilder, bTakeOwnership)
+#else
 GtkInstanceRadioButton(GtkRadioButton* pButton, GtkInstanceBuilder* 
pBuilder, bool bTakeOwnership)
 : GtkInstanceCheckButton(GTK_CHECK_BUTTON(pButton), pBuilder, 
bTakeOwnership)
+#endif
 {
 }
 };
 
+}
+
+namespace {
+
+#if !GTK_CHECK_VERSION(4, 0, 0)
+
 class GtkInstanceScale : public GtkInstanceWidget, public virtual weld::Scale
 {
 private:
@@ -10208,10 +10225,11 @@ public:
 g_signal_handler_disconnect(m_pCalendar, m_nDaySelectedSignalId);
 }
 };
-}
 
 #endif
 
+}
+
 namespace
 {
 void set_entry_message_type(GtkEntry* pEntry, weld::EntryMessageType eType)
@@ -18943,30 +18961,24 @@ public:
 
 virtual std::unique_ptr weld_radio_button(const OString 
&id) override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
+#if GTK_CHECK_VERSION(4, 0, 0)
+GtkCheckButton* pRadioButton = 
GTK_CHECK_BUTTON(gtk_builder_get_object(m_pBuilder, id.getStr()));
+#else
 GtkRadioButton* pRadioButton = 
GTK_RADIO_BUTTON(gtk_builder_get_object(m_pBuilder, id.getStr()));
+#endif
 if (!pRadioButton)
 return nullptr;
 auto_add_parentless_widgets_to_container(GTK_WIDGET(pRadioButton));
 return std::make_unique(pRadioButton, this, 
false);
-#else
-(void)id;
-return nullptr;
-#endif
 }
 
 virtual std::unique_ptr weld_check_button(const OString 
&id) override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
 GtkCheckButton* pCheckButton = 
GTK_CHECK_BUTTON(gtk_builder_get_object(m_pBuilder, id.getStr()));
 if (!pCheckButton)
 return nullptr;
 auto_add_parentless_widgets_to_container(GTK_WIDGET(pCheckButton));
 return std::make_unique(pCheckButton, this, 
false);
-#else
-(void)id;
-return nullptr;
-#endif
 }
 
 virtual std::unique_ptr weld_scale(const OString &id) override
@@ -19343,6 +19355,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* 
pParent, const OUString&
 rUIFile != "cui/ui/percentdialog.ui" &&
 rUIFile != "sfx/ui/querysavedialog.ui" &&
 rUIFile != "svt/ui/javadisableddialog.ui" &&
+rUIFile != "modules/smath/ui/alignmentdialog.ui" &&
 rUIFile != "modules/smath/ui/fontsizedialog.ui" &&
 rUIFile != "modules/smath/ui/savedefaultsdialog.ui" &&
 rUIFile != "modules/swriter/ui/gotopagedialog.ui" &&
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - drawinglayer/source

2021-05-21 Thread Luboš Luňák (via logerrit)
 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx |   24 ++--
 1 file changed, 16 insertions(+), 8 deletions(-)

New commits:
commit 887f1dbbda9dd371f52111c2f5a3bbbc67fc5615
Author: Luboš Luňák 
AuthorDate: Fri May 21 14:48:58 2021 +0200
Commit: Luboš Luňák 
CommitDate: Fri May 21 19:35:11 2021 +0200

properly draw only parts of FillGradientPrimitive2D (tdf#139000)

The size of the whole gradient is getDefinitionRange(), while
getOutputRange() gives the area of it to draw.

Change-Id: I85dd7fe51bcc9c332a6fb0e6748d5ac89266b910
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115923
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 
(cherry picked from commit 9bf9fea0afadef0912d38f0d08b2bf2959569100)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115850

diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index ebbc41744734..47f39e87bf8b 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -1207,13 +1207,6 @@ void VclPixelProcessor2D::processFillGradientPrimitive2D(
 
 GradientStyle eGradientStyle = 
convertGradientStyle(rFillGradient.getStyle());
 
-basegfx::B2DRange aRange(rPrimitive.getOutputRange());
-aRange.transform(maCurrentTransformation);
-
-const tools::Rectangle aRectangle(
-sal_Int32(std::floor(aRange.getMinX())), 
sal_Int32(std::floor(aRange.getMinY())),
-sal_Int32(std::ceil(aRange.getMaxX())), 
sal_Int32(std::ceil(aRange.getMaxY(;
-
 Gradient aGradient(eGradientStyle, Color(rFillGradient.getStartColor()),
Color(rFillGradient.getEndColor()));
 
@@ -1223,7 +1216,22 @@ void VclPixelProcessor2D::processFillGradientPrimitive2D(
 aGradient.SetOfsY(rFillGradient.getOffsetY() * 100.0);
 aGradient.SetSteps(rFillGradient.getSteps());
 
-mpOutputDevice->DrawGradient(aRectangle, aGradient);
+basegfx::B2DRange aOutputRange(rPrimitive.getOutputRange());
+aOutputRange.transform(maCurrentTransformation);
+basegfx::B2DRange aFullRange(rPrimitive.getDefinitionRange());
+aFullRange.transform(maCurrentTransformation);
+
+const tools::Rectangle aOutputRectangle(
+std::floor(aOutputRange.getMinX()), std::floor(aOutputRange.getMinY()),
+std::ceil(aOutputRange.getMaxX()), std::ceil(aOutputRange.getMaxY()));
+const tools::Rectangle aFullRectangle(
+std::floor(aFullRange.getMinX()), std::floor(aFullRange.getMinY()),
+std::ceil(aFullRange.getMaxX()), std::ceil(aFullRange.getMaxY()));
+
+mpOutputDevice->Push(PushFlags::CLIPREGION);
+mpOutputDevice->IntersectClipRegion(aOutputRectangle);
+mpOutputDevice->DrawGradient(aFullRectangle, aGradient);
+mpOutputDevice->Pop();
 }
 
 } // end of namespace
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-4+backports' - include/o3tl

2021-05-21 Thread Stephan Bergmann (via logerrit)
 include/o3tl/lru_map.hxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 59d0c64f28a75f3d5a064810f9c00cd21a377274
Author: Stephan Bergmann 
AuthorDate: Tue Jan 12 15:50:10 2021 +0100
Commit: Michael Stahl 
CommitDate: Fri May 21 19:48:06 2021 +0200

Missing include (for std::min)

Change-Id: I44eebee0149d7e890aeff715dd7ae0005c45378d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109179
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit e24cc814b5b6e50967116cb3908e4bf56b7aee4b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115946
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 

diff --git a/include/o3tl/lru_map.hxx b/include/o3tl/lru_map.hxx
index 33a1487fa239..fac5f6b739ed 100644
--- a/include/o3tl/lru_map.hxx
+++ b/include/o3tl/lru_map.hxx
@@ -11,6 +11,7 @@
 #ifndef INCLUDED_O3TL_LRU_MAP_HXX
 #define INCLUDED_O3TL_LRU_MAP_HXX
 
+#include 
 #include 
 #include 
 #include 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-4+backports' - sfx2/source

2021-05-21 Thread Michael Stahl (via logerrit)
 sfx2/source/doc/objstor.cxx |   33 +
 1 file changed, 33 insertions(+)

New commits:
commit 90b8f8b1263481c1c25c8441e23c2b7616e3a077
Author: Michael Stahl 
AuthorDate: Fri Jul 10 14:30:34 2020 +0200
Commit: Michael Stahl 
CommitDate: Fri May 21 19:48:54 2021 +0200

tdf#134582 sfx2: when storing, set Version on embedded object storage

This previously wasn't needed because there was only one version for
which it was checked (1.2) but since commit
a541cd91951eca15e40764244b34c72b347f9f26 there's a second version so
when loading an existing embedded object in one version and storing it
in another, the Version must be updated so the attribute in
META-INF/manifest.xml matches the one in content.xml.

Change-Id: Ic2fc303c6f6bc254050d531d578029377976ecb5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98521
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 519d96fd8b83ef4c61576d87b58f97b7e6e6e3c6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98459
Reviewed-by: Thorsten Behrens 
(cherry picked from commit a24a4cc1838e3a2d55261a8edf6cb63186f4c38f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108950
Tested-by: Michael Stahl 
Reviewed-by: Michael Stahl 

diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 6d7b3f99ee69..ab3dee35e5c2 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -984,6 +984,39 @@ bool SfxObjectShell::DoSave()
 
 pImpl->bIsSaving = true;
 
+if (IsOwnStorageFormat(*GetMedium()))
+{
+SvtSaveOptions::ODFSaneDefaultVersion nDefVersion = 
SvtSaveOptions::ODFSVER_012;
+if (!utl::ConfigManager::IsFuzzing())
+{
+SvtSaveOptions aSaveOpt;
+nDefVersion = aSaveOpt.GetODFSaneDefaultVersion();
+}
+uno::Reference const 
xProps(GetMedium()->GetStorage(), uno::UNO_QUERY);
+assert(xProps.is());
+if (nDefVersion >= SvtSaveOptions::ODFSVER_012) // property exists 
only since ODF 1.2
+{
+try // tdf#134582 set Version on embedded objects as they
+{   // could have been loaded with a different/old version
+#if 0
+// not on old branch
+if (SvtSaveOptions::ODFSVER_013 <= nDefVersion)
+{
+xProps->setPropertyValue("Version", 
uno::makeAny(ODFVER_013_TEXT));
+}
+else
+#endif
+{
+xProps->setPropertyValue("Version", 
uno::makeAny(ODFVER_012_TEXT));
+}
+}
+catch (uno::Exception&)
+{
+TOOLS_WARN_EXCEPTION("sfx.doc", "SfxObjectShell::DoSave");
+}
+}
+}
+
 uno::Sequence< beans::NamedValue > aEncryptionData;
 if ( IsPackageStorageFormat_Impl( *GetMedium() ) )
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-2021' - drawinglayer/source

2021-05-21 Thread Luboš Luňák (via logerrit)
 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx |   24 ++--
 1 file changed, 16 insertions(+), 8 deletions(-)

New commits:
commit ab49e35ab0b9bf44de424f288dd0a359476fff7f
Author: Luboš Luňák 
AuthorDate: Fri May 21 14:48:58 2021 +0200
Commit: Andras Timar 
CommitDate: Fri May 21 20:26:54 2021 +0200

properly draw only parts of FillGradientPrimitive2D (tdf#139000)

The size of the whole gradient is getDefinitionRange(), while
getOutputRange() gives the area of it to draw.

Change-Id: I85dd7fe51bcc9c332a6fb0e6748d5ac89266b910
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115923
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 
(cherry picked from commit 9bf9fea0afadef0912d38f0d08b2bf2959569100)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115955
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Andras Timar 

diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index ebbc41744734..47f39e87bf8b 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -1207,13 +1207,6 @@ void VclPixelProcessor2D::processFillGradientPrimitive2D(
 
 GradientStyle eGradientStyle = 
convertGradientStyle(rFillGradient.getStyle());
 
-basegfx::B2DRange aRange(rPrimitive.getOutputRange());
-aRange.transform(maCurrentTransformation);
-
-const tools::Rectangle aRectangle(
-sal_Int32(std::floor(aRange.getMinX())), 
sal_Int32(std::floor(aRange.getMinY())),
-sal_Int32(std::ceil(aRange.getMaxX())), 
sal_Int32(std::ceil(aRange.getMaxY(;
-
 Gradient aGradient(eGradientStyle, Color(rFillGradient.getStartColor()),
Color(rFillGradient.getEndColor()));
 
@@ -1223,7 +1216,22 @@ void VclPixelProcessor2D::processFillGradientPrimitive2D(
 aGradient.SetOfsY(rFillGradient.getOffsetY() * 100.0);
 aGradient.SetSteps(rFillGradient.getSteps());
 
-mpOutputDevice->DrawGradient(aRectangle, aGradient);
+basegfx::B2DRange aOutputRange(rPrimitive.getOutputRange());
+aOutputRange.transform(maCurrentTransformation);
+basegfx::B2DRange aFullRange(rPrimitive.getDefinitionRange());
+aFullRange.transform(maCurrentTransformation);
+
+const tools::Rectangle aOutputRectangle(
+std::floor(aOutputRange.getMinX()), std::floor(aOutputRange.getMinY()),
+std::ceil(aOutputRange.getMaxX()), std::ceil(aOutputRange.getMaxY()));
+const tools::Rectangle aFullRectangle(
+std::floor(aFullRange.getMinX()), std::floor(aFullRange.getMinY()),
+std::ceil(aFullRange.getMaxX()), std::ceil(aFullRange.getMaxY()));
+
+mpOutputDevice->Push(PushFlags::CLIPREGION);
+mpOutputDevice->IntersectClipRegion(aOutputRectangle);
+mpOutputDevice->DrawGradient(aFullRectangle, aGradient);
+mpOutputDevice->Pop();
 }
 
 } // end of namespace
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sw/source

2021-05-21 Thread Noel Grandin (via logerrit)
 sw/source/filter/html/htmlfly.hxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit cc614f87afb38a8342dccfe4ad1b1d6ad7d4f955
Author: Noel Grandin 
AuthorDate: Fri May 21 14:33:56 2021 +0200
Commit: Noel Grandin 
CommitDate: Fri May 21 20:28:17 2021 +0200

fix leak in SwHTMLPosFlyFrame

affects html export

Change-Id: I10b33a27e18eabf36a1a8566c3b90f2f7c760f0d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115922
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sw/source/filter/html/htmlfly.hxx 
b/sw/source/filter/html/htmlfly.hxx
index ce1a43a3a40d..5036509a5ba4 100644
--- a/sw/source/filter/html/htmlfly.hxx
+++ b/sw/source/filter/html/htmlfly.hxx
@@ -23,6 +23,7 @@
 #include 
 #include 
 #include 
+#include 
 
 class SdrObject;
 class SwFrameFormat;
@@ -97,7 +98,7 @@ class SwHTMLPosFlyFrame
 {
 const SwFrameFormat*pFrameFormat;  // the frame
 const SdrObject*pSdrObject;// maybe Sdr-Object
-SwNodeIndex*pNdIdx;// Node-Index
+std::unique_ptr pNdIdx;// Node-Index
 sal_uInt32  nOrdNum;   // from SwPosFlyFrame
 sal_Int32   nContentIdx;   // its position in content
 AllHtmlFlagsnAllFlags;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: cui/source

2021-05-21 Thread Mike Kaganski (via logerrit)
 cui/source/tabpages/textattr.cxx |   10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

New commits:
commit 134d59017fa61afff4248d1eeebb24ba336add07
Author: Mike Kaganski 
AuthorDate: Fri May 21 15:01:58 2021 +0200
Commit: Mike Kaganski 
CommitDate: Fri May 21 20:30:19 2021 +0200

Don't upcast only to downcast immediately

Change-Id: I6d331708c281851f28e9800b7deeaee634310c21
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115848
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/cui/source/tabpages/textattr.cxx b/cui/source/tabpages/textattr.cxx
index 679bb8dce740..2e2c42bfa540 100644
--- a/cui/source/tabpages/textattr.cxx
+++ b/cui/source/tabpages/textattr.cxx
@@ -111,32 +111,32 @@ void SvxTextAttrPage::Reset( const SfxItemSet* rAttrs )
 DBG_ASSERT( pPool, "Where is the pool?" );
 MapUnit eUnit = pPool->GetMetric( SDRATTR_TEXT_LEFTDIST );
 
-const SfxPoolItem* pItem = GetItem( *rAttrs, SDRATTR_TEXT_LEFTDIST );
+const SdrMetricItem* pItem = GetItem(*rAttrs, SDRATTR_TEXT_LEFTDIST);
 if( !pItem )
 pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_LEFTDIST );
 
-SetMetricValue(*m_xMtrFldLeft, static_cast(pItem)->GetValue(), eUnit);
+SetMetricValue(*m_xMtrFldLeft, pItem->GetValue(), eUnit);
 m_xMtrFldLeft->save_value();
 
 pItem = GetItem( *rAttrs, SDRATTR_TEXT_RIGHTDIST );
 if( !pItem )
 pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_RIGHTDIST );
 
-SetMetricValue(*m_xMtrFldRight, static_cast(pItem)->GetValue(), eUnit);
+SetMetricValue(*m_xMtrFldRight, pItem->GetValue(), eUnit);
 m_xMtrFldRight->save_value();
 
 pItem = GetItem( *rAttrs, SDRATTR_TEXT_UPPERDIST );
 if( !pItem )
 pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_UPPERDIST );
 
-SetMetricValue(*m_xMtrFldTop, static_cast(pItem)->GetValue(), eUnit);
+SetMetricValue(*m_xMtrFldTop, pItem->GetValue(), eUnit);
 m_xMtrFldTop->save_value();
 
 pItem = GetItem( *rAttrs, SDRATTR_TEXT_LOWERDIST );
 if( !pItem )
 pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_LOWERDIST );
 
-SetMetricValue(*m_xMtrFldBottom, static_cast(pItem)->GetValue(), eUnit);
+SetMetricValue(*m_xMtrFldBottom, pItem->GetValue(), eUnit);
 m_xMtrFldBottom->save_value();
 
 // adjust to height and autogrowsize
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: svx/source

2021-05-21 Thread Mike Kaganski (via logerrit)
 svx/source/dialog/dlgutil.cxx |   13 -
 1 file changed, 4 insertions(+), 9 deletions(-)

New commits:
commit 70f3327e4ad0267c8e5e711e2b55e30a71ef5452
Author: Mike Kaganski 
AuthorDate: Fri May 21 15:50:13 2021 +0200
Commit: Mike Kaganski 
CommitDate: Fri May 21 20:30:51 2021 +0200

Simplify GetModuleFieldUnit a bit

Change-Id: I34ed20387104cbfa0e9b894a5862d7f0543adfd8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115849
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/svx/source/dialog/dlgutil.cxx b/svx/source/dialog/dlgutil.cxx
index 9ed2e2bdb9f4..3d40889a839f 100644
--- a/svx/source/dialog/dlgutil.cxx
+++ b/svx/source/dialog/dlgutil.cxx
@@ -30,16 +30,11 @@
 
 FieldUnit GetModuleFieldUnit( const SfxItemSet& rSet )
 {
-FieldUnit eUnit = FieldUnit::INCH;
-const SfxPoolItem* pItem = nullptr;
-if ( SfxItemState::SET == rSet.GetItemState( SID_ATTR_METRIC, false, 
&pItem ) )
-eUnit = static_cast(static_cast(pItem)->GetValue());
-else
-{
-return SfxModule::GetCurrentFieldUnit();
-}
+if (const SfxPoolItem* pItem = nullptr;
+SfxItemState::SET == rSet.GetItemState(SID_ATTR_METRIC, false, &pItem))
+return static_cast(static_cast(pItem)->GetValue());
 
-return eUnit;
+return SfxModule::GetCurrentFieldUnit();
 }
 
 bool GetApplyCharUnit( const SfxItemSet& rSet )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sw/qa

2021-05-21 Thread Noel Grandin (via logerrit)
 sw/qa/core/macros-test.cxx |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 318c48205cf598ee6c2312e5b4d0ae7fc1ee6c36
Author: Noel Grandin 
AuthorDate: Fri May 21 15:23:51 2021 +0200
Commit: Noel Grandin 
CommitDate: Fri May 21 20:43:15 2021 +0200

fix SwDoc leaks in CppunitTest_sw_macros_test

Change-Id: I488c722fcba553f8784a1b14d841128cbda77934
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115924
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/sw/qa/core/macros-test.cxx b/sw/qa/core/macros-test.cxx
index 66f2dd9b2794..91c7a928a46a 100644
--- a/sw/qa/core/macros-test.cxx
+++ b/sw/qa/core/macros-test.cxx
@@ -132,7 +132,7 @@ void SwMacrosTest::testVba()
 
 void SwMacrosTest::testBookmarkDeleteAndJoin()
 {
-SwDoc *const pDoc = new SwDoc;
+rtl::Reference const pDoc(new SwDoc);
 pDoc->GetIDocumentUndoRedo().DoUndo(true); // bug is in SwUndoDelete
 SwNodeIndex aIdx(pDoc->GetNodes().GetEndOfContent(), -1);
 SwPaM aPaM(aIdx);
@@ -172,7 +172,7 @@ void SwMacrosTest::testBookmarkDeleteAndJoin()
 
 void SwMacrosTest::testBookmarkDeleteTdf90816()
 {
-SwDoc *const pDoc = new SwDoc;
+rtl::Reference const pDoc(new SwDoc);
 pDoc->GetIDocumentUndoRedo().DoUndo(true); // bug is in SwUndoDelete
 SwNodeIndex aIdx(pDoc->GetNodes().GetEndOfContent(), -1);
 SwPaM aPaM(aIdx);
@@ -309,7 +309,7 @@ void SwMacrosTest::testControlShapeGrouping()
 
 void SwMacrosTest::testFdo55289()
 {
-SwDoc *const pDoc = new SwDoc;
+SwDoc* const pDoc = new SwDoc;
 SwDocShellRef pDocShell = new SwDocShell(*pDoc, 
SfxObjectCreateMode::EMBEDDED);
 // this needs to run with no layout to tickle the bugs in the special
 // cases in SwXShape re-anchoring
@@ -337,6 +337,7 @@ void SwMacrosTest::testFdo55289()
 uno::Reference(xModel, 
UNO_QUERY_THROW)->getText()->getEnd();
 uno::Reference const xShapeContent(xShape, UNO_QUERY);
 xShapeContent->attach(xEnd);
+pDocShell->DoClose();
 }
 
 void SwMacrosTest::testFdo68983()
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - vcl/unx

2021-05-21 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |   39 ---
 1 file changed, 24 insertions(+), 15 deletions(-)

New commits:
commit 69ad56b8281bbf4bbf4935cc2ac10b9719869afa
Author: Caolán McNamara 
AuthorDate: Fri May 21 15:20:45 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 20:54:09 2021 +0200

gtk4: renable LinkButton

Change-Id: Ifdb49a52c08ac78a48aa37c00041b8714bcd0206
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115940
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 56d05b1dc6aa..be00119aa97c 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9789,6 +9789,12 @@ public:
 }
 };
 
+}
+
+#endif
+
+namespace {
+
 class GtkInstanceLinkButton : public GtkInstanceWidget, public virtual 
weld::LinkButton
 {
 private:
@@ -9851,8 +9857,6 @@ public:
 
 }
 
-#endif
-
 namespace {
 
 class GtkInstanceCheckButton : public GtkInstanceWidget, public virtual 
weld::CheckButton
@@ -18948,16 +18952,11 @@ public:
 
 virtual std::unique_ptr weld_link_button(const OString 
&id) override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
 GtkLinkButton* pButton = 
GTK_LINK_BUTTON(gtk_builder_get_object(m_pBuilder, id.getStr()));
 if (!pButton)
 return nullptr;
 auto_add_parentless_widgets_to_container(GTK_WIDGET(pButton));
 return std::make_unique(pButton, this, false);
-#else
-(void)id;
-return nullptr;
-#endif
 }
 
 virtual std::unique_ptr weld_toggle_button(const 
OString &id) override
commit 4cd4946b7c04e192d2f2fa164eae87224f4d0b5d
Author: Caolán McNamara 
AuthorDate: Fri May 21 15:18:33 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 20:53:48 2021 +0200

gtk4: reenable ToggleButton

Change-Id: If6458ef0a5ad21532c9aa96ed52779993353b572
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115939
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 9171de7f2f50..56d05b1dc6aa 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -8086,8 +8086,6 @@ GtkInstanceButton* 
GtkInstanceDialog::has_click_handler(int nResponse)
 return pButton;
 }
 
-#if !GTK_CHECK_VERSION(4, 0, 0)
-
 namespace {
 
 class GtkInstanceToggleButton : public GtkInstanceButton, public virtual 
weld::ToggleButton
@@ -8114,7 +8112,7 @@ public:
 virtual void set_active(bool active) override
 {
 disable_notify_events();
-gtk_toggle_button_set_inconsistent(m_pToggleButton, false);
+set_inconsistent(false);
 gtk_toggle_button_set_active(m_pToggleButton, active);
 enable_notify_events();
 }
@@ -8126,12 +8124,23 @@ public:
 
 virtual void set_inconsistent(bool inconsistent) override
 {
+#if GTK_CHECK_VERSION(4, 0, 0)
+if (inconsistent)
+gtk_widget_set_state_flags(GTK_WIDGET(m_pToggleButton), 
GTK_STATE_FLAG_INCONSISTENT, false);
+else
+gtk_widget_unset_state_flags(GTK_WIDGET(m_pToggleButton), 
GTK_STATE_FLAG_INCONSISTENT);
+#else
 gtk_toggle_button_set_inconsistent(m_pToggleButton, inconsistent);
+#endif
 }
 
 virtual bool get_inconsistent() const override
 {
+#if GTK_CHECK_VERSION(4, 0, 0)
+return gtk_widget_get_state_flags(GTK_WIDGET(m_pToggleButton)) & 
GTK_STATE_FLAG_INCONSISTENT;
+#else
 return gtk_toggle_button_get_inconsistent(m_pToggleButton);
+#endif
 }
 
 virtual void disable_notify_events() override
@@ -8152,6 +8161,12 @@ public:
 }
 };
 
+}
+
+#if !GTK_CHECK_VERSION(4, 0, 0)
+
+namespace {
+
 void do_grab(GtkWidget* pWidget)
 {
 #if !GTK_CHECK_VERSION(4, 0, 0)
@@ -18947,16 +18962,11 @@ public:
 
 virtual std::unique_ptr weld_toggle_button(const 
OString &id) override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
 GtkToggleButton* pToggleButton = 
GTK_TOGGLE_BUTTON(gtk_builder_get_object(m_pBuilder, id.getStr()));
 if (!pToggleButton)
 return nullptr;
 auto_add_parentless_widgets_to_container(GTK_WIDGET(pToggleButton));
 return std::make_unique(pToggleButton, this, 
false);
-#else
-(void)id;
-return nullptr;
-#endif
 }
 
 virtual std::unique_ptr weld_radio_button(const OString 
&id) override
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sw/source

2021-05-21 Thread Caolán McNamara (via logerrit)
 sw/source/uibase/dbui/dbtree.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 89cc421a6b246df36415fc3fbbec00435ffc5a85
Author: Caolán McNamara 
AuthorDate: Fri May 21 16:46:23 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 20:53:24 2021 +0200

tdf#142294 drop placeholder on-demand node on directly populating node

Initially there's a  entry to indicate the load-on-demand
state.  It needs to be there for the expander indicator to be
drawn/shown when there are no "real" entries yet.

Typically the user clicks on the expander, the expansion remove the
 entry and calls the provided expander-callback which has
the change to populate the node.

Here RequestingChildrenHdl is the expander-callback (set via
connect_expanding) and populates the node like it should.

But then there are two places where it is called directly outside the
expander-callback so it merrily appends entries into the node, but
because it's called outside the expander-callback the 
entry was never removed which is then a problem because of the resulting
inconsistency.

Change-Id: Ie7d034e3f41832591438127c82eba85deb610952
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115949
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/sw/source/uibase/dbui/dbtree.cxx b/sw/source/uibase/dbui/dbtree.cxx
index 469a69968d74..8b3692f8da31 100644
--- a/sw/source/uibase/dbui/dbtree.cxx
+++ b/sw/source/uibase/dbui/dbtree.cxx
@@ -342,6 +342,7 @@ void SwDBTreeList::Select(std::u16string_view rDBName, 
std::u16string_view rTabl
 }
 if (!m_xTreeView->iter_has_child(*xParent))
 {
+m_xTreeView->set_children_on_demand(*xParent, false); // 
tdf#142294 drop placeholder on-demand node
 RequestingChildrenHdl(*xParent);
 // If successful, it will be expanded in a call to 
scroll_to_row for its children
 }
@@ -363,6 +364,7 @@ void SwDBTreeList::Select(std::u16string_view rDBName, 
std::u16string_view rTabl
 {
 if (!m_xTreeView->iter_has_child(*xParent))
 {
+m_xTreeView->set_children_on_demand(*xParent, 
false); // tdf#142294 drop placeholder on-demand node
 RequestingChildrenHdl(*xParent);
 m_xTreeView->expand_row(*xParent);
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: vcl/unx

2021-05-21 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

New commits:
commit 5c4c3e776d702932099a1d510db0c92d795080ec
Author: Caolán McNamara 
AuthorDate: Fri May 21 15:22:42 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 20:54:30 2021 +0200

gtk4: reenable Scale

Change-Id: If9ebeb540a87f81bd48a121ecbf674dd8f636f71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115941
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index be00119aa97c..f540885c5ebb 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9981,8 +9981,6 @@ public:
 
 namespace {
 
-#if !GTK_CHECK_VERSION(4, 0, 0)
-
 class GtkInstanceScale : public GtkInstanceWidget, public virtual weld::Scale
 {
 private:
@@ -10055,6 +10053,8 @@ public:
 }
 };
 
+#if !GTK_CHECK_VERSION(4, 0, 0)
+
 class GtkInstanceProgressBar : public GtkInstanceWidget, public virtual 
weld::ProgressBar
 {
 private:
@@ -18992,16 +18992,11 @@ public:
 
 virtual std::unique_ptr weld_scale(const OString &id) override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
 GtkScale* pScale = GTK_SCALE(gtk_builder_get_object(m_pBuilder, 
id.getStr()));
 if (!pScale)
 return nullptr;
 auto_add_parentless_widgets_to_container(GTK_WIDGET(pScale));
 return std::make_unique(pScale, this, false);
-#else
-(void)id;
-return nullptr;
-#endif
 }
 
 virtual std::unique_ptr weld_progress_bar(const OString 
&id) override
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - vcl/unx

2021-05-21 Thread Caolán McNamara (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |   13 +
 1 file changed, 1 insertion(+), 12 deletions(-)

New commits:
commit c912c4b02b2dc4cd5aa62d77e92e1731c6cbde65
Author: Caolán McNamara 
AuthorDate: Fri May 21 15:27:24 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 20:55:29 2021 +0200

gtk4: reenable Spinner

Change-Id: I76eae250038e6c7adc927f1dfc9ff5a926716e15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115943
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index ed742d88e3e7..361dfa745de1 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -10083,8 +10083,6 @@ public:
 }
 };
 
-#if !GTK_CHECK_VERSION(4, 0, 0)
-
 class GtkInstanceSpinner : public GtkInstanceWidget, public virtual 
weld::Spinner
 {
 private:
@@ -10108,6 +10106,7 @@ public:
 }
 };
 
+#if !GTK_CHECK_VERSION(4, 0, 0)
 class GtkInstanceImage : public GtkInstanceWidget, public virtual weld::Image
 {
 private:
@@ -19010,16 +19009,11 @@ public:
 
 virtual std::unique_ptr weld_spinner(const OString &id) 
override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
 GtkSpinner* pSpinner = GTK_SPINNER(gtk_builder_get_object(m_pBuilder, 
id.getStr()));
 if (!pSpinner)
 return nullptr;
 auto_add_parentless_widgets_to_container(GTK_WIDGET(pSpinner));
 return std::make_unique(pSpinner, this, false);
-#else
-(void)id;
-return nullptr;
-#endif
 }
 
 virtual std::unique_ptr weld_image(const OString &id) override
commit fd805bc577d55113db1c9c125e00e4d4bd687e4d
Author: Caolán McNamara 
AuthorDate: Fri May 21 15:24:25 2021 +0100
Commit: Caolán McNamara 
CommitDate: Fri May 21 20:55:10 2021 +0200

gtk4: reenable ProgressBar

Change-Id: I8bf7de16c81de3cd7a978e2c92c59c50a78bb120
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115942
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index f540885c5ebb..ed742d88e3e7 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -10053,8 +10053,6 @@ public:
 }
 };
 
-#if !GTK_CHECK_VERSION(4, 0, 0)
-
 class GtkInstanceProgressBar : public GtkInstanceWidget, public virtual 
weld::ProgressBar
 {
 private:
@@ -10085,6 +10083,8 @@ public:
 }
 };
 
+#if !GTK_CHECK_VERSION(4, 0, 0)
+
 class GtkInstanceSpinner : public GtkInstanceWidget, public virtual 
weld::Spinner
 {
 private:
@@ -19001,16 +19001,11 @@ public:
 
 virtual std::unique_ptr weld_progress_bar(const OString 
&id) override
 {
-#if !GTK_CHECK_VERSION(4, 0, 0)
 GtkProgressBar* pProgressBar = 
GTK_PROGRESS_BAR(gtk_builder_get_object(m_pBuilder, id.getStr()));
 if (!pProgressBar)
 return nullptr;
 auto_add_parentless_widgets_to_container(GTK_WIDGET(pProgressBar));
 return std::make_unique(pProgressBar, this, 
false);
-#else
-(void)id;
-return nullptr;
-#endif
 }
 
 virtual std::unique_ptr weld_spinner(const OString &id) 
override
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sw/inc sw/qa sw/source

2021-05-21 Thread Miklos Vajna (via logerrit)
 sw/inc/calc.hxx |3 
 sw/inc/swtable.hxx  |2 
 sw/qa/core/doc/doc.cxx  |4 
 sw/qa/extras/odfexport/odfexport.cxx|   10 +-
 sw/qa/extras/ooxmlexport/ooxmlexport13.cxx  |4 
 sw/qa/extras/ooxmlexport/ooxmlexport14.cxx  |8 -
 sw/qa/extras/rtfexport/rtfexport.cxx|4 
 sw/qa/extras/rtfexport/rtfexport3.cxx   |2 
 sw/qa/extras/tiledrendering/tiledrendering.cxx  |2 
 sw/qa/extras/uiwriter/uiwriter.cxx  |8 -
 sw/qa/extras/ww8export/ww8export3.cxx   |2 
 sw/source/core/SwNumberTree/SwNodeNum.cxx   |2 
 sw/source/core/access/accportions.cxx   |2 
 sw/source/core/crsr/crsrsh.cxx  |4 
 sw/source/core/crsr/swcrsr.cxx  |4 
 sw/source/core/crsr/trvltbl.cxx |2 
 sw/source/core/doc/DocumentContentOperationsManager.cxx |2 
 sw/source/core/doc/DocumentFieldsManager.cxx|2 
 sw/source/core/doc/DocumentLayoutManager.cxx|2 
 sw/source/core/doc/DocumentStylePoolManager.cxx |8 -
 sw/source/core/doc/doc.cxx  |4 
 sw/source/core/doc/docdesc.cxx  |4 
 sw/source/core/doc/docdraw.cxx  |6 -
 sw/source/core/doc/docfmt.cxx   |2 
 sw/source/core/doc/docftn.cxx   |   10 +-
 sw/source/core/doc/doclay.cxx   |2 
 sw/source/core/doc/docnum.cxx   |6 -
 sw/source/core/doc/docsort.cxx  |2 
 sw/source/core/doc/doctxm.cxx   |4 
 sw/source/core/doc/fmtcol.cxx   |2 
 sw/source/core/doc/htmltbl.cxx  |   66 
 sw/source/core/doc/notxtfrm.cxx |2 
 sw/source/core/doc/number.cxx   |6 -
 sw/source/core/doc/tblcpy.cxx   |8 -
 sw/source/core/doc/tblrwcl.cxx  |   24 ++---
 sw/source/core/doc/textboxhelper.cxx|   20 ++--
 sw/source/core/docnode/ndtbl.cxx|   12 +-
 sw/source/core/docnode/ndtbl1.cxx   |4 
 sw/source/core/docnode/section.cxx  |2 
 sw/source/core/edit/autofmt.cxx |   20 ++--
 sw/source/core/edit/edattr.cxx  |8 -
 sw/source/core/edit/edfld.cxx   |2 
 sw/source/core/edit/editsh.cxx  |2 
 sw/source/core/edit/ednumber.cxx|2 
 sw/source/core/fields/dbfld.cxx |2 
 sw/source/core/fields/expfld.cxx|8 -
 sw/source/core/frmedt/fetab.cxx |8 -
 sw/source/core/frmedt/tblsel.cxx|2 
 sw/source/core/graphic/grfatr.cxx   |2 
 sw/source/core/inc/tblrwcl.hxx  |2 
 sw/source/core/inc/wrong.hxx|2 
 sw/source/core/layout/atrfrm.cxx|   10 +-
 sw/source/core/layout/dbg_lay.cxx   |2 
 sw/source/core/layout/wsfrm.cxx |4 
 sw/source/core/table/swnewtable.cxx |6 -
 sw/source/core/table/swtable.cxx|   12 +-
 sw/source/core/text/EnhancedPDFExportHelper.cxx |4 
 sw/source/core/text/frmcrsr.cxx |2 
 sw/source/core/text/inftxt.cxx  |4 
 sw/source/core/text/itradj.cxx  |4 
 sw/source/core/text/itratr.cxx  |4 
 sw/source/core/text/itrcrsr.cxx |4 
 sw/source/core/text/itrform2.cxx|   24 ++---
 sw/source/core/text/porfld.cxx  |   12 +-
 sw/source/core/text/porfly.cxx  |6 -
 sw/source/core/text/porlin.cxx  |4 
 sw/source/core/text/pormulti.cxx|   10 +-
 sw/source/core/text/porrst.cxx  |4 
 sw/source/core/text/portxt.cxx  |2 
 sw/source/core/text/txtdrop.cxx |   12 +-
 sw/source/core/text/txtfly.cxx  |2 
 sw/source/core/text/txtfrm.cxx  |8 -
 sw/source/core/text/txtftn.cxx  |2 
 sw/source/core/text/txttab.cxx  |8 -
 sw/source/core/text/wrong.cxx   |8 -
 sw/source/core/tox/ToxTextGenerator.cxx | 

[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - drawinglayer/source

2021-05-21 Thread Luboš Luňák (via logerrit)
 drawinglayer/source/processor2d/vclpixelprocessor2d.cxx |   24 ++--
 1 file changed, 16 insertions(+), 8 deletions(-)

New commits:
commit 343743e769dd6d4a4e8bbb49b317398629456c50
Author: Luboš Luňák 
AuthorDate: Fri May 21 14:48:58 2021 +0200
Commit: Andras Timar 
CommitDate: Fri May 21 21:12:36 2021 +0200

properly draw only parts of FillGradientPrimitive2D (tdf#139000)

The size of the whole gradient is getDefinitionRange(), while
getOutputRange() gives the area of it to draw.

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115923
Tested-by: Jenkins
Reviewed-by: Luboš Luňák 
(cherry picked from commit 9bf9fea0afadef0912d38f0d08b2bf2959569100)

Change-Id: I85dd7fe51bcc9c332a6fb0e6748d5ac89266b910
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115954
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Andras Timar 

diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
index 1cbd664d3eb1..46d58551ef34 100644
--- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx
@@ -917,13 +917,6 @@ GradientStyle 
convertGradientStyle(drawinglayer::attribute::GradientStyle eGradi
 
 GradientStyle eGradientStyle = 
convertGradientStyle(rFillGradient.getStyle());
 
-basegfx::B2DRange aRange(rPrimitive.getOutputRange());
-aRange.transform(maCurrentTransformation);
-
-const tools::Rectangle aRectangle(
-sal_Int32(std::floor(aRange.getMinX())), 
sal_Int32(std::floor(aRange.getMinY())),
-sal_Int32(std::ceil(aRange.getMaxX())), 
sal_Int32(std::ceil(aRange.getMaxY(;
-
 Gradient aGradient(eGradientStyle, 
Color(rFillGradient.getStartColor()),
Color(rFillGradient.getEndColor()));
 
@@ -933,7 +926,22 @@ GradientStyle 
convertGradientStyle(drawinglayer::attribute::GradientStyle eGradi
 aGradient.SetOfsY(rFillGradient.getOffsetY() * 100.0);
 aGradient.SetSteps(rFillGradient.getSteps());
 
-mpOutputDevice->DrawGradient(aRectangle, aGradient);
+basegfx::B2DRange aOutputRange(rPrimitive.getOutputRange());
+aOutputRange.transform(maCurrentTransformation);
+basegfx::B2DRange aFullRange(rPrimitive.getDefinitionRange());
+aFullRange.transform(maCurrentTransformation);
+
+const tools::Rectangle aOutputRectangle(
+std::floor(aOutputRange.getMinX()), 
std::floor(aOutputRange.getMinY()),
+std::ceil(aOutputRange.getMaxX()), 
std::ceil(aOutputRange.getMaxY()));
+const tools::Rectangle aFullRectangle(
+std::floor(aFullRange.getMinX()), 
std::floor(aFullRange.getMinY()),
+std::ceil(aFullRange.getMaxX()), 
std::ceil(aFullRange.getMaxY()));
+
+mpOutputDevice->Push(PushFlags::CLIPREGION);
+mpOutputDevice->IntersectClipRegion(aOutputRectangle);
+mpOutputDevice->DrawGradient(aFullRectangle, aGradient);
+mpOutputDevice->Pop();
 }
 
 } // end of namespace processor2d
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: android/source

2021-05-21 Thread Michael Weghorn (via logerrit)
 android/source/src/java/org/libreoffice/FormattingController.java|8 
+++-
 android/source/src/java/org/libreoffice/LOKitTileProvider.java   |8 

 android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java |1 -
 3 files changed, 3 insertions(+), 14 deletions(-)

New commits:
commit a3f682f90f85d69270f4d10ee1d661f25257bf21
Author: Michael Weghorn 
AuthorDate: Fri May 21 15:44:46 2021 +0200
Commit: Michael Weghorn 
CommitDate: Fri May 21 21:59:01 2021 +0200

tdf#106370 android: Make inserting pictures work

Instead of just setting LibreOfficeMainActivity's
'pendingInsertGraphic' member when inserting an
image, call the method responsible for asking what
compression to apply, doing the actual compression
and sending the event so the picture is actually
inserted right away.

'LibreOfficeMainActivity#pendingInsertGraphic' is
(by now) only evaluated in 'LOKitTileProvider' when the
document is initially loaded, therefore just setting
it had no effect.

The more complicated handling used previously instead
of just inserting the picture right away was probably
necessary/used because 'LibreOfficeMainActivity#onStart'
used to reload the whole document before

commit 1bc42472200c32c9a0a10dd1c3cd6c6a8a5d47d2
Author: Michael Weghorn 
Date:   Fri Apr 9 13:59:43 2021 +0200

tdf#95517 android: Rework app/doc lifecycle handling

and that was called when returning to the main activity
from the picture chooser. (That is just a guess, I didn't
actually verify this).

While this fix probably doesn't have much to do with what
caused that functionality to not work back in 2018,
when most of the feature was introduced but it did
not yet fully work as mentioned in

commit 8d977511e3ab755da65d34a0bd618ef3c9db90c7
Date:   Mon Aug 14 11:41:30 2017 -0500

tdf#106370 Android: add ability to insert pictures

Added ability to insert pictures to Android Viewer.
You can take photo or select photo from device or
the cloud (Google photos, Dropbox). You can also
compress the picture before inserting it with multiple
compress grades. So far, inserting doesn't work for
Writer due LO native library issues (I think).

it still makes inserting pictures "just work" by now.

Change-Id: Idad9dcbba177ea12f056bc31bd6b9c08621062cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115932
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/android/source/src/java/org/libreoffice/FormattingController.java 
b/android/source/src/java/org/libreoffice/FormattingController.java
index a729e357bfe9..9259b2ea6cae 100644
--- a/android/source/src/java/org/libreoffice/FormattingController.java
+++ b/android/source/src/java/org/libreoffice/FormattingController.java
@@ -421,15 +421,14 @@ class FormattingController implements 
View.OnClickListener {
 
 void handleActivityResult(int requestCode, int resultCode, Intent data) {
 if (requestCode == TAKE_PHOTO && resultCode == Activity.RESULT_OK) {
-mContext.pendingInsertGraphic = true;
+compressAndInsertImage();
 } else if (requestCode == SELECT_PHOTO && resultCode == 
Activity.RESULT_OK) {
 getFileFromURI(data.getData());
-mContext.pendingInsertGraphic = true;
+compressAndInsertImage();
 }
 }
 
-// Called by LOKitTileProvider when activity is resumed from 
photo/gallery/camera/cloud apps
-void popCompressImageGradeSelection() {
+void compressAndInsertImage() {
 AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
 String[] options = 
{mContext.getResources().getString(R.string.compress_photo_smallest_size),
 
mContext.getResources().getString(R.string.compress_photo_medium_size),
@@ -493,7 +492,6 @@ class FormattingController implements View.OnClickListener {
 LOKitShell.sendEvent(new LOEvent(LOEvent.UNO_COMMAND, 
".uno:InsertGraphic", rootJson.toString()));
 LOKitShell.sendEvent(new LOEvent(LOEvent.REFRESH));
 mContext.setDocumentChanged(true);
-mContext.pendingInsertGraphic = false;
 }
 
 private void compressImage(int grade) {
diff --git a/android/source/src/java/org/libreoffice/LOKitTileProvider.java 
b/android/source/src/java/org/libreoffice/LOKitTileProvider.java
index 1c04fbe5a43a..579162931d3a 100644
--- a/android/source/src/java/org/libreoffice/LOKitTileProvider.java
+++ b/android/source/src/java/org/libreoffice/LOKitTileProvider.java
@@ -160,14 +160,6 @@ class LOKitTileProvider implements TileProvider {
 
mContext.getDocumentPartViewListAdapter().notifyDataSetChanged();
 }
 });
-mContext.runOnUiThread(new Runnable() {
-@Overr

[Libreoffice-commits] core.git: android/source

2021-05-21 Thread Michael Weghorn (via logerrit)
 android/source/src/java/org/libreoffice/LOKitThread.java |   22 ---
 1 file changed, 12 insertions(+), 10 deletions(-)

New commits:
commit 1cfc6c545cd979eff04e38b2998c40e25106faf2
Author: Michael Weghorn 
AuthorDate: Fri May 21 17:47:13 2021 +0200
Commit: Michael Weghorn 
CommitDate: Fri May 21 21:59:31 2021 +0200

android: Don't reset zoom and position on refresh event

Don't call 'zoomAndRepositionTheDocument' for a REFRESH
event. The only two places sending such an event are in
'LibreOfficeMainActivity#onStart' and in
'FormattingControler#sendInsertGraphic'.

I don't see any need to reset the zoom and position in
any of those two cases. Doing so had the effect that any
manual zoom changes would be lost when e.g. switching
between the LibreOffice Viewer app and another one,
after a "Save As" or when inserting a picture.

In my opinion, it's desirable to keep the view
the user had before doing any of those actions and
just rendering the document anew.

To do so, add an extra bool parameter
'resetZoomAndPosition' to the relevant methods
in 'LOKitThread' that says whether a reset
should take place.

Change-Id: I8ba6a7cd8d984ad99654e188e00144e1edf407ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115950
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/android/source/src/java/org/libreoffice/LOKitThread.java 
b/android/source/src/java/org/libreoffice/LOKitThread.java
index fb076389f0f4..547cb4acc6d2 100644
--- a/android/source/src/java/org/libreoffice/LOKitThread.java
+++ b/android/source/src/java/org/libreoffice/LOKitThread.java
@@ -111,7 +111,7 @@ class LOKitThread extends Thread {
 /**
  * Handle the geometry change + draw.
  */
-private void redraw() {
+private void redraw(boolean resetZoomAndPosition) {
 if (mLayerClient == null || mTileProvider == null) {
 // called too early...
 return;
@@ -121,7 +121,9 @@ class LOKitThread extends Thread {
 mViewportMetrics = mLayerClient.getViewportMetrics();
 mLayerClient.setViewportMetrics(mViewportMetrics);
 
-zoomAndRepositionTheDocument();
+if (resetZoomAndPosition) {
+zoomAndRepositionTheDocument();
+}
 
 mLayerClient.forceRedraw();
 mLayerClient.forceRender();
@@ -151,9 +153,9 @@ class LOKitThread extends Thread {
 /**
  * Invalidate everything + handle the geometry change
  */
-private void refresh() {
+private void refresh(boolean resetZoomAndPosition) {
 mLayerClient.clearAndResetlayers();
-redraw();
+redraw(resetZoomAndPosition);
 updatePartPageRectangles();
 if (mTileProvider != null && mTileProvider.isSpreadsheet()) {
 updateCalcHeaders();
@@ -176,7 +178,7 @@ class LOKitThread extends Thread {
 
 private void updatePageSize(int pageWidth, int pageHeight){
 mTileProvider.setDocumentSize(pageWidth, pageHeight);
-redraw();
+redraw(true);
 }
 
 private void updateZoomConstraints() {
@@ -195,7 +197,7 @@ class LOKitThread extends Thread {
 mTileProvider.changePart(partIndex);
 mViewportMetrics = mLayerClient.getViewportMetrics();
 // mLayerClient.setViewportMetrics(mViewportMetrics.scaleTo(0.9f, new 
PointF()));
-refresh();
+refresh(true);
 LOKitShell.hideProgressSpinner(mContext);
 }
 
@@ -217,7 +219,7 @@ class LOKitThread extends Thread {
 public void run() {
 // synchronize to avoid deletion while loading
 synchronized (LOKitThread.this) {
-refresh();
+refresh(true);
 }
 }
 });
@@ -241,7 +243,7 @@ class LOKitThread extends Thread {
 if (mTileProvider.isReady()) {
 LOKitShell.showProgressSpinner(mContext);
 updateZoomConstraints();
-refresh();
+refresh(true);
 LOKitShell.hideProgressSpinner(mContext);
 
 mTileProvider.saveDocumentAs(filePath, true);
@@ -293,7 +295,7 @@ class LOKitThread extends Thread {
 closeDocument();
 break;
 case LOEvent.SIZE_CHANGED:
-redraw();
+redraw(true);
 break;
 case LOEvent.CHANGE_PART:
 changePart(event.mPartIndex);
@@ -347,7 +349,7 @@ class LOKitThread extends Thread {
 mTileProvider.postUnoCommand(event.mString, event.mValue, 
event.mNotify);
 break;
 case LOEvent.REFRESH:
-refresh();
+refresh(false);
 break;
 case LOEvent.PAGE_SIZE_CHANGED:
 updatePageSize(event.mPageWidth, event.mPageHeight);
_

[Libreoffice-commits] core.git: android/source

2021-05-21 Thread Michael Weghorn (via logerrit)
 android/source/src/java/org/mozilla/gecko/gfx/LayerView.java |6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

New commits:
commit 817c89fa456917fd9993ae226e8e932fe90ee1d8
Author: Michael Weghorn 
AuthorDate: Fri May 21 18:29:48 2021 +0200
Commit: Michael Weghorn 
CommitDate: Fri May 21 21:59:56 2021 +0200

android: Inline 'LayerView#setViewportSize' to only call site

It doesn't override any parent class methods and was
only called from here.

Change-Id: Iccfacb42e8d5514994eafac841c0ec55be65b062
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115972
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/android/source/src/java/org/mozilla/gecko/gfx/LayerView.java 
b/android/source/src/java/org/mozilla/gecko/gfx/LayerView.java
index 05f2118114c8..549b2a963bf5 100644
--- a/android/source/src/java/org/mozilla/gecko/gfx/LayerView.java
+++ b/android/source/src/java/org/mozilla/gecko/gfx/LayerView.java
@@ -183,10 +183,6 @@ public class LayerView extends FrameLayout {
 public GeckoLayerClient getLayerClient() { return mLayerClient; }
 public PanZoomController getPanZoomController() { return 
mPanZoomController; }
 
-public void setViewportSize(IntSize size) {
-mLayerClient.setViewportSize(new FloatSize(size));
-}
-
 public ImmutableViewportMetrics getViewportMetrics() {
 return mLayerClient.getViewportMetrics();
 }
@@ -371,7 +367,7 @@ public class LayerView extends FrameLayout {
 protected void onLayout(boolean changed, int left, int top, int right, int 
bottom) {
 super.onLayout(changed, left, top, right, bottom);
 if (changed) {
-setViewportSize(new IntSize(right - left, bottom - top));
+mLayerClient.setViewportSize(new FloatSize(right - left, bottom - 
top));
 }
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: android/source

2021-05-21 Thread Michael Weghorn (via logerrit)
 android/source/src/java/org/libreoffice/LOKitThread.java|2 -
 android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java |   16 
+-
 android/source/src/java/org/mozilla/gecko/gfx/LayerView.java|4 +-
 3 files changed, 12 insertions(+), 10 deletions(-)

New commits:
commit 4a9eef7849a75ba91806886ea9c96d114c8d56f9
Author: Michael Weghorn 
AuthorDate: Fri May 21 19:20:08 2021 +0200
Commit: Michael Weghorn 
CommitDate: Fri May 21 22:00:24 2021 +0200

tdf#106893 android: Show whole doc when closing soft keyboard

When closing the software keyboard after typing,
a black area instead of the doc content was shown
in Android Viewer.
This looks related to the fact that a SurfaceView
is involved, s.a. [1] which suggests two potential
solutions to fix the issue, but none of them really
works well. (Setting a transparent background didn't
have any effect when I tried. Using
'android:windowSoftInputMode="adjustPan"' in
AndroidManifest.xml would work in general, but trigger
the  problem described in tdf#96789, namely the
software keyboard would be shown on top of the
document and the last part of the document would
not be visible with the software keyboard enabled
any more.)

Rather, make sure an 'LOEvent.SIZE_CHANGED' is
triggered when the software keyboard is enabled or
disabled, in which case 'LayerView#onLayout' is called
with a 'changed=true' parameter.
To avoid resetting zoom and position of the document
for this case, call the 'redraw' function with param
'false' when processing this type of event in
'LOKitThread#processEvent'
(s.a. Change-Id: I8ba6a7cd8d984ad99654e188e00144e1edf407ed,
"android: Don't reset zoom and position on refresh event"
that did a similar thing for 'LOEvent.REFRESH').

This adds a 'force' boolean parameter to
'GeckoLayerClient#sendResizeEventIfNecessary', which
interestingly had been there before commit

43bbf53bbad4623355e6344094573f8efca01df2
Date:   Tue Jan 27 13:01:53 2015 +0900

android: remove unneded code from GeckoLayerClient

but I didn't further check whether it had been used
in any way that would have been useful for this
scenario back then.

Stackoverflow article [2] was quite helpful.

[1] 
https://stackoverflow.com/questions/2978290/androids-edittext-is-hidden-when-the-virtual-keyboard-is-shown-and-a-surfacevie
[2] 
https://stackoverflow.com/questions/52223095/how-to-detect-redraw-of-screen-has-completed-after-soft-keyboard-closes

Change-Id: If3fdd1335468fc50901fc6c1982c1463c7804309
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115973
Tested-by: Jenkins
Reviewed-by: Michael Weghorn 

diff --git a/android/source/src/java/org/libreoffice/LOKitThread.java 
b/android/source/src/java/org/libreoffice/LOKitThread.java
index 547cb4acc6d2..a4d5ba99f1a2 100644
--- a/android/source/src/java/org/libreoffice/LOKitThread.java
+++ b/android/source/src/java/org/libreoffice/LOKitThread.java
@@ -295,7 +295,7 @@ class LOKitThread extends Thread {
 closeDocument();
 break;
 case LOEvent.SIZE_CHANGED:
-redraw(true);
+redraw(false);
 break;
 case LOEvent.CHANGE_PART:
 changePart(event.mPartIndex);
diff --git 
a/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java 
b/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
index 681fb6fd6019..72a96f0bb00f 100644
--- a/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
+++ b/android/source/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
@@ -80,7 +80,7 @@ public class GeckoLayerClient implements PanZoomTarget {
 
 mView.setLayerRenderer(mLayerRenderer);
 
-sendResizeEventIfNecessary();
+sendResizeEventIfNecessary(false);
 mView.requestRender();
 }
 
@@ -124,21 +124,23 @@ public class GeckoLayerClient implements PanZoomTarget {
  * to the layer client. That way, the layer client won't be tempted to 
call this, which might
  * result in an infinite loop.
  */
-void setViewportSize(FloatSize size) {
+void setViewportSize(FloatSize size, boolean forceResizeEvent) {
 mViewportMetrics = mViewportMetrics.setViewportSize(size.width, 
size.height);
-sendResizeEventIfNecessary();
+sendResizeEventIfNecessary(forceResizeEvent);
 }
 
 PanZoomController getPanZoomController() {
 return mPanZoomController;
 }
 
-/* Informs Gecko that the screen size has changed. */
-private void sendResizeEventIfNecessary() {
+/* Informs Gecko that the screen size has changed.
+ * @param force: If true, a resize event will always be sent, otherwise
+ *   it is only sent if size has changed. */
+private voi

[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-4+backports' - download.lst external/libxml2

2021-05-21 Thread Michael Stahl (via logerrit)
 download.lst  |4 ++--
 external/libxml2/UnpackedTarball_libxml2.mk   |1 -
 external/libxml2/libxml2-config.patch.1   |4 ++--
 external/libxml2/libxml2-global-symbols.patch |4 ++--
 external/libxml2/ubsan.patch.0|   11 ---
 5 files changed, 6 insertions(+), 18 deletions(-)

New commits:
commit cd41a444fc23eb2dc6dbba2021e497edc3c633a6
Author: Michael Stahl 
AuthorDate: Fri May 21 13:33:26 2021 +0200
Commit: Michael Stahl 
CommitDate: Fri May 21 22:16:44 2021 +0200

libxml2: upgrade to release 2.9.12

Fixes:
CVE-2021-3516 CVE-2021-3517 CVE-2021-3518 CVE-2021-3537 CVE-2021-3541

* external/libxml2/ubsan.patch.0: remove, fixed upstream

Change-Id: I347dc854b862e78bde87d3e57cf5fdb584ca5673
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115913
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit bf0c6a98ae38cd2188d7f7e94f1563e5ce6a8ce4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115927
Tested-by: Michael Stahl 

diff --git a/download.lst b/download.lst
index 702a921e929b..520482de6475 100644
--- a/download.lst
+++ b/download.lst
@@ -158,8 +158,8 @@ export LIBTOMMATH_SHA256SUM := 
083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304
 export LIBTOMMATH_TARBALL := ltm-1.0.zip
 export XMLSEC_SHA256SUM := 
13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4
 export XMLSEC_TARBALL := xmlsec1-1.2.28.tar.gz
-export LIBXML_SHA256SUM := 
aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f
-export LIBXML_VERSION_MICRO := 10
+export LIBXML_SHA256SUM := 
c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92
+export LIBXML_VERSION_MICRO := 12
 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz
 export LIBXSLT_SHA256SUM := 
98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f
 export LIBXSLT_VERSION_MICRO := 34
diff --git a/external/libxml2/UnpackedTarball_libxml2.mk 
b/external/libxml2/UnpackedTarball_libxml2.mk
index 37b5bad97549..83df02849cb3 100644
--- a/external/libxml2/UnpackedTarball_libxml2.mk
+++ b/external/libxml2/UnpackedTarball_libxml2.mk
@@ -21,7 +21,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\
$(if $(gb_Module_CURRENTMODULE_SYMBOLS_ENABLED), \
external/libxml2/libxml2-icu-sym.patch.0, \
external/libxml2/libxml2-icu.patch.0) \
-   external/libxml2/ubsan.patch.0 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libxml2/libxml2-config.patch.1 
b/external/libxml2/libxml2-config.patch.1
index 8c28fb6a7806..5a2ef1485e92 100644
--- a/external/libxml2/libxml2-config.patch.1
+++ b/external/libxml2/libxml2-config.patch.1
@@ -18,9 +18,9 @@ Hack the xml2-config to return paths into WORKDIR.
 +exec_prefix=${WORKDIR}/UnpackedTarball/libxml2
 +includedir=${WORKDIR}/UnpackedTarball/libxml2/include
 +libdir=${WORKDIR}/UnpackedTarball/libxml2/.libs
+ cflags=
+ libs=
  
- usage()
- {
 @@ -67,7 +72,8 @@
;;
  
diff --git a/external/libxml2/libxml2-global-symbols.patch 
b/external/libxml2/libxml2-global-symbols.patch
index 49ee73731562..cfec9c530281 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -14,8 +14,8 @@
  
  LIBXML2_2.6.32 {
 @@ -2231,3 +2231,43 @@
-   xmlHashDefaultDeallocator;
- } LIBXML2_2.9.1;
+   xmlPopOutputCallbacks;
+ } LIBXML2_2.9.8;
  
 +# HACK: export global variable accessor functions (globals.h)
 +LIBXML2_GLOBAL_VARIABLES {
diff --git a/external/libxml2/ubsan.patch.0 b/external/libxml2/ubsan.patch.0
deleted file mode 100644
index b52259719673..
--- a/external/libxml2/ubsan.patch.0
+++ /dev/null
@@ -1,11 +0,0 @@
 xpath.c
-+++ xpath.c
-@@ -14529,7 +14529,7 @@
-   }
- 
-   stream = xmlPatterncompile(str, dict, XML_PATTERN_XPATH,
--  &namespaces[0]);
-+  namespaces); // i.e., &namespaces[0] if namespaces != 
NULL
-   if (namespaces != NULL) {
-   xmlFree((xmlChar **)namespaces);
-   }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-4+backports' - sw/source

2021-05-21 Thread Justin Luth (via logerrit)
 sw/source/core/edit/autofmt.cxx |   11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

New commits:
commit 6c8ac0584c7947cb180b9730669aa01b04bcc8e4
Author: Justin Luth 
AuthorDate: Fri Jan 15 20:32:43 2021 +0300
Commit: Michael Stahl 
CommitDate: Fri May 21 22:17:08 2021 +0200

tdf#136704 sw autofmt: prevent crash if no nextNode

The second GetNextNode() was a nullptr
that was being dereferenced.

Now, when enter is pressed after some text followed by a colon,
that line is made into a heading3, and the new blank line is
properly using the text body paragraph style.

Change-Id: If10dc85e490ac57fc150b3d541f5033dfd5293bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109413
Tested-by: Jenkins
Reviewed-by: Justin Luth 
Reviewed-by: Michael Stahl 
(cherry picked from commit fea7b531a4c9e8326a64426325b16585675a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109520
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115928
Tested-by: Michael Stahl 

diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx
index a3687b5e308c..cb905187faed 100644
--- a/sw/source/core/edit/autofmt.cxx
+++ b/sw/source/core/edit/autofmt.cxx
@@ -1904,11 +1904,14 @@ void SwAutoFormat::BuildHeadLine( sal_uInt16 nLvl )
 JoinPrevPara();
 
 DeleteLeadingTrailingBlanks( true, false );
-const SwTextFrame *const pNextFrame = GetNextNode(false);
-(void)DeleteJoinCurNextPara(pNextFrame, true);
-
+const SwTextFrame* pNextFrame = GetNextNode(false);
+if (pNextFrame->GetNext())
+{
+(void)DeleteJoinCurNextPara(pNextFrame, true);
+pNextFrame = GetNextNode(false);
+}
 m_aDelPam.DeleteMark();
-m_aDelPam.GetPoint()->nNode = 
*GetNextNode(false)->GetTextNodeForParaProps();
+m_aDelPam.GetPoint()->nNode = *pNextFrame->GetTextNodeForParaProps();
 m_aDelPam.GetPoint()->nContent.Assign( m_aDelPam.GetContentNode(), 0 );
 m_pDoc->SetTextFormatColl( m_aDelPam, &rNxtColl );
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-4+backports' - sw/source

2021-05-21 Thread Michael Stahl (via logerrit)
 sw/source/core/doc/DocumentRedlineManager.cxx |2 ++
 sw/source/core/text/txtfrm.cxx|2 ++
 2 files changed, 4 insertions(+)

New commits:
commit ffd69465a547cd5acad92aad13142edbac1e0882
Author: Michael Stahl 
AuthorDate: Thu Jan 14 20:10:24 2021 +0100
Commit: Michael Stahl 
CommitDate: Fri May 21 22:17:29 2021 +0200

tdf#135014 sw_redlinehide: fix missing frames when removing fieldmark

A fieldmark was deleted. UpdateFramesForRemoveDeleteRedline() deleted
the MergedPara but its start node was before the start node of the
fieldmark, and then MakeFrames() didn't find a frame on the preceding
node and did nothing.

Similar problem likely possible with redline.

Change-Id: I532f9a67c0268f3287736a61da4cc9fefec7b8e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109307
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 32e104c1d6be0ffe6ed6c4e08af868c87b3c258c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109347
Reviewed-by: Caolán McNamara 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115929
Tested-by: Michael Stahl 

diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx 
b/sw/source/core/doc/DocumentRedlineManager.cxx
index ff9b05743d10..8ae32f266bdb 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -301,6 +301,8 @@ void UpdateFramesForRemoveDeleteRedline(SwDoc & rDoc, SwPaM 
const& rPam)
 pFrame->SetMergedPara(sw::CheckParaRedlineMerge(
 *pFrame, rFirstNode, eMode));
 eMode = sw::FrameMode::New; // Existing is not idempotent!
+// update pNode so MakeFrames starts on 2nd node
+pNode = &rFirstNode;
 }
 }
 if (pLast != pNode)
diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx
index 17636cda44e3..23cb91a458c8 100644
--- a/sw/source/core/text/txtfrm.cxx
+++ b/sw/source/core/text/txtfrm.cxx
@@ -1292,6 +1292,8 @@ void 
SwTextFrame::SetMergedPara(std::unique_ptr p)
 pFirst->Add(this); // must register at node again
 }
 }
+// postcondition: frame must be listening somewhere
+assert(m_pMergedPara || GetDep());
 }
 
 const OUString& SwTextFrame::GetText() const
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Joshua Williams License Statement

2021-05-21 Thread joshmackwilliams
All of my past & future contributions to LibreOffice may be licensed under the 
MPLv2/LGPLv3+ dual license.

Sent with [ProtonMail](https://protonmail.com) Secure Email.___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - sc/source

2021-05-21 Thread Mike Kaganski (via logerrit)
 sc/source/ui/docshell/impex.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit c55f64f1f4bcd37f071225c8fedca4265f2a59e3
Author: Mike Kaganski 
AuthorDate: Fri May 21 00:03:43 2021 +0200
Commit: Xisco Fauli 
CommitDate: Sat May 22 08:33:07 2021 +0200

tdf#142395: properly handle "no string delimiter" case

In this case, the delimiter character value would be '\0'.

Change-Id: Idb0f01756991b3ea35a92f11b78fddd56c25265a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115839
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 6155689bb6f1d72f29b43ac5ae94b32522ef9b42)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115851
Reviewed-by: Xisco Fauli 

diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 4db43588af50..43d77256a08a 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -1553,7 +1553,7 @@ const sal_Unicode* 
ScImportExport::ScanNextFieldFromString( const sal_Unicode* p
 rbIsQuoted = false;
 rField.clear();
 const sal_Unicode cBlank = ' ';
-if (!ScGlobal::UnicodeStrChr( pSeps, cBlank))
+if (cStr && !ScGlobal::UnicodeStrChr(pSeps, cBlank))
 {
 // Cope with broken generators that put leading blanks before a quoted
 // field, like "field1", "field2", "..."
@@ -1564,7 +1564,7 @@ const sal_Unicode* 
ScImportExport::ScanNextFieldFromString( const sal_Unicode* p
 if (*pb == cStr)
 p = pb;
 }
-if ( *p == cStr )   // String in quotes
+if (cStr && *p == cStr) // String in quotes
 {
 rbIsQuoted = true;
 const sal_Unicode* p1;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits