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

2022-01-04 Thread Tor Lillqvist (via logerrit)
 sw/qa/extras/htmlexport/xhtmlexport.cxx   |   16 
 sw/qa/extras/odfexport/data/tdf146264.odt |binary
 2 files changed, 16 insertions(+)

New commits:
commit 6bfeb2290c585e0e5fe982dde6ac57e4afca2e2f
Author: Tor Lillqvist 
AuthorDate: Tue Jan 4 12:03:23 2022 +0200
Commit: Tor Lillqvist 
CommitDate: Tue Jan 4 17:08:42 2022 +0100

tdf#146264: Add unit test

Make sure the text is not duplicated in the output.

Change-Id: I1600d18f0921d2ab2cb67898bc02b68f0f9b36c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127935
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist 

diff --git a/sw/qa/extras/htmlexport/xhtmlexport.cxx 
b/sw/qa/extras/htmlexport/xhtmlexport.cxx
index b03f184818fd..9f5b26745f5b 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(testTdf146264, "tdf146264.odt")
+{
+SvStream* pStream = maTempFile.GetStream(StreamMode::READ);
+CPPUNIT_ASSERT(pStream);
+sal_uInt64 nLength = pStream->TellEnd();
+OString aStream(read_uInt8s_ToOString(*pStream, nLength));
+sal_Int32 nFirstHello = aStream.indexOf("Hello");
+CPPUNIT_ASSERT(nFirstHello > 0);
+if (nFirstHello > 0)
+{
+sal_Int32 nSecondHello = aStream.indexOf("Hello", nFirstHello + 1);
+constexpr sal_Int32 nMinusOne = -1;
+CPPUNIT_ASSERT_EQUAL(nMinusOne, nSecondHello);
+}
+}
+
 DECLARE_HTMLEXPORT_TEST(testTdf118637, "tdf118637.odt")
 {
 SvStream* pStream = maTempFile.GetStream(StreamMode::READ);
diff --git a/sw/qa/extras/odfexport/data/tdf146264.odt 
b/sw/qa/extras/odfexport/data/tdf146264.odt
new file mode 100644
index ..941c7db74fb0
Binary files /dev/null and b/sw/qa/extras/odfexport/data/tdf146264.odt differ


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

2022-01-04 Thread Michael Meeks (via logerrit)
 sfx2/source/view/lokhelper.cxx |   13 -
 vcl/source/window/window2.cxx  |2 +-
 2 files changed, 9 insertions(+), 6 deletions(-)

New commits:
commit 2ac23d25f0670c3274603deb88aef352def635a1
Author: Michael Meeks 
AuthorDate: Mon Jan 3 14:15:49 2022 +
Commit: Michael Meeks 
CommitDate: Tue Jan 4 17:08:27 2022 +0100

lokit: double check for disposed windows & fix leak.

it seems we can get windows disposed before we get to the emission.


vcl::Window::IsTracking() const vcl/source/window/window2.cxx:341
(anonymous namespace)::LOKPostAsyncEvent(void*, void*) 
sfx2/source/view/lokhelper.cxx:725
LokChartHelper::postMouseEvent(int, int, int, int, int, int, double, 
double) include/rtl/ref.hxx:112
SwXTextDocument::postMouseEvent(int, int, int, int, int, int) 
sw/source/uibase/uno/unotxdoc.cxx:3561

Change-Id: I93aea931dad1e7f43d3d610568424c53d2b22fbc
Signed-off-by: Michael Meeks 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127939

diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index 1641811af86d..bbfbc58f835f 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -627,7 +627,7 @@ namespace
 
 void LOKPostAsyncEvent(void* pEv, void*)
 {
-LOKAsyncEventData* pLOKEv = static_cast(pEv);
+std::unique_ptr 
pLOKEv(static_cast(pEv));
 if (pLOKEv->mpWindow->IsDisposed())
 return;
 
@@ -648,6 +648,9 @@ namespace
 if (!pFocusWindow)
 pFocusWindow = pLOKEv->mpWindow;
 
+if (pLOKEv->mpWindow->IsDisposed())
+return;
+
 switch (pLOKEv->mnEvent)
 {
 case VclEventId::WindowKeyInput:
@@ -656,11 +659,13 @@ namespace
 KeyEvent singlePress(pLOKEv->maKeyEvent.GetCharCode(),
  pLOKEv->maKeyEvent.GetKeyCode());
 for (sal_uInt16 i = 0; i <= nRepeat; ++i)
-pFocusWindow->KeyInput(singlePress);
+if (!pFocusWindow->IsDisposed())
+pFocusWindow->KeyInput(singlePress);
 break;
 }
 case VclEventId::WindowKeyUp:
-pFocusWindow->KeyUp(pLOKEv->maKeyEvent);
+if (!pFocusWindow->IsDisposed())
+pFocusWindow->KeyUp(pLOKEv->maKeyEvent);
 break;
 case VclEventId::WindowMouseButtonDown:
 pLOKEv->mpWindow->LogicMouseButtonDown(pLOKEv->maMouseEvent);
@@ -691,8 +696,6 @@ namespace
 assert(false);
 break;
 }
-
-delete pLOKEv;
 }
 
 void postEventAsync(LOKAsyncEventData *pEvent)
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 88bf838cf846..8282396af932 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -312,7 +312,7 @@ void Window::EndTracking( TrackingEventFlags nFlags )
 
 bool Window::IsTracking() const
 {
-return (ImplGetSVData()->mpWinData->mpTrackWin == this);
+return mpWindowImpl && (ImplGetSVData()->mpWinData->mpTrackWin == this);
 }
 
 void Window::StartAutoScroll( StartAutoScrollFlags nFlags )


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - connectivity/source

2022-01-04 Thread Julien Nabet (via logerrit)
 connectivity/source/drivers/mysqlc/mysqlc_general.cxx|3 
 connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx |   32 
+-
 2 files changed, 33 insertions(+), 2 deletions(-)

New commits:
commit 6f9278886eec76fdba19e2763c194fc129a2a42e
Author: Julien Nabet 
AuthorDate: Mon Jan 3 21:19:56 2022 +0100
Commit: Julien Nabet 
CommitDate: Tue Jan 4 20:26:51 2022 +0100

tdf#146432: fix crash with REGEXP_REPLACE() executed in query editor to 
MariaDB

See bt here:
https://bugs.documentfoundation.org/attachment.cgi?id=177292

Noticing:

warn:legacy.osl:7697:7697:connectivity/source/drivers/mysqlc/mysqlc_general.cxx:188:
 mysqlToOOOType: unhandled case, falling back to VARCHAR
I found REGEXP_REPLACE returned a MYSQL_TYPE_LONG_BLOB and some locations 
should be taught about it.

Also, let's also deal with MYSQL_TYPE_TINY_BLOB and MYSQL_TYPE_MEDIUM_BLOB

Change-Id: Ib7fd6ef747ce1b1851c788d2bb5a1d4ec673aee1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127919
(cherry picked from commit e43573aae0fa07d170fb042b7184156c851c1f77)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127952
Reviewed-by: Lionel Mamane 
Tested-by: Jenkins

diff --git a/connectivity/source/drivers/mysqlc/mysqlc_general.cxx 
b/connectivity/source/drivers/mysqlc/mysqlc_general.cxx
index 35ecfee84750..17b118c531a9 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_general.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_general.cxx
@@ -164,6 +164,9 @@ sal_Int32 mysqlToOOOType(int eType, int charsetnr) noexcept
 return css::sdbc::DataType::VARCHAR;
 
 case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
 if (charsetnr == 63)
 return css::sdbc::DataType::LONGVARBINARY;
 return css::sdbc::DataType::LONGVARCHAR;
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx 
b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
index 8360700434fc..14fdab939bc7 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
@@ -107,12 +107,24 @@ bool OPreparedResultSet::fetchResult()
 }
 for (sal_Int32 i = 0; i < m_nColumnCount; ++i)
 {
+bool bIsBlobType = false;
+switch (m_aFields[i].type)
+{
+case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
+bIsBlobType = true;
+break;
+default:
+bIsBlobType = false;
+}
 m_aMetaData[i].is_null = false;
 m_aMetaData[i].length = 0l;
 m_aMetaData[i].error = false;
 
 m_aData[i].is_null = _aMetaData[i].is_null;
-m_aData[i].buffer_length = m_aFields[i].type == MYSQL_TYPE_BLOB ? 0 : 
m_aFields[i].length;
+m_aData[i].buffer_length = bIsBlobType ? 0 : m_aFields[i].length;
 m_aData[i].length = _aMetaData[i].length;
 m_aData[i].error = _aMetaData[i].error;
 m_aData[i].buffer = nullptr;
@@ -322,8 +334,21 @@ template <> OUString 
OPreparedResultSet::retrieveValue(sal_Int32 column)
 {
 // redirect call to the appropriate method if needed
 // BLOB can be simply read out as string
+bool bIsBlobType = false;
+switch (m_aFields[column - 1].type)
+{
+case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
+bIsBlobType = true;
+break;
+default:
+bIsBlobType = false;
+}
+
 if (getTypeFromMysqlType(m_aFields[column - 1].type) != 
std::type_index(typeid(OUString))
-&& m_aFields[column - 1].type != MYSQL_TYPE_BLOB)
+&& !bIsBlobType)
 return getRowSetValue(column).getString();
 const char* sStr = static_cast(m_aData[column - 1].buffer);
 
@@ -363,6 +388,9 @@ ORowSetValue OPreparedResultSet::getRowSetValue(sal_Int32 
nColumnIndex)
 case MYSQL_TYPE_NEWDECIMAL:
 return getString(nColumnIndex);
 case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
 throw SQLException("Column with type BLOB cannot be converted", 
*this, "22000", 1,
Any());
 default:


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

2022-01-04 Thread Andrea Gelmini (via logerrit)
 sc/source/core/data/table4.cxx |1 -
 1 file changed, 1 deletion(-)

New commits:
commit 8e78d0f335240a5ca42d53ab2f1f4e0c652ade88
Author: Andrea Gelmini 
AuthorDate: Fri Dec 17 15:41:36 2021 +0100
Commit: Julien Nabet 
CommitDate: Tue Jan 4 18:57:06 2022 +0100

Removed break; never reached

Change-Id: I027c967020821e93fecab8df0f23c5e7b5664734
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127008
Tested-by: Jenkins
Reviewed-by: Julien Nabet 

diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx
index 6ef2c3b439b2..272cb82322d7 100644
--- a/sc/source/core/data/table4.cxx
+++ b/sc/source/core/data/table4.cxx
@@ -1967,7 +1967,6 @@ inline bool isOverflow( const double& rVal, const double& 
rMax, const double& rS
 return rVal > rMax;
 else
 return rVal < rMax;
-break;
 case FILL_GROWTH:
 if (rStep > 0.0)
 {


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

2022-01-04 Thread Andrea Gelmini (via logerrit)
 vcl/unx/gtk3/gtkinst.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a4ff505f9ca4ec56441980818a01bc45fbe2ac36
Author: Andrea Gelmini 
AuthorDate: Tue Jan 4 18:34:42 2022 +0100
Commit: Julien Nabet 
CommitDate: Tue Jan 4 19:13:49 2022 +0100

Fix typos

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

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 3f554e77c9d2..6a7f0af2 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -15420,7 +15420,7 @@ public:
 #if !GTK_CHECK_VERSION(4, 0, 0)
 // sometimes gtk gives a bad outcome for gtk_widget_get_preferred_size 
if GtkTreeView's
 // do_validate_rows hasn't been run before querying the preferred 
size, if we call
-// gtk_widget_get_preferred_width first, we can guarantee 
do_validate_rows get's called
+// gtk_widget_get_preferred_width first, we can guarantee 
do_validate_rows gets called
 gtk_widget_get_preferred_width(m_pWidget, nullptr, );
 #endif
 gtk_widget_get_preferred_size(m_pWidget, nullptr, );


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

2022-01-04 Thread Noel Grandin (via logerrit)
 chart2/source/view/inc/PropertyMapper.hxx  |7 -
 chart2/source/view/main/PropertyMapper.cxx |  122 +
 2 files changed, 106 insertions(+), 23 deletions(-)

New commits:
commit e951937950e68be7b93093879e943211ae7f1601
Author: Noel Grandin 
AuthorDate: Tue Jan 4 17:05:50 2022 +0200
Commit: Noel Grandin 
CommitDate: Tue Jan 4 17:49:22 2022 +0100

speed up setting properties in chart2

can skip the intermediate map

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

diff --git a/chart2/source/view/inc/PropertyMapper.hxx 
b/chart2/source/view/inc/PropertyMapper.hxx
index 0d208094ee8e..3f627aae3163 100644
--- a/chart2/source/view/inc/PropertyMapper.hxx
+++ b/chart2/source/view/inc/PropertyMapper.hxx
@@ -71,13 +71,6 @@ public:
 , const css::uno::Reference< css::beans::XPropertySet >& xSourceProp
 );
 
-static void getMultiPropertyLists(
-  tNameSequence& rNames
-, tAnySequence&  rValues
-, const css::uno::Reference< css::beans::XPropertySet >& xProp
-, const tPropertyNameMap& rMap
-);
-
 static void getMultiPropertyListsFromValueMap(
   tNameSequence& rNames
 , tAnySequence&  rValues
diff --git a/chart2/source/view/main/PropertyMapper.cxx 
b/chart2/source/view/main/PropertyMapper.cxx
index 6f78cad7815a..e9e46998af7a 100644
--- a/chart2/source/view/main/PropertyMapper.cxx
+++ b/chart2/source/view/main/PropertyMapper.cxx
@@ -44,8 +44,48 @@ void PropertyMapper::setMappedProperties(
 
 tNameSequence aNames;
 tAnySequence  aValues;
-getMultiPropertyLists(aNames, aValues, xSource, rMap );
-PropertyMapper::setMultiProperties( aNames, aValues, xTarget );
+sal_Int32 nN=0;
+sal_Int32 nPropertyCount = rMap.size();
+aNames.realloc(nPropertyCount);
+auto pNames = aNames.getArray();
+aValues.realloc(nPropertyCount);
+auto pValues = aValues.getArray();
+
+for (auto const& elem : rMap)
+{
+const OUString & rTarget = elem.first;
+const OUString & rSource = elem.second;
+try
+{
+uno::Any aAny( xSource->getPropertyValue(rSource) );
+if( aAny.hasValue() )
+{
+//do not set empty anys because of performance (otherwise 
SdrAttrObj::ItemChange will take much longer)
+pNames[nN]  = rTarget;
+pValues[nN] = aAny;
+++nN;
+}
+}
+catch( const uno::Exception& )
+{
+TOOLS_WARN_EXCEPTION("chart2", "" );
+}
+}
+if (nN == 0)
+return;
+//reduce to real property count
+aNames.realloc(nN);
+aValues.realloc(nN);
+
+uno::Reference< beans::XMultiPropertySet > xShapeMultiProp( xTarget, 
uno::UNO_QUERY_THROW );
+try
+{
+xShapeMultiProp->setPropertyValues( aNames, aValues );
+}
+catch( const uno::Exception& )
+{
+TOOLS_WARN_EXCEPTION("chart2", "" ); //if this occurs more often think 
of removing the XMultiPropertySet completely for better performance
+}
 }
 
 void PropertyMapper::setMappedProperties(
@@ -58,8 +98,70 @@ void PropertyMapper::setMappedProperties(
 
 tNameSequence aNames;
 tAnySequence  aValues;
-getMultiPropertyLists(aNames, aValues, xSource, rMap );
-PropertyMapper::setMultiProperties( aNames, aValues, xTarget );
+sal_Int32 nN=0;
+sal_Int32 nPropertyCount = rMap.size();
+aNames.realloc(nPropertyCount);
+auto pNames = aNames.getArray();
+aValues.realloc(nPropertyCount);
+auto pValues = aValues.getArray();
+
+for (auto const& elem : rMap)
+{
+const OUString & rTarget = elem.first;
+const OUString & rSource = elem.second;
+try
+{
+uno::Any aAny( xSource->getPropertyValue(rSource) );
+if( aAny.hasValue() )
+{
+//do not set empty anys because of performance (otherwise 
SdrAttrObj::ItemChange will take much longer)
+pNames[nN]  = rTarget;
+pValues[nN] = aAny;
+++nN;
+}
+}
+catch( const uno::Exception& )
+{
+TOOLS_WARN_EXCEPTION("chart2", "" );
+}
+}
+if (nN == 0)
+return;
+
+uno::Reference< beans::XMultiPropertySet > xShapeMultiProp( xTarget, 
uno::UNO_QUERY );
+if (xShapeMultiProp)
+try
+{
+//reduce to real property count
+aNames.realloc(nN);
+aValues.realloc(nN);
+xShapeMultiProp->setPropertyValues( aNames, aValues );
+return; // successful
+}
+catch( const uno::Exception& )
+{
+TOOLS_WARN_EXCEPTION("chart2", "" ); //if this occurs more often 
think of removing the 

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

2022-01-04 Thread Miklos Vajna (via logerrit)
 sd/source/ui/accessibility/AccessibleSlideSorterView.cxx |   22 +++
 sd/source/ui/inc/AccessibleSlideSorterView.hxx   |   12 
 2 files changed, 18 insertions(+), 16 deletions(-)

New commits:
commit 18444c2822e6561aa302f28f8166042b8dad0fe1
Author: Miklos Vajna 
AuthorDate: Tue Jan 4 16:05:01 2022 +0100
Commit: Miklos Vajna 
CommitDate: Tue Jan 4 17:04:02 2022 +0100

Revert "use comphelper::WeakComponentImplHelper in 
AccessibleSlideSorterView"

This reverts commit 2d541dedde4ec516eacd7669bdc3ed8fb6fc2548. It
switched to a non-recursive mutex in AccessibleSlideSorterView, which
now deadlocks regularly when opening Impress documents:

#0  0x765b5de3 in __lll_lock_wait () at 
/lib64/libpthread.so.0
#1  0x765ae301 in pthread_mutex_lock () at 
/lib64/libpthread.so.0
#2  0x7fffcdac12ed in __gthread_mutex_lock(__gthread_mutex_t*) 
(__mutex=0x5646c40) at 
/usr/include/c++/7/x86_64-suse-linux/bits/gthr-default.h:748
#3  0x7fffcdac2f40 in std::mutex::lock() (this=0x5646c40) at 
/usr/include/c++/7/bits/std_mutex.h:103
#4  0x7fffcdac3fcf in std::unique_lock::lock() 
(this=0x7fffb980) at /usr/include/c++/7/bits/std_mutex.h:267
#5  0x7fffcdac3c86 in 
std::unique_lock::unique_lock(std::mutex&) (this=0x7fffb980, 
__m=...) at /usr/include/c++/7/bits/std_mutex.h:197
#6  0x7fffcdac514b in 
accessibility::AccessibleSlideSorterView::getAccessibleChildCount() 
(this=0x5646c10) at sd/source/ui/accessibility/AccessibleSlideSorterView.cxx:200
#7  0x7fffdce577c3 in 
AtkListener::updateChildList(com::sun::star::uno::Reference
 const&) (this=0x5647130, pContext=uno::Reference to (class 
accessibility::AccessibleSlideSorterView *) 0x5646c88) at 
vcl/unx/gtk3/a11y/atklistener.cxx:149
#8  0x7fffdce579e0 in 
AtkListener::handleChildAdded(com::sun::star::uno::Reference
 const&, 
com::sun::star::uno::Reference 
const&) (this=0x5647130, rxParent=uno::Reference to (class 
accessibility::AccessibleSlideSorterView *) 0x5646c88, 
rxAccessible=uno::Reference to (class 
accessibility::AccessibleSlideSorterObject *) 0x42d3698) at 
vcl/unx/gtk3/a11y/atklistener.cxx:178
#9  0x7fffdce5806e in 
AtkListener::notifyEvent(com::sun::star::accessibility::AccessibleEventObject 
const&) (this=0x5647130, aEvent=...) at vcl/unx/gtk3/a11y/atklistener.cxx:441
#10 0x74fef0d5 in 
comphelper::AccessibleEventNotifier::addEvent(unsigned int, 
com::sun::star::accessibility::AccessibleEventObject const&) (_nClient=44, 
_rEvent=...) at comphelper/source/misc/accessibleeventnotifier.cxx:262
#11 0x7fffcdac4df2 in 
accessibility::AccessibleSlideSorterView::FireAccessibleEvent(short, 
com::sun::star::uno::Any const&, com::sun::star::uno::Any const&) 
(this=0x5646c10, nEventId=7, rOldValue=uno::Any(void), 
rNewValue=uno::Any("com.sun.star.accessibility.XAccessible": 
{ = {_vptr.XInterface = 0x42d3698}, })) at sd/source/ui/accessibility/AccessibleSlideSorterView.cxx:148
#12 0x7fffcdac7bf0 in 
accessibility::AccessibleSlideSorterView::Implementation::GetAccessibleChild(int)
 (this=0x5646ce0, nIndex=1) at 
sd/source/ui/accessibility/AccessibleSlideSorterView.cxx:746
#13 0x7fffcdac79ca in 
accessibility::AccessibleSlideSorterView::Implementation::GetVisibleChild(int) 
(this=0x5646ce0, nIndex=1) at 
sd/source/ui/accessibility/AccessibleSlideSorterView.cxx:725
#14 0x7fffcdac529d in 
accessibility::AccessibleSlideSorterView::getAccessibleChild(int) 
(this=0x5646c10, nIndex=1) at 
sd/source/ui/accessibility/AccessibleSlideSorterView.cxx:213

The problem is that both getAccessibleChild() and
getAccessibleChildCount() take a lock, so this requires a resursive
mutex for now.

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

diff --git a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx 
b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
index b4f7d79d6ead..87eea89d2199 100644
--- a/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
+++ b/sd/source/ui/accessibility/AccessibleSlideSorterView.cxx
@@ -47,7 +47,6 @@
 #include 
 #include 
 #include 
-#include 
 
 #include 
 #include 
@@ -115,7 +114,8 @@ private:
 AccessibleSlideSorterView::AccessibleSlideSorterView(
 ::sd::slidesorter::SlideSorter& rSlideSorter,
 vcl::Window* pContentWindow)
-: mrSlideSorter(rSlideSorter),
+: AccessibleSlideSorterViewBase(m_aMutex),
+  mrSlideSorter(rSlideSorter),
   mnClientId(0),
   mpContentWindow(pContentWindow)
 {
@@ -149,7 +149,7 @@ void AccessibleSlideSorterView::FireAccessibleEvent (
 }
 }
 
-void AccessibleSlideSorterView::disposing(std::unique_lock&)
+void SAL_CALL 

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

2022-01-04 Thread Rafael Lima (via logerrit)
 source/text/shared/01/05020200.xhp |4 +++-
 source/text/swriter/main0202.xhp   |2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 573cb7bfe3af24d830f02fff227166e2ea292c14
Author: Rafael Lima 
AuthorDate: Tue Jan 4 19:00:01 2022 +0100
Commit: Olivier Hallot 
CommitDate: Tue Jan 4 20:32:10 2022 +0100

Related tdf#130442 Redirect to Font Color section of the help page

When the user clicks "Font Color" in the "Formatting Bar" help page, it 
should land in the "Font Color" section of the "Font Effects" page.

Change-Id: I011a3a19d9e7eb10e7e84e1bfbbc834ba494ae24
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/127951
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/source/text/shared/01/05020200.xhp 
b/source/text/shared/01/05020200.xhp
index 582231f6d..e714aaf96 100644
--- a/source/text/shared/01/05020200.xhp
+++ b/source/text/shared/01/05020200.xhp
@@ -58,7 +58,8 @@
   
   
 
-Font Color
+  
+  Font Color
   Sets the color for the selected text. If 
you select Automatic, the text color is set to black for light 
backgrounds and to white for dark backgrounds.
   
  
@@ -74,6 +75,7 @@
 To 
exit the paint can mode, click once, or press the Esc 
key.
  
   
+  
 
 
 The text color is ignored when printing, if the 
Print text in black check box is selected in %PRODUCTNAME Writer - Print in the 
Options dialog box.
diff --git a/source/text/swriter/main0202.xhp b/source/text/swriter/main0202.xhp
index b674dc9bc..88b24ef12 100644
--- a/source/text/swriter/main0202.xhp
+++ b/source/text/swriter/main0202.xhp
@@ -61,7 +61,7 @@
   
   
   
-  Font Color
+  Font 
Color
   
   
   


[Libreoffice-commits] core.git: helpcontent2

2022-01-04 Thread Rafael Lima (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6fe0b829df1126caffe6fe465b4cadce09acf4b7
Author: Rafael Lima 
AuthorDate: Tue Jan 4 20:32:13 2022 +0100
Commit: Gerrit Code Review 
CommitDate: Tue Jan 4 20:32:13 2022 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 573cb7bfe3af24d830f02fff227166e2ea292c14
  - Related tdf#130442 Redirect to Font Color section of the help page

When the user clicks "Font Color" in the "Formatting Bar" help page, it 
should land in the "Font Color" section of the "Font Effects" page.

Change-Id: I011a3a19d9e7eb10e7e84e1bfbbc834ba494ae24
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/127951
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 082a62657dc9..573cb7bfe3af 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 082a62657dc9e89dc54c3299e47dd1f76c4c9de1
+Subproject commit 573cb7bfe3af24d830f02fff227166e2ea292c14


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

2022-01-04 Thread Julien Nabet (via logerrit)
 connectivity/source/drivers/mysqlc/mysqlc_general.cxx|3 
 connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx |   32 
+-
 2 files changed, 33 insertions(+), 2 deletions(-)

New commits:
commit e43573aae0fa07d170fb042b7184156c851c1f77
Author: Julien Nabet 
AuthorDate: Mon Jan 3 21:19:56 2022 +0100
Commit: Julien Nabet 
CommitDate: Tue Jan 4 19:07:29 2022 +0100

tdf#146432: fix crash with REGEXP_REPLACE() executed in query editor to 
MariaDB

See bt here:
https://bugs.documentfoundation.org/attachment.cgi?id=177292

Noticing:

warn:legacy.osl:7697:7697:connectivity/source/drivers/mysqlc/mysqlc_general.cxx:188:
 mysqlToOOOType: unhandled case, falling back to VARCHAR
I found REGEXP_REPLACE returned a MYSQL_TYPE_LONG_BLOB and some locations 
should be taught about it.

Also, let's also deal with MYSQL_TYPE_TINY_BLOB and MYSQL_TYPE_MEDIUM_BLOB

Change-Id: Ib7fd6ef747ce1b1851c788d2bb5a1d4ec673aee1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127919
Reviewed-by: Lionel Mamane 
Tested-by: Jenkins

diff --git a/connectivity/source/drivers/mysqlc/mysqlc_general.cxx 
b/connectivity/source/drivers/mysqlc/mysqlc_general.cxx
index 35ecfee84750..17b118c531a9 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_general.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_general.cxx
@@ -164,6 +164,9 @@ sal_Int32 mysqlToOOOType(int eType, int charsetnr) noexcept
 return css::sdbc::DataType::VARCHAR;
 
 case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
 if (charsetnr == 63)
 return css::sdbc::DataType::LONGVARBINARY;
 return css::sdbc::DataType::LONGVARCHAR;
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx 
b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
index 8360700434fc..14fdab939bc7 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
@@ -107,12 +107,24 @@ bool OPreparedResultSet::fetchResult()
 }
 for (sal_Int32 i = 0; i < m_nColumnCount; ++i)
 {
+bool bIsBlobType = false;
+switch (m_aFields[i].type)
+{
+case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
+bIsBlobType = true;
+break;
+default:
+bIsBlobType = false;
+}
 m_aMetaData[i].is_null = false;
 m_aMetaData[i].length = 0l;
 m_aMetaData[i].error = false;
 
 m_aData[i].is_null = _aMetaData[i].is_null;
-m_aData[i].buffer_length = m_aFields[i].type == MYSQL_TYPE_BLOB ? 0 : 
m_aFields[i].length;
+m_aData[i].buffer_length = bIsBlobType ? 0 : m_aFields[i].length;
 m_aData[i].length = _aMetaData[i].length;
 m_aData[i].error = _aMetaData[i].error;
 m_aData[i].buffer = nullptr;
@@ -322,8 +334,21 @@ template <> OUString 
OPreparedResultSet::retrieveValue(sal_Int32 column)
 {
 // redirect call to the appropriate method if needed
 // BLOB can be simply read out as string
+bool bIsBlobType = false;
+switch (m_aFields[column - 1].type)
+{
+case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
+bIsBlobType = true;
+break;
+default:
+bIsBlobType = false;
+}
+
 if (getTypeFromMysqlType(m_aFields[column - 1].type) != 
std::type_index(typeid(OUString))
-&& m_aFields[column - 1].type != MYSQL_TYPE_BLOB)
+&& !bIsBlobType)
 return getRowSetValue(column).getString();
 const char* sStr = static_cast(m_aData[column - 1].buffer);
 
@@ -363,6 +388,9 @@ ORowSetValue OPreparedResultSet::getRowSetValue(sal_Int32 
nColumnIndex)
 case MYSQL_TYPE_NEWDECIMAL:
 return getString(nColumnIndex);
 case MYSQL_TYPE_BLOB:
+case MYSQL_TYPE_TINY_BLOB:
+case MYSQL_TYPE_MEDIUM_BLOB:
+case MYSQL_TYPE_LONG_BLOB:
 throw SQLException("Column with type BLOB cannot be converted", 
*this, "22000", 1,
Any());
 default:


[Libreoffice-commits] core.git: include/svx sc/source svx/CppunitTest_svx_core.mk svx/Module_svx.mk svx/qa svx/source

2022-01-04 Thread Miklos Vajna (via logerrit)
 include/svx/graphichelper.hxx |   12 -
 sc/source/ui/drawfunc/chartsh.cxx |9 +++-
 svx/CppunitTest_svx_core.mk   |   48 +
 svx/Module_svx.mk |1 
 svx/qa/unit/core.cxx  |   84 ++
 svx/qa/unit/data/chart.ods|binary
 svx/source/core/graphichelper.cxx |   80 ++--
 7 files changed, 211 insertions(+), 23 deletions(-)

New commits:
commit 77d2bbaa18e0be5347d7bd7167b245264789e0a4
Author: Miklos Vajna 
AuthorDate: Tue Jan 4 16:28:03 2022 +0100
Commit: Miklos Vajna 
CommitDate: Tue Jan 4 19:02:03 2022 +0100

sc export chart as graphic: handle PDF

The context menu for Calc charts would call into
GraphicFilter::ExportGraphic(), which has explicit code for e.g. SVG,
but not for PDF. The graphic exporter to PDF is only meant to work with
images backed with PDF data, not with all shapes.

Fix the problem by explicitly handling PDF in
GraphicHelper::SaveShapeAsGraphic() in svx/, and invoking the normal PDF
export in that case. Continue to fall back to XGraphicExportFilter for
other formats.

This requires passing down the current document from sc/.

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

diff --git a/include/svx/graphichelper.hxx b/include/svx/graphichelper.hxx
index 2f723b830493..1d3c6ee58227 100644
--- a/include/svx/graphichelper.hxx
+++ b/include/svx/graphichelper.hxx
@@ -24,6 +24,10 @@
 #include 
 
 namespace com::sun::star::drawing { class XShape; }
+namespace com::sun::star::lang
+{
+class XComponent;
+}
 namespace weld { class Widget; }
 namespace weld { class Window; }
 
@@ -34,7 +38,13 @@ public:
 static void GetPreferredExtension( OUString& rExtension, const Graphic& 
rGraphic );
 static OUString GetImageType(const Graphic& rGraphic);
 static OUString ExportGraphic(weld::Window* pWin, const Graphic& rGraphic, 
const OUString& rGraphicName);
-static void SaveShapeAsGraphic(weld::Window* pWin, const 
css::uno::Reference< css::drawing::XShape >& xShape);
+static void
+SaveShapeAsGraphicToPath(const css::uno::Reference& 
xComponent,
+ const css::uno::Reference& 
xShape,
+ const OUString& rMimeType, const OUString& rPath);
+static void SaveShapeAsGraphic(weld::Window* pWin,
+   const 
css::uno::Reference& xComponent,
+   const 
css::uno::Reference& xShape);
 static short HasToSaveTransformedImage(weld::Widget* pWin);
 };
 
diff --git a/sc/source/ui/drawfunc/chartsh.cxx 
b/sc/source/ui/drawfunc/chartsh.cxx
index e1fc24eecf74..ac54c435eeea 100644
--- a/sc/source/ui/drawfunc/chartsh.cxx
+++ b/sc/source/ui/drawfunc/chartsh.cxx
@@ -137,8 +137,15 @@ void ScChartShell::ExecuteExportAsGraphic( SfxRequest& )
 if( dynamic_cast( pObject) )
 {
 vcl::Window* pWin = GetViewData().GetActiveWin();
+css::uno::Reference xComponent;
+const SfxObjectShell* pShell = GetObjectShell();
+if (pShell)
+{
+xComponent = pShell->GetModel();
+}
 Reference< drawing::XShape > xSourceDoc( pObject->getUnoShape() );
-GraphicHelper::SaveShapeAsGraphic(pWin ? pWin->GetFrameWeld() : 
nullptr, xSourceDoc);
+GraphicHelper::SaveShapeAsGraphic(pWin ? pWin->GetFrameWeld() : 
nullptr, xComponent,
+  xSourceDoc);
 }
 }
 
diff --git a/svx/CppunitTest_svx_core.mk b/svx/CppunitTest_svx_core.mk
new file mode 100644
index ..aac47ba1db0c
--- /dev/null
+++ b/svx/CppunitTest_svx_core.mk
@@ -0,0 +1,48 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*
+#
+# 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/.
+#
+#*
+
+$(eval $(call gb_CppunitTest_CppunitTest,svx_core))
+
+$(eval $(call gb_CppunitTest_use_externals,svx_core,\
+   boost_headers \
+))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,svx_core, \
+svx/qa/unit/core \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,svx_core, \
+comphelper \
+cppu \
+sal \
+svx \
+svxcore \
+test \
+tl \
+unotest \
+utl \
+vcl \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,svx_core))
+
+$(eval $(call gb_CppunitTest_use_ure,svx_core))
+$(eval $(call gb_CppunitTest_use_vcl,svx_core))
+
+$(eval $(call 

[Libreoffice-commits] core.git: helpcontent2

2022-01-04 Thread Rafael Lima (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9b4d5214557ed264e3d785507712878559803e94
Author: Rafael Lima 
AuthorDate: Tue Jan 4 20:49:46 2022 +0100
Commit: Gerrit Code Review 
CommitDate: Tue Jan 4 20:49:46 2022 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 2e3f6779c041ea475ba5127dbefefbd2f6a9c6fc
  - tdf#135137 Create help for "Rename object" dialog

With this patch, if the user right-clicks an object in the Navigator, 
chooses Rename and click the Help button, a proper help page will be shown.

Change-Id: I5ba3c37519858de27c1fa526681fa00524c9e66e
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/127949
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 573cb7bfe3af..2e3f6779c041 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 573cb7bfe3af24d830f02fff227166e2ea292c14
+Subproject commit 2e3f6779c041ea475ba5127dbefefbd2f6a9c6fc


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

2022-01-04 Thread Rafael Lima (via logerrit)
 AllLangHelp_shared.mk|1 
 source/text/shared/01/nav_rename.xhp |   43 +++
 source/text/swriter/01/0404.xhp  |2 -
 3 files changed, 44 insertions(+), 2 deletions(-)

New commits:
commit 2e3f6779c041ea475ba5127dbefefbd2f6a9c6fc
Author: Rafael Lima 
AuthorDate: Tue Jan 4 14:06:50 2022 +0100
Commit: Olivier Hallot 
CommitDate: Tue Jan 4 20:49:44 2022 +0100

tdf#135137 Create help for "Rename object" dialog

With this patch, if the user right-clicks an object in the Navigator, 
chooses Rename and click the Help button, a proper help page will be shown.

Change-Id: I5ba3c37519858de27c1fa526681fa00524c9e66e
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/127949
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/AllLangHelp_shared.mk b/AllLangHelp_shared.mk
index 03f5e3d5b..4f91dc17e 100644
--- a/AllLangHelp_shared.mk
+++ b/AllLangHelp_shared.mk
@@ -350,6 +350,7 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,shared,\
 helpcontent2/source/text/shared/01/menu_edit_find \
 helpcontent2/source/text/shared/01/menu_view_sidebar \
 helpcontent2/source/text/shared/01/moviesound \
+helpcontent2/source/text/shared/01/nav_rename \
 helpcontent2/source/text/shared/01/notebook_bar \
 helpcontent2/source/text/shared/01/online_update \
 helpcontent2/source/text/shared/01/online_update_dialog \
diff --git a/source/text/shared/01/nav_rename.xhp 
b/source/text/shared/01/nav_rename.xhp
new file mode 100644
index 0..70bbf12de
--- /dev/null
+++ b/source/text/shared/01/nav_rename.xhp
@@ -0,0 +1,43 @@
+
+
+
+
+
+  
+Rename object
+/text/shared/01/nav_rename.xhp
+  
+
+
+
+  
+navigator; rename
+rename;objects
+  
+  
+  
+  
+  
+  
+  
+  Rename object
+  Renames the object selected in the Navigator.
+  
+Open the context menu for 
the object - Choose Rename.
+  
+  New name
+  Enter the new name of the selected object.
+  Names of objects must be unique in the same 
document.
+
+  
+
+  
+
+
diff --git a/source/text/swriter/01/0404.xhp 
b/source/text/swriter/01/0404.xhp
index f3a2138ce..ed1876852 100644
--- a/source/text/swriter/01/0404.xhp
+++ b/source/text/swriter/01/0404.xhp
@@ -51,8 +51,6 @@
 Bookmarks
 Lists 
all the bookmarks in the current document.
 
-
-
 Rename
 To 
rename a bookmark, select the bookmark, press Rename, then type 
the new name in the dialog box.
 


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

2022-01-04 Thread Jim Raykowski (via logerrit)
 sw/source/uibase/utlui/content.cxx |   37 ++---
 1 file changed, 22 insertions(+), 15 deletions(-)

New commits:
commit 1aa49bb9cf2b960312bf1e65ea1eee2521873a16
Author: Jim Raykowski 
AuthorDate: Sat Jan 1 16:46:00 2022 -0900
Commit: Jim Raykowski 
CommitDate: Wed Jan 5 07:59:21 2022 +0100

tdf#134960 tdf#146419 use sorted array to list hyperlinks in Navigator

in document order

The current approach of using layout position to list hyperlinks in
document order works for single-page view but not for multiple-page or
book view. This patch makes the list order layout independent by using
SwPositions to sort the hyperlinks in document order.

Change-Id: Ie09ac362aa0e8db813430de50c7f06f3072179f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127856
Tested-by: Jenkins
Reviewed-by: Jim Raykowski 

diff --git a/sw/source/uibase/utlui/content.cxx 
b/sw/source/uibase/utlui/content.cxx
index 9e6c8afe47cf..11fa8afc92ab 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -186,23 +186,30 @@ namespace
 {
 SwGetINetAttrs aArr;
 pWrtShell->GetINetAttrs( aArr );
-const SwGetINetAttrs::size_type nCount {aArr.size()};
-for( SwGetINetAttrs::size_type n = 0; n < nCount; ++n )
+
+// use stable sort array to list hyperlinks in document order
+std::vector aStableSortINetAttrsArray;
+for (SwGetINetAttr& r : aArr)
+aStableSortINetAttrsArray.emplace_back();
+std::stable_sort(aStableSortINetAttrsArray.begin(), 
aStableSortINetAttrsArray.end(),
+ [](const SwGetINetAttr* a, const SwGetINetAttr* b){
+SwPosition 
aSwPos(const_cast(a->rINetAttr.GetTextNode()),
+  a->rINetAttr.GetStart());
+SwPosition 
bSwPos(const_cast(b->rINetAttr.GetTextNode()),
+  b->rINetAttr.GetStart());
+return aSwPos < bSwPos;});
+
+SwGetINetAttrs::size_type n = 0;
+for (auto p : aStableSortINetAttrsArray)
 {
-SwGetINetAttr* p = [ n ];
-tools::Long nYPos = 
p->rINetAttr.GetTextNode().FindLayoutRect().Top()
-+ p->rINetAttr.GetStart();
-std::unique_ptr pCnt(new SwURLFieldContent(
-pCntType,
-p->sText,
-INetURLObject::decode(
-p->rINetAttr.GetINetFormat().GetValue(),
-
INetURLObject::DecodeMechanism::Unambiguous ),
->rINetAttr,
-nYPos));
-pMember->insert( std::move(pCnt) );
+auto pCnt = make_unique(
+pCntType, p->sText,
+
INetURLObject::decode(p->rINetAttr.GetINetFormat().GetValue(),
+  
INetURLObject::DecodeMechanism::Unambiguous),
+>rINetAttr, ++n);
+pMember->insert(std::move(pCnt));
 }
-return nCount;
+return pMember->size();
 }
 }
 


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

2022-01-04 Thread Dennis Francis (via logerrit)
 sc/source/ui/app/inputwin.cxx |   24 
 1 file changed, 8 insertions(+), 16 deletions(-)

New commits:
commit 7cb0a56499c80fb2db15220bcab51eb6cc6f707b
Author: Dennis Francis 
AuthorDate: Thu Dec 9 13:58:07 2021 +0530
Commit: Dennis Francis 
CommitDate: Wed Jan 5 05:42:13 2022 +0100

lok: paint the inputwin directly to the device...

...using the correct map mode with twips instead of using DrawOutDev()
to scale what was drawn in a temporary vdev back to the original device.

This fixes the issue:

When window width is large (>3.5k pixels) the text in the window is not
visible. This was because of the incorrect limiting of the paint area
width to the paper-width of the editengine.

Change-Id: I46a5c219a6ef07437789fe3de3cbaa245c0e7d72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126570
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Dennis Francis 

diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index e161496f6fe5..3072395788e9 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1293,22 +1293,14 @@ void ScTextWnd::Paint( vcl::RenderContext& 
rRenderContext, const tools::Rectangl
 
 if (comphelper::LibreOfficeKit::isActive() && m_xEditEngine)
 {
-// in LOK somehow text is rendered very overscaled so render the 
original content first
-// on a virtual device then redraw with correct scale to the target 
device
-
-ScopedVclPtrInstance pDevice;
-
-tools::Long aPaperWidth = m_xEditEngine->GetPaperSize().getWidth();
-double fRatio = static_cast(rRect.GetSize().getHeight()) / 
rRect.GetSize().getWidth();
-
-tools::Rectangle aPaperRect(Point(0, 0), Size(aPaperWidth, aPaperWidth 
* fRatio));
-aPaperRect = pDevice->PixelToLogic(aPaperRect);
-
-pDevice->SetOutputSize(aPaperRect.GetSize());
-
-WeldEditView::Paint(*pDevice, aPaperRect);
-
-rRenderContext.DrawOutDev(rRect.TopLeft(), rRect.GetSize(), 
Point(0,0), aPaperRect.GetSize(), *pDevice);
+// EditEngine/EditView works in twips logical coordinates, so set the 
device map-mode to twips before painting
+// and use twips version of the painting area 'rRect'.
+// Document zoom should not be included in this conversion.
+tools::Rectangle aLogicRect = OutputDevice::LogicToLogic(rRect, 
MapMode(MapUnit::MapPixel), MapMode(MapUnit::MapTwip));
+MapMode aOriginalMode = rRenderContext.GetMapMode();
+rRenderContext.SetMapMode(MapMode(MapUnit::MapTwip));
+WeldEditView::Paint(rRenderContext, aLogicRect);
+rRenderContext.SetMapMode(aOriginalMode);
 }
 else
 WeldEditView::Paint(rRenderContext, rRect);


[Libreoffice-commits] core.git: 2 commits - cppcanvas/source filter/source include/vcl sc/inc sc/source vcl/CppunitTest_vcl_gradient.mk vcl/Module_vcl.mk vcl/qa vcl/source

2022-01-04 Thread Chris Sherlock (via logerrit)
 cppcanvas/source/mtfrenderer/implrenderer.cxx |5 
 filter/source/svg/svgwriter.cxx   |8 
 include/vcl/gradient.hxx  |9 
 include/vcl/outdev.hxx|   10 
 sc/inc/unonames.hxx   |1 
 sc/source/ui/unoobj/confuno.cxx   |   14 
 vcl/CppunitTest_vcl_gradient.mk   |   50 +++
 vcl/Module_vcl.mk |1 
 vcl/qa/cppunit/gradient.cxx   |  256 +
 vcl/qa/cppunit/outdev.cxx |  218 --
 vcl/source/filter/eps/eps.cxx |3 
 vcl/source/filter/wmf/emfwr.cxx   |3 
 vcl/source/filter/wmf/wmfwr.cxx   |3 
 vcl/source/gdi/gradient.cxx   |  382 ++
 vcl/source/gdi/pdfwriter_impl2.cxx|3 
 vcl/source/outdev/gradient.cxx|  382 --
 16 files changed, 728 insertions(+), 620 deletions(-)

New commits:
commit 22f52db0be81ceec2aa7a61f7092b54f36e2d00c
Author: Chris Sherlock 
AuthorDate: Sat Dec 18 23:39:25 2021 +1100
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 05:42:32 2022 +0100

vcl: migrate AddGradientActions() from OutputDevice to Gradient

Change-Id: I815fb3ce366c93b81f60d19eeed906dc7288708a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127030
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx 
b/cppcanvas/source/mtfrenderer/implrenderer.cxx
index 8aa1d1675fa9..f7fe8db551f0 100644
--- a/cppcanvas/source/mtfrenderer/implrenderer.cxx
+++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx
@@ -720,9 +720,8 @@ namespace cppcanvas::internal
 }
 
 GDIMetaFile aTmpMtf;
-rParms.mrVDev.AddGradientActions( rPoly.GetBoundRect(),
-  rGradient,
-   aTmpMtf );
+Gradient aGradient(rGradient);
+aGradient.AddGradientActions( rPoly.GetBoundRect(), aTmpMtf );
 
 createActions( aTmpMtf, rParms, bSubsettableActions );
 
diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx
index 014de0a808b0..a9dcfccbb627 100644
--- a/filter/source/svg/svgwriter.cxx
+++ b/filter/source/svg/svgwriter.cxx
@@ -2255,9 +2255,15 @@ void SVGActionWriter::ImplWritePattern( const 
tools::PolyPolygon& rPolyPoly,
 
 GDIMetaFile aTmpMtf;
 if( pHatch )
+{
 mpVDev->AddHatchActions( rPolyPoly, *pHatch, aTmpMtf );
+}
 else if ( pGradient )
-mpVDev->AddGradientActions( rPolyPoly.GetBoundRect(), 
*pGradient, aTmpMtf );
+{
+Gradient aGradient(*pGradient);
+aGradient.AddGradientActions( rPolyPoly.GetBoundRect(), 
aTmpMtf );
+}
+
 ImplWriteActions( aTmpMtf, nWriteFlags, "" );
 }
 }
diff --git a/include/vcl/gradient.hxx b/include/vcl/gradient.hxx
index 5a04616adda5..f7c2bd2ec5f9 100644
--- a/include/vcl/gradient.hxx
+++ b/include/vcl/gradient.hxx
@@ -33,6 +33,7 @@ namespace tools { class Rectangle; }
 
 class Point;
 class SvStream;
+class GDIMetaFile;
 
 class VCL_DLLPUBLIC Gradient
 {
@@ -78,11 +79,19 @@ public:
 
 voidGetBoundRect( const tools::Rectangle& rRect, 
tools::Rectangle , Point& rCenter ) const;
 
+void AddGradientActions(tools::Rectangle const& rRect, GDIMetaFile& 
rMetaFile);
+
 Gradient&   operator=( const Gradient& rGradient );
 Gradient&   operator=( Gradient&& rGradient );
 booloperator==( const Gradient& rGradient ) const;
 booloperator!=( const Gradient& rGradient ) const
 { return !(Gradient::operator==( rGradient )); }
+
+private:
+tools::Long GetMetafileSteps(tools::Rectangle const& rRect) const;
+
+void DrawComplexGradientToMetafile(tools::Rectangle const& rRect, 
GDIMetaFile& rMetaFile) const;
+void DrawLinearGradientToMetafile(tools::Rectangle const& rRect, 
GDIMetaFile& rMetaFile) const;
 };
 
 #endif // INCLUDED_VCL_GRADIENT_HXX
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 9c86567865ba..13c8c49064b7 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -795,11 +795,6 @@ public:
 voidDrawGradient( const tools::Rectangle& rRect, 
const Gradient& rGradient );
 voidDrawGradient( const tools::PolyPolygon& 
rPolyPoly, const Gradient& rGradient );
 
-voidAddGradientActions(
-const tools::Rectangle& rRect,
-const Gradient& rGradient,
-GDIMetaFile& rMtf );
-
 protected:
 
 virtual bool  

[Libreoffice-commits] core.git: vcl/headless vcl/inc

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/BitmapHelper.cxx |   62 ++
 vcl/headless/CairoCommon.cxx  |   28 -
 vcl/headless/svpgdi.cxx   |   55 +
 vcl/inc/headless/BitmapHelper.hxx |   28 +
 vcl/inc/headless/CairoCommon.hxx  |2 -
 5 files changed, 92 insertions(+), 83 deletions(-)

New commits:
commit 5a7cdbfbd3cbf3ea92c38e78a3b159fdffed7740
Author: Tomaž Vajngerl 
AuthorDate: Wed Dec 29 15:38:28 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 04:35:15 2022 +0100

vcl: move SystemDependentData classes to BitmapHelper

SystemDependentData_BitmapHelper, SystemDependentData_MaskHelper
to BitmapHelper.{hxx,cxx} files.

Change-Id: I23f3b4badd8e262c442e5c6387876b078f22fd73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127926
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/BitmapHelper.cxx b/vcl/headless/BitmapHelper.cxx
index 359db01bb45d..8d56631a4fee 100644
--- a/vcl/headless/BitmapHelper.cxx
+++ b/vcl/headless/BitmapHelper.cxx
@@ -121,4 +121,66 @@ MaskHelper::MaskHelper(const SalBitmap& rAlphaBitmap)

pMaskBuf->mnScanlineSize));
 }
 }
+
+namespace
+{
+// check for env var that decides for using downscale pattern
+const char* pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
+bool bDisableDownScale(nullptr != pDisableDownScale);
+
+sal_Int64 estimateUsageInBytesForSurfaceHelper(const SurfaceHelper* pHelper)
+{
+sal_Int64 nRetval(0);
+
+if (nullptr != pHelper)
+{
+cairo_surface_t* pSurface(pHelper->getSurface());
+
+if (pSurface)
+{
+const tools::Long 
nStride(cairo_image_surface_get_stride(pSurface));
+const tools::Long 
nHeight(cairo_image_surface_get_height(pSurface));
+
+nRetval = nStride * nHeight;
+
+// if we do downscale, size will grow by 1/4 + 1/16 + 1/32 + ...,
+// rough estimation just multiplies by 1.25, should be good enough
+// for estimation of buffer survival time
+if (!bDisableDownScale)
+{
+nRetval = (nRetval * 5) / 4;
+}
+}
+}
+
+return nRetval;
+}
+
+} // end anonymous namespace
+
+SystemDependentData_BitmapHelper::SystemDependentData_BitmapHelper(
+basegfx::SystemDependentDataManager& rSystemDependentDataManager,
+const std::shared_ptr& rBitmapHelper)
+: basegfx::SystemDependentData(rSystemDependentDataManager)
+, maBitmapHelper(rBitmapHelper)
+{
+}
+
+sal_Int64 SystemDependentData_BitmapHelper::estimateUsageInBytes() const
+{
+return estimateUsageInBytesForSurfaceHelper(maBitmapHelper.get());
+}
+
+SystemDependentData_MaskHelper::SystemDependentData_MaskHelper(
+basegfx::SystemDependentDataManager& rSystemDependentDataManager,
+const std::shared_ptr& rMaskHelper)
+: basegfx::SystemDependentData(rSystemDependentDataManager)
+, maMaskHelper(rMaskHelper)
+{
+}
+
+sal_Int64 SystemDependentData_MaskHelper::estimateUsageInBytes() const
+{
+return estimateUsageInBytesForSurfaceHelper(maMaskHelper.get());
+}
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 6de48a501b98..94ca2c3158be 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -1180,34 +1180,6 @@ const char* 
pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
 bool bDisableDownScale(nullptr != pDisableDownScale);
 }
 
-sal_Int64 estimateUsageInBytesForSurfaceHelper(const SurfaceHelper* pHelper)
-{
-sal_Int64 nRetval(0);
-
-if (nullptr != pHelper)
-{
-cairo_surface_t* pSurface(pHelper->getSurface());
-
-if (pSurface)
-{
-const tools::Long 
nStride(cairo_image_surface_get_stride(pSurface));
-const tools::Long 
nHeight(cairo_image_surface_get_height(pSurface));
-
-nRetval = nStride * nHeight;
-
-// if we do downscale, size will grow by 1/4 + 1/16 + 1/32 + ...,
-// rough estimation just multiplies by 1.25, should be good enough
-// for estimation of buffer survival time
-if (!bDisableDownScale)
-{
-nRetval = (nRetval * 5) / 4;
-}
-}
-}
-
-return nRetval;
-}
-
 cairo_surface_t* SurfaceHelper::implCreateOrReuseDownscale(unsigned long 
nTargetWidth,
unsigned long 
nTargetHeight)
 {
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 33e4e220cc69..3a321af10293 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -46,7 +46,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -60,60 +59,12 @@
 
 namespace
 {
-class SystemDependentData_BitmapHelper : public 

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

2022-01-04 Thread Andrea Gelmini (via logerrit)
 sw/source/uibase/docvw/edtwin.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 1fe79827ea87580f8fba8ef3b1a3e96f10fd5be9
Author: Andrea Gelmini 
AuthorDate: Wed Jan 5 00:20:27 2022 +0100
Commit: Julien Nabet 
CommitDate: Wed Jan 5 07:19:48 2022 +0100

Fix typo

Change-Id: I1fa74a81f30e8e20aea60f5954d7a6a37080bcab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127977
Tested-by: Jenkins
Reviewed-by: Julien Nabet 

diff --git a/sw/source/uibase/docvw/edtwin.cxx 
b/sw/source/uibase/docvw/edtwin.cxx
index a820f4731fe1..32c85845a26d 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -3895,7 +3895,7 @@ void SwEditWin::MouseMove(const MouseEvent& _rMEvt)
 // mouse pointer is on an outline paragraph node
 if(aSwContentAtPos.aFnd.pNode && 
aSwContentAtPos.aFnd.pNode->IsTextNode())
 {
-// Get the outline paragraph frame and compare it to the saved 
ouline frame. If they
+// Get the outline paragraph frame and compare it to the saved 
outline frame. If they
 // are not the same, remove the fold button from the saved 
outline frame, if not
 // already removed, and then add a fold button to the mouse 
over outline frame if
 // the content is not folded.


[Libreoffice-commits] core.git: vcl/headless vcl/inc

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/CairoCommon.cxx |   28 
 vcl/headless/svpgdi.cxx  |   32 
 vcl/inc/headless/CairoCommon.hxx |2 ++
 3 files changed, 30 insertions(+), 32 deletions(-)

New commits:
commit fed7cc51c9bea947478a2451d545cd9fa53ebd1d
Author: Tomaž Vajngerl 
AuthorDate: Wed Dec 29 15:18:03 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 04:34:59 2022 +0100

vcl: move estimateUsageInBytesForSurfaceHelper to CairoCommon

Change-Id: I3c4140f99db4867109b04416317b96b268d9d8c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127925
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 94ca2c3158be..6de48a501b98 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -1180,6 +1180,34 @@ const char* 
pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
 bool bDisableDownScale(nullptr != pDisableDownScale);
 }
 
+sal_Int64 estimateUsageInBytesForSurfaceHelper(const SurfaceHelper* pHelper)
+{
+sal_Int64 nRetval(0);
+
+if (nullptr != pHelper)
+{
+cairo_surface_t* pSurface(pHelper->getSurface());
+
+if (pSurface)
+{
+const tools::Long 
nStride(cairo_image_surface_get_stride(pSurface));
+const tools::Long 
nHeight(cairo_image_surface_get_height(pSurface));
+
+nRetval = nStride * nHeight;
+
+// if we do downscale, size will grow by 1/4 + 1/16 + 1/32 + ...,
+// rough estimation just multiplies by 1.25, should be good enough
+// for estimation of buffer survival time
+if (!bDisableDownScale)
+{
+nRetval = (nRetval * 5) / 4;
+}
+}
+}
+
+return nRetval;
+}
+
 cairo_surface_t* SurfaceHelper::implCreateOrReuseDownscale(unsigned long 
nTargetWidth,
unsigned long 
nTargetHeight)
 {
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 77553761e040..33e4e220cc69 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -60,38 +60,6 @@
 
 namespace
 {
-// check for env var that decides for using downscale pattern
-const char* pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
-bool bDisableDownScale(nullptr != pDisableDownScale);
-
-sal_Int64 estimateUsageInBytesForSurfaceHelper(const SurfaceHelper* 
pHelper)
-{
-sal_Int64 nRetval(0);
-
-if(nullptr != pHelper)
-{
-cairo_surface_t* pSurface(pHelper->getSurface());
-
-if(pSurface)
-{
-const tools::Long 
nStride(cairo_image_surface_get_stride(pSurface));
-const tools::Long 
nHeight(cairo_image_surface_get_height(pSurface));
-
-nRetval = nStride * nHeight;
-
-// if we do downscale, size will grow by 1/4 + 1/16 + 1/32 + 
...,
-// rough estimation just multiplies by 1.25, should be good 
enough
-// for estimation of buffer survival time
-if(!bDisableDownScale)
-{
-nRetval = (nRetval * 5) / 4;
-}
-}
-}
-
-return nRetval;
-}
-
 class SystemDependentData_BitmapHelper : public 
basegfx::SystemDependentData
 {
 private:
diff --git a/vcl/inc/headless/CairoCommon.hxx b/vcl/inc/headless/CairoCommon.hxx
index e8b1a4927e21..8d5dd22b1a75 100644
--- a/vcl/inc/headless/CairoCommon.hxx
+++ b/vcl/inc/headless/CairoCommon.hxx
@@ -227,4 +227,6 @@ public:
 unsigned long nTargetHeight = 0) const;
 };
 
+VCL_DLLPUBLIC sal_Int64 estimateUsageInBytesForSurfaceHelper(const 
SurfaceHelper* pHelper);
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


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

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/svpgdi.cxx |   29 ++---
 1 file changed, 2 insertions(+), 27 deletions(-)

New commits:
commit 43befdeda4a66a71bd3c204a79f06cb96c7b0145
Author: Tomaž Vajngerl 
AuthorDate: Thu Dec 30 00:32:24 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 05:01:57 2022 +0100

vcl: cleanup SvpSalGraphics includes

Change-Id: I16619e55acfff7510803aff7ebf27c8d892a0d75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127983
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 23f68c80fe3c..881d42be256c 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -23,33 +23,8 @@
 #include 
 
 #include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
 #include 
-#include 
-#include 
+
 
 #if ENABLE_CAIRO_CANVAS
 #   if defined CAIRO_VERSION && CAIRO_VERSION < CAIRO_VERSION_ENCODE(1, 10, 0)
@@ -75,7 +50,7 @@ void SvpSalGraphics::setSurface(cairo_surface_t* pSurface, 
const basegfx::B2IVec
 m_aCairoCommon.m_pSurface = pSurface;
 m_aCairoCommon.m_aFrameSize = rSize;
 dl_cairo_surface_get_device_scale(pSurface, _aCairoCommon.m_fScale, 
nullptr);
-ResetClipRegion();
+GetImpl()->ResetClipRegion();
 }
 
 void SvpSalGraphics::GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY )


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

2022-01-04 Thread Miklos Vajna (via logerrit)
 sw/qa/extras/rtfexport/rtfexport5.cxx |   23 ++-
 1 file changed, 10 insertions(+), 13 deletions(-)

New commits:
commit 678af723a6c0c26f20607532eec4e8a8208234bc
Author: Miklos Vajna 
AuthorDate: Tue Jan 4 20:34:17 2022 +0100
Commit: Miklos Vajna 
CommitDate: Wed Jan 5 08:24:28 2022 +0100

CppunitTest_sw_rtfexport5: rework to avoid mustTestImportOf()

See commit a226cec52e536c46e03f57a5f1f7931abbeb0cdd
(CppunitTest_sw_rtfimport: convert one testcase to use
CPPUNIT_TEST_FIXTURE(), 2019-11-05) for motivation.

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

diff --git a/sw/qa/extras/rtfexport/rtfexport5.cxx 
b/sw/qa/extras/rtfexport/rtfexport5.cxx
index 28daa538f677..923ece73659f 100644
--- a/sw/qa/extras/rtfexport/rtfexport5.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport5.cxx
@@ -69,14 +69,6 @@ public:
 }
 
 protected:
-/// Denylist handling.
-bool mustTestImportOf(const char* filename) const override
-{
-// If the testcase is stored in some other format, it's pointless to
-// test.
-return OString(filename).endsWith(".rtf");
-}
-
 AllSettings m_aSavedSettings;
 };
 
@@ -1172,8 +1164,9 @@ DECLARE_RTFEXPORT_TEST(testTdf106950, "tdf106950.rtf")
 static_cast(getProperty(xPara, 
"ParaAdjust")));
 }
 
-DECLARE_RTFEXPORT_TEST(testTdf116371, "tdf116371.odt")
+CPPUNIT_TEST_FIXTURE(Test, testTdf116371)
 {
+loadAndReload("tdf116371.odt");
 CPPUNIT_ASSERT_EQUAL(1, getShapes());
 CPPUNIT_ASSERT_EQUAL(1, getPages());
 auto xShape(getShape(1));
@@ -1218,8 +1211,9 @@ DECLARE_RTFEXPORT_TEST(testTdf133437, "tdf133437.rtf")
 }
 }
 
-DECLARE_RTFEXPORT_TEST(testTdf128320, "tdf128320.odt")
+CPPUNIT_TEST_FIXTURE(Test, testTdf128320)
 {
+loadAndReload("tdf128320.odt");
 CPPUNIT_ASSERT_EQUAL(1, getShapes());
 CPPUNIT_ASSERT_EQUAL(1, getPages());
 // Shape does exist in RTF output
@@ -1264,8 +1258,9 @@ DECLARE_RTFEXPORT_TEST(testTdf138210, "tdf138210.rtf")
 CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount());
 }
 
-DECLARE_RTFEXPORT_TEST(testTdf137894, "tdf137894.odt")
+CPPUNIT_TEST_FIXTURE(Test, testTdf137894)
 {
+loadAndReload("tdf137894.odt");
 CPPUNIT_ASSERT_EQUAL(1, getPages());
 lang::Locale locale1(getProperty(getRun(getParagraph(1), 1), 
"CharLocaleAsian"));
 CPPUNIT_ASSERT_EQUAL(OUString("ja"), locale1.Language);
@@ -1281,14 +1276,16 @@ DECLARE_RTFEXPORT_TEST(testTdf137894, "tdf137894.odt")
 CPPUNIT_ASSERT_EQUAL(32.f, getProperty(getRun(getParagraph(2), 1), 
"CharHeightComplex"));
 }
 
-DECLARE_RTFEXPORT_TEST(testTdf138779, "tdf138779.docx")
+CPPUNIT_TEST_FIXTURE(Test, testTdf138779)
 {
+loadAndReload("tdf138779.docx");
 // The text "2. Kozuka Mincho Pro, 8 pt Ruby ..." has font size 11pt ( was 
20pt ).
 CPPUNIT_ASSERT_EQUAL(11.f, getProperty(getRun(getParagraph(2), 14), 
"CharHeight"));
 }
 
-DECLARE_RTFEXPORT_TEST(testTdf144437, "tdf144437.odt")
+CPPUNIT_TEST_FIXTURE(Test, testTdf144437)
 {
+loadAndReload("tdf144437.odt");
 SvStream* pStream = maTempFile.GetStream(StreamMode::READ);
 CPPUNIT_ASSERT(pStream);
 OString aRtfContent(read_uInt8s_ToOString(*pStream, pStream->TellEnd()));


[Libreoffice-commits] core.git: vcl/headless vcl/inc vcl/qt5

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/SvpGraphicsBackend.cxx |  177 +-
 vcl/headless/svpgdi.cxx |  185 
 vcl/inc/headless/SvpGraphicsBackend.hxx |3 
 vcl/inc/headless/svpgdi.hxx |   13 --
 vcl/qt5/QtSvpGraphics.cxx   |3 
 5 files changed, 175 insertions(+), 206 deletions(-)

New commits:
commit 581bed6233f31ec5eafb1231fcb93bc3f583f9cb
Author: Tomaž Vajngerl 
AuthorDate: Thu Dec 30 00:14:26 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 04:36:06 2022 +0100

vcl: move drawBitmap, drawMask functions to SvpGraphicsBackend

Also fix the QTSvpGraphics that uses a special drawBitmap (renamed
to drawBitmapBuffer) call and moved in also to SvpGraphicsBackend.

Change-Id: Ic50630ba23e35a62ea3d5aaa0955a7666f2bca68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127980
Tested-by: Tomaž Vajngerl 
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/SvpGraphicsBackend.cxx 
b/vcl/headless/SvpGraphicsBackend.cxx
index 71670cb37bd1..c67f19d5665d 100644
--- a/vcl/headless/SvpGraphicsBackend.cxx
+++ b/vcl/headless/SvpGraphicsBackend.cxx
@@ -23,6 +23,7 @@
 #include 
 #include 
 #include 
+#include 
 
 SvpGraphicsBackend::SvpGraphicsBackend(CairoCommon& rCairoCommon)
 : m_rCairoCommon(rCairoCommon)
@@ -380,18 +381,103 @@ void SvpGraphicsBackend::copyBits(const SalTwoRect& rTR, 
SalGraphics* pSrcGraphi
 m_rCairoCommon.copyBitsCairo(rTR, source, getAntiAlias());
 }
 
-void SvpGraphicsBackend::drawBitmap(const SalTwoRect& /*rPosAry*/, const 
SalBitmap& /*rSalBitmap*/)
+void SvpGraphicsBackend::drawBitmap(const SalTwoRect& rPosAry, const 
SalBitmap& rSalBitmap)
 {
+// MM02 try to access buffered BitmapHelper
+std::shared_ptr aSurface;
+tryToUseSourceBuffer(rSalBitmap, aSurface);
+cairo_surface_t* source = aSurface->getSurface(rPosAry.mnDestWidth, 
rPosAry.mnDestHeight);
+
+if (!source)
+{
+SAL_WARN("vcl.gdi", "unsupported SvpSalGraphics::drawAlphaBitmap 
case");
+return;
+}
+
+#if 0 // LO code is not yet bitmap32-ready.
\
+// if m_bSupportsBitmap32 becomes true for Svp revisit this
+m_rCairoCommon.copyWithOperator(rPosAry, source, CAIRO_OPERATOR_OVER, 
getAntiAlias());
+#else
+m_rCairoCommon.copyWithOperator(rPosAry, source, CAIRO_OPERATOR_SOURCE, 
getAntiAlias());
+#endif
 }
 
-void SvpGraphicsBackend::drawBitmap(const SalTwoRect& /*rPosAry*/, const 
SalBitmap& /*rSalBitmap*/,
-const SalBitmap& /*rMaskBitmap*/)
+void SvpGraphicsBackend::drawBitmap(const SalTwoRect& rPosAry, const 
SalBitmap& rSalBitmap,
+const SalBitmap& rTransparentBitmap)
 {
+drawAlphaBitmap(rPosAry, rSalBitmap, rTransparentBitmap);
 }
 
-void SvpGraphicsBackend::drawMask(const SalTwoRect& /*rPosAry*/, const 
SalBitmap& /*rSalBitmap*/,
-  Color /*nMaskColor*/)
+void SvpGraphicsBackend::drawMask(const SalTwoRect& rTR, const SalBitmap& 
rSalBitmap,
+  Color nMaskColor)
 {
+/** creates an image from the given rectangle, replacing all black pixels
+ *  with nMaskColor and make all other full transparent */
+// MM02 here decided *against* using buffered BitmapHelper
+// because the data gets somehow 'unmuliplied'. This may also be
+// done just once, but I am not sure if this is safe to do.
+// So for now dispense re-using data here.
+BitmapHelper aSurface(rSalBitmap, true); // The mask is argb32
+if (!aSurface.getSurface())
+{
+SAL_WARN("vcl.gdi", "unsupported SvpSalGraphics::drawMask case");
+return;
+}
+sal_Int32 nStride;
+unsigned char* mask_data = aSurface.getBits(nStride);
+vcl::bitmap::lookup_table const& unpremultiply_table = 
vcl::bitmap::get_unpremultiply_table();
+for (tools::Long y = rTR.mnSrcY; y < rTR.mnSrcY + rTR.mnSrcHeight; ++y)
+{
+unsigned char* row = mask_data + (nStride * y);
+unsigned char* data = row + (rTR.mnSrcX * 4);
+for (tools::Long x = rTR.mnSrcX; x < rTR.mnSrcX + rTR.mnSrcWidth; ++x)
+{
+sal_uInt8 a = data[SVP_CAIRO_ALPHA];
+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]];
+if (r == 0 && g == 0 && b == 0)
+{
+data[0] = nMaskColor.GetBlue();
+data[1] = nMaskColor.GetGreen();
+data[2] = nMaskColor.GetRed();
+data[3] = 0xff;
+}
+else
+{
+data[0] = 0;
+data[1] = 0;
+data[2] = 0;
+data[3] = 0;
+}
+data += 4;
+}
+}
+

[Libreoffice-commits] core.git: vcl/headless vcl/inc

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/SvpGraphicsBackend.cxx |   44 
 vcl/headless/svpgdi.cxx |   42 --
 vcl/inc/headless/svpgdi.hxx |2 -
 3 files changed, 40 insertions(+), 48 deletions(-)

New commits:
commit c138cfa104ec0cd7f6e97885553b08f98d9f5848
Author: Tomaž Vajngerl 
AuthorDate: Thu Dec 30 00:24:44 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 04:36:44 2022 +0100

vcl: move getBitmap to SvpGraphicsBackend

Change-Id: Ic72e1fdd3994a5bffef40bb70b713f10c1112903
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127982
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/SvpGraphicsBackend.cxx 
b/vcl/headless/SvpGraphicsBackend.cxx
index 2ac40e8e7b20..f564b7e78958 100644
--- a/vcl/headless/SvpGraphicsBackend.cxx
+++ b/vcl/headless/SvpGraphicsBackend.cxx
@@ -480,11 +480,47 @@ void SvpGraphicsBackend::drawMask(const SalTwoRect& rTR, 
const SalBitmap& rSalBi
 m_rCairoCommon.releaseCairoContext(cr, false, extents);
 }
 
-std::shared_ptr SvpGraphicsBackend::getBitmap(tools::Long /*nX*/, 
tools::Long /*nY*/,
- tools::Long 
/*nWidth*/,
- tools::Long 
/*nHeight*/)
+std::shared_ptr SvpGraphicsBackend::getBitmap(tools::Long nX, 
tools::Long nY,
+ tools::Long nWidth, 
tools::Long nHeight)
 {
-return std::shared_ptr();
+std::shared_ptr pBitmap = std::make_shared();
+BitmapPalette aPal;
+vcl::PixelFormat ePixelFormat = vcl::PixelFormat::INVALID;
+if (GetBitCount() == 1)
+{
+ePixelFormat = vcl::PixelFormat::N1_BPP;
+aPal.SetEntryCount(2);
+aPal[0] = COL_BLACK;
+aPal[1] = COL_WHITE;
+}
+else
+{
+ePixelFormat = vcl::PixelFormat::N32_BPP;
+}
+
+if (!pBitmap->Create(Size(nWidth, nHeight), ePixelFormat, aPal))
+{
+SAL_WARN("vcl.gdi", "SvpSalGraphics::getBitmap, cannot create bitmap");
+return nullptr;
+}
+
+cairo_surface_t* target = 
CairoCommon::createCairoSurface(pBitmap->GetBuffer());
+if (!target)
+{
+SAL_WARN("vcl.gdi", "SvpSalGraphics::getBitmap, cannot create cairo 
surface");
+return nullptr;
+}
+cairo_t* cr = cairo_create(target);
+
+SalTwoRect aTR(nX, nY, nWidth, nHeight, 0, 0, nWidth, nHeight);
+CairoCommon::renderSource(cr, aTR, m_rCairoCommon.m_pSurface);
+
+cairo_destroy(cr);
+cairo_surface_destroy(target);
+
+Toggle1BitTransparency(*pBitmap->GetBuffer());
+
+return pBitmap;
 }
 
 void SvpGraphicsBackend::drawBitmapBuffer(const SalTwoRect& rTR, const 
BitmapBuffer* pBuffer,
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index b9c4cabee2bc..23f68c80fe3c 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -83,48 +83,6 @@ void SvpSalGraphics::GetResolution( sal_Int32& rDPIX, 
sal_Int32& rDPIY )
 rDPIX = rDPIY = 96;
 }
 
-std::shared_ptr SvpSalGraphics::getBitmap( tools::Long nX, 
tools::Long nY, tools::Long nWidth, tools::Long nHeight )
-{
-std::shared_ptr pBitmap = std::make_shared();
-BitmapPalette aPal;
-vcl::PixelFormat ePixelFormat = vcl::PixelFormat::INVALID;
-if (GetBitCount() == 1)
-{
-ePixelFormat = vcl::PixelFormat::N1_BPP;
-aPal.SetEntryCount(2);
-aPal[0] = COL_BLACK;
-aPal[1] = COL_WHITE;
-}
-else
-{
-ePixelFormat = vcl::PixelFormat::N32_BPP;
-}
-
-if (!pBitmap->Create(Size(nWidth, nHeight), ePixelFormat, aPal))
-{
-SAL_WARN("vcl.gdi", "SvpSalGraphics::getBitmap, cannot create bitmap");
-return nullptr;
-}
-
-cairo_surface_t* target = 
CairoCommon::createCairoSurface(pBitmap->GetBuffer());
-if (!target)
-{
-SAL_WARN("vcl.gdi", "SvpSalGraphics::getBitmap, cannot create cairo 
surface");
-return nullptr;
-}
-cairo_t* cr = cairo_create(target);
-
-SalTwoRect aTR(nX, nY, nWidth, nHeight, 0, 0, nWidth, nHeight);
-CairoCommon::renderSource(cr, aTR, m_aCairoCommon.m_pSurface);
-
-cairo_destroy(cr);
-cairo_surface_destroy(target);
-
-Toggle1BitTransparency(*pBitmap->GetBuffer());
-
-return pBitmap;
-}
-
 #if ENABLE_CAIRO_CANVAS
 bool SvpSalGraphics::SupportsCairo() const
 {
diff --git a/vcl/inc/headless/svpgdi.hxx b/vcl/inc/headless/svpgdi.hxx
index eb15f1563a62..b3b932cc3d73 100644
--- a/vcl/inc/headless/svpgdi.hxx
+++ b/vcl/inc/headless/svpgdi.hxx
@@ -95,8 +95,6 @@ public:
 GetTextLayout(int nFallbackLevel) override;
 virtual voidDrawTextLayout( const GenericSalLayout& ) override;
 
-virtual std::shared_ptr getBitmap( tools::Long nX, tools::Long 
nY, tools::Long nWidth, tools::Long nHeight ) override;
-
 virtual SystemGraphicsData GetGraphicsData() const override;
 
 #if 

[Libreoffice-commits] core.git: vcl/headless vcl/inc vcl/Library_vcl.mk

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/Library_vcl.mk|1 
 vcl/headless/BitmapHelper.cxx |  124 
 vcl/headless/svpgdi.cxx   |  129 --
 vcl/inc/headless/BitmapHelper.hxx |   48 ++
 vcl/inc/headless/CairoCommon.hxx  |1 
 5 files changed, 175 insertions(+), 128 deletions(-)

New commits:
commit 94bef9ce68b35e1d6d2c7ce4ffae2c6b301686ea
Author: Tomaž Vajngerl 
AuthorDate: Wed Dec 29 12:51:59 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 04:34:32 2022 +0100

vcl: move BitmapHelper and MaskHelper into own file

Change-Id: If6f2a489be7cb51f62c55a2d4c804fcc741579bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127924
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index c7c03a52f44f..4712da2f716f 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -528,6 +528,7 @@ vcl_headless_code= \
 vcl/headless/svpgdi \
 vcl/headless/SvpGraphicsBackend \
 vcl/headless/CairoCommon \
+vcl/headless/BitmapHelper \
 $(if $(ENABLE_HEADLESS),vcl/headless/svpdata) \
 ) \
 vcl/headless/svpdummies \
diff --git a/vcl/headless/BitmapHelper.cxx b/vcl/headless/BitmapHelper.cxx
new file mode 100644
index ..359db01bb45d
--- /dev/null
+++ b/vcl/headless/BitmapHelper.cxx
@@ -0,0 +1,124 @@
+/* -*- 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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#include 
+
+BitmapHelper::BitmapHelper(const SalBitmap& rSourceBitmap, const bool 
bForceARGB32)
+#ifdef HAVE_CAIRO_FORMAT_RGB24_888
+: m_bForceARGB32(bForceARGB32)
+#endif
+{
+const SvpSalBitmap& rSrcBmp = static_cast(rSourceBitmap);
+#ifdef HAVE_CAIRO_FORMAT_RGB24_888
+if ((rSrcBmp.GetBitCount() != 32 && rSrcBmp.GetBitCount() != 24) || 
bForceARGB32)
+#else
+(void)bForceARGB32;
+if (rSrcBmp.GetBitCount() != 32)
+#endif
+{
+//big stupid copy here
+const BitmapBuffer* pSrc = rSrcBmp.GetBuffer();
+const SalTwoRect aTwoRect
+= { 0, 0, pSrc->mnWidth, pSrc->mnHeight, 0, 0, pSrc->mnWidth, 
pSrc->mnHeight };
+std::unique_ptr pTmp
+= (pSrc->mnFormat == SVP_24BIT_FORMAT
+   ? FastConvert24BitRgbTo32BitCairo(pSrc)
+   : StretchAndConvert(*pSrc, aTwoRect, SVP_CAIRO_FORMAT));
+aTmpBmp.Create(std::move(pTmp));
+
+assert(aTmpBmp.GetBitCount() == 32);
+implSetSurface(CairoCommon::createCairoSurface(aTmpBmp.GetBuffer()));
+}
+else
+{
+implSetSurface(CairoCommon::createCairoSurface(rSrcBmp.GetBuffer()));
+}
+}
+
+void BitmapHelper::mark_dirty() { cairo_surface_mark_dirty(implGetSurface()); }
+
+unsigned char* BitmapHelper::getBits(sal_Int32& rStride)
+{
+cairo_surface_flush(implGetSurface());
+
+unsigned char* mask_data = cairo_image_surface_get_data(implGetSurface());
+
+const cairo_format_t nFormat = 
cairo_image_surface_get_format(implGetSurface());
+#ifdef HAVE_CAIRO_FORMAT_RGB24_888
+if (!m_bForceARGB32)
+assert(nFormat == CAIRO_FORMAT_RGB24_888 && "Expected RGB24_888 
image");
+else
+#endif
+{
+assert(nFormat == CAIRO_FORMAT_ARGB32
+   && "need to implement CAIRO_FORMAT_A1 after all here");
+}
+
+rStride
+= cairo_format_stride_for_width(nFormat, 
cairo_image_surface_get_width(implGetSurface()));
+
+return mask_data;
+}
+
+MaskHelper::MaskHelper(const SalBitmap& rAlphaBitmap)
+{
+const SvpSalBitmap& rMask = static_cast(rAlphaBitmap);
+const BitmapBuffer* pMaskBuf = rMask.GetBuffer();
+
+if (rAlphaBitmap.GetBitCount() == 8)
+{
+// the alpha values need to be inverted for Cairo
+// so big stupid copy and invert here
+const int nImageSize = pMaskBuf->mnHeight * pMaskBuf->mnScanlineSize;
+pAlphaBits.reset(new unsigned char[nImageSize]);
+memcpy(pAlphaBits.get(), pMaskBuf->mpBits, nImageSize);
+
+// TODO: make upper layers use standard alpha
+sal_uInt32* pLDst = reinterpret_cast(pAlphaBits.get());
+for (int i = 

[Libreoffice-commits] core.git: vcl/headless vcl/inc

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/BitmapHelper.cxx |   82 ++
 vcl/headless/svpgdi.cxx   |   78 
 vcl/inc/headless/BitmapHelper.hxx |5 ++
 3 files changed, 87 insertions(+), 78 deletions(-)

New commits:
commit 86fdd581a832c7476d7556f3f4fb7d83f5de4d8b
Author: Tomaž Vajngerl 
AuthorDate: Wed Dec 29 15:47:42 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 04:35:45 2022 +0100

vcl: move tryToUse{Source,Mask}Buffer to BitmapHelper

Change-Id: I9352aec388db56596fef3f5f323244b1df26cdcb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127979
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/BitmapHelper.cxx b/vcl/headless/BitmapHelper.cxx
index 8d56631a4fee..2b9c670dfb3f 100644
--- a/vcl/headless/BitmapHelper.cxx
+++ b/vcl/headless/BitmapHelper.cxx
@@ -18,6 +18,7 @@
  */
 
 #include 
+#include 
 
 BitmapHelper::BitmapHelper(const SalBitmap& rSourceBitmap, const bool 
bForceARGB32)
 #ifdef HAVE_CAIRO_FORMAT_RGB24_888
@@ -183,4 +184,85 @@ sal_Int64 
SystemDependentData_MaskHelper::estimateUsageInBytes() const
 {
 return estimateUsageInBytesForSurfaceHelper(maMaskHelper.get());
 }
+
+namespace
+{
+// MM02 decide to use buffers or not
+const char* pDisableMM02Goodies(getenv("SAL_DISABLE_MM02_GOODIES"));
+bool bUseBuffer(nullptr == pDisableMM02Goodies);
+const tools::Long nMinimalSquareSizeToBuffer(64 * 64);
+}
+
+void tryToUseSourceBuffer(const SalBitmap& rSourceBitmap, 
std::shared_ptr& rSurface)
+{
+// MM02 try to access buffered BitmapHelper
+std::shared_ptr 
pSystemDependentData_BitmapHelper;
+const bool bBufferSource(bUseBuffer
+ && rSourceBitmap.GetSize().Width() * 
rSourceBitmap.GetSize().Height()
+> nMinimalSquareSizeToBuffer);
+
+if (bBufferSource)
+{
+const SvpSalBitmap& rSrcBmp(static_cast(rSourceBitmap));
+pSystemDependentData_BitmapHelper
+= 
rSrcBmp.getSystemDependentData();
+
+if (pSystemDependentData_BitmapHelper)
+{
+// reuse buffered data
+rSurface = pSystemDependentData_BitmapHelper->getBitmapHelper();
+}
+}
+
+if (rSurface)
+return;
+
+// create data on-demand
+rSurface = std::make_shared(rSourceBitmap);
+
+if (bBufferSource)
+{
+// add to buffering mechanism to potentially reuse next time
+const SvpSalBitmap& rSrcBmp(static_cast(rSourceBitmap));
+
rSrcBmp.addOrReplaceSystemDependentData(
+ImplGetSystemDependentDataManager(), rSurface);
+}
+}
+
+void tryToUseMaskBuffer(const SalBitmap& rMaskBitmap, 
std::shared_ptr& rMask)
+{
+// MM02 try to access buffered MaskHelper
+std::shared_ptr 
pSystemDependentData_MaskHelper;
+const bool bBufferMask(bUseBuffer
+   && rMaskBitmap.GetSize().Width() * 
rMaskBitmap.GetSize().Height()
+  > nMinimalSquareSizeToBuffer);
+
+if (bBufferMask)
+{
+const SvpSalBitmap& rSrcBmp(static_cast(rMaskBitmap));
+pSystemDependentData_MaskHelper
+= rSrcBmp.getSystemDependentData();
+
+if (pSystemDependentData_MaskHelper)
+{
+// reuse buffered data
+rMask = pSystemDependentData_MaskHelper->getMaskHelper();
+}
+}
+
+if (rMask)
+return;
+
+// create data on-demand
+rMask = std::make_shared(rMaskBitmap);
+
+if (bBufferMask)
+{
+// add to buffering mechanism to potentially reuse next time
+const SvpSalBitmap& rSrcBmp(static_cast(rMaskBitmap));
+
rSrcBmp.addOrReplaceSystemDependentData(
+ImplGetSystemDependentDataManager(), rMask);
+}
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 3a321af10293..04849793efd9 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -57,84 +57,6 @@
 #   endif
 #endif
 
-namespace
-{
-// MM02 decide to use buffers or not
-const char* pDisableMM02Goodies(getenv("SAL_DISABLE_MM02_GOODIES"));
-bool bUseBuffer(nullptr == pDisableMM02Goodies);
-const tools::Long nMinimalSquareSizeToBuffer(64*64);
-
-void tryToUseSourceBuffer(const SalBitmap& rSourceBitmap, 
std::shared_ptr& rSurface)
-{
-// MM02 try to access buffered BitmapHelper
-std::shared_ptr 
pSystemDependentData_BitmapHelper;
-const bool bBufferSource(bUseBuffer
-&& rSourceBitmap.GetSize().Width() * 
rSourceBitmap.GetSize().Height() > nMinimalSquareSizeToBuffer);
-
-if(bBufferSource)
-{
-const SvpSalBitmap& rSrcBmp(static_cast(rSourceBitmap));
-pSystemDependentData_BitmapHelper = 
rSrcBmp.getSystemDependentData();
-
-if(pSystemDependentData_BitmapHelper)
-{
-// reuse buffered data
-  

[Libreoffice-commits] core.git: vcl/headless vcl/inc

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/SvpGraphicsBackend.cxx |   84 ---
 vcl/headless/svpgdi.cxx |   86 
 vcl/inc/headless/svpgdi.hxx |9 ---
 3 files changed, 77 insertions(+), 102 deletions(-)

New commits:
commit 507ca0eb16707917eab3608674243ed0eeacda72
Author: Tomaž Vajngerl 
AuthorDate: Thu Dec 30 00:20:44 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Wed Jan 5 04:36:27 2022 +0100

vcl: move drawAlphaBitmap to SvpGraphicsBackend

Change-Id: I182d775318a9b43a5955a5868e78a4b09c4a74c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127981
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/SvpGraphicsBackend.cxx 
b/vcl/headless/SvpGraphicsBackend.cxx
index c67f19d5665d..2ac40e8e7b20 100644
--- a/vcl/headless/SvpGraphicsBackend.cxx
+++ b/vcl/headless/SvpGraphicsBackend.cxx
@@ -394,7 +394,7 @@ void SvpGraphicsBackend::drawBitmap(const SalTwoRect& 
rPosAry, const SalBitmap&
 return;
 }
 
-#if 0 // LO code is not yet bitmap32-ready.
\
+#if 0 // LO code is not yet bitmap32-ready.
 // if m_bSupportsBitmap32 becomes true for Svp revisit this
 m_rCairoCommon.copyWithOperator(rPosAry, source, CAIRO_OPERATOR_OVER, 
getAntiAlias());
 #else
@@ -636,13 +636,83 @@ bool SvpGraphicsBackend::drawAlphaBitmap(const 
SalTwoRect& rTR, const SalBitmap&
 return true;
 }
 
-bool SvpGraphicsBackend::drawTransformedBitmap(const basegfx::B2DPoint& 
/*rNull*/,
-   const basegfx::B2DPoint& /*rX*/,
-   const basegfx::B2DPoint& /*rY*/,
-   const SalBitmap& 
/*rSourceBitmap*/,
-   const SalBitmap* 
/*pAlphaBitmap*/, double /*fAlpha*/)
+bool SvpGraphicsBackend::drawTransformedBitmap(const basegfx::B2DPoint& rNull,
+   const basegfx::B2DPoint& rX,
+   const basegfx::B2DPoint& rY,
+   const SalBitmap& rSourceBitmap,
+   const SalBitmap* pAlphaBitmap, 
double fAlpha)
 {
-return false;
+if (pAlphaBitmap && pAlphaBitmap->GetBitCount() != 8 && 
pAlphaBitmap->GetBitCount() != 1)
+{
+SAL_WARN("vcl.gdi", "unsupported SvpSalGraphics::drawTransformedBitmap 
alpha depth case: "
+<< pAlphaBitmap->GetBitCount());
+return false;
+}
+
+if (fAlpha != 1.0)
+return false;
+
+// MM02 try to access buffered BitmapHelper
+std::shared_ptr aSurface;
+tryToUseSourceBuffer(rSourceBitmap, aSurface);
+const tools::Long nDestWidth(basegfx::fround(basegfx::B2DVector(rX - 
rNull).getLength()));
+const tools::Long nDestHeight(basegfx::fround(basegfx::B2DVector(rY - 
rNull).getLength()));
+cairo_surface_t* source(aSurface->getSurface(nDestWidth, nDestHeight));
+
+if (!source)
+{
+SAL_WARN("vcl.gdi", "unsupported SvpSalGraphics::drawTransformedBitmap 
case");
+return false;
+}
+
+// MM02 try to access buffered MaskHelper
+std::shared_ptr aMask;
+if (nullptr != pAlphaBitmap)
+{
+tryToUseMaskBuffer(*pAlphaBitmap, aMask);
+}
+
+// access cairo_surface_t from MaskHelper
+cairo_surface_t* mask(nullptr);
+if (aMask)
+{
+mask = aMask->getSurface(nDestWidth, nDestHeight);
+}
+
+if (nullptr != pAlphaBitmap && nullptr == mask)
+{
+SAL_WARN("vcl.gdi", "unsupported SvpSalGraphics::drawTransformedBitmap 
case");
+return false;
+}
+
+const Size aSize = rSourceBitmap.GetSize();
+cairo_t* cr = m_rCairoCommon.getCairoContext(false, getAntiAlias());
+m_rCairoCommon.clipRegion(cr);
+
+// setup the image transformation
+// using the rNull,rX,rY points as destinations for the 
(0,0),(0,Width),(Height,0) source points
+const basegfx::B2DVector aXRel = rX - rNull;
+const basegfx::B2DVector aYRel = rY - rNull;
+cairo_matrix_t matrix;
+cairo_matrix_init(, aXRel.getX() / aSize.Width(), aXRel.getY() / 
aSize.Width(),
+  aYRel.getX() / aSize.Height(), aYRel.getY() / 
aSize.Height(), rNull.getX(),
+  rNull.getY());
+
+cairo_transform(cr, );
+
+cairo_rectangle(cr, 0, 0, aSize.Width(), aSize.Height());
+basegfx::B2DRange extents = getClippedFillDamage(cr);
+cairo_clip(cr);
+
+cairo_set_source_surface(cr, source, 0, 0);
+if (mask)
+cairo_mask_surface(cr, mask, 0, 0);
+else
+cairo_paint(cr);
+
+m_rCairoCommon.releaseCairoContext(cr, false, extents);
+
+return true;
 }
 
 bool SvpGraphicsBackend::hasFastDrawTransformedBitmap() const { return false; }
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 

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

2022-01-04 Thread Noel Grandin (via logerrit)
 scripting/source/stringresource/stringresource.cxx |   82 -
 scripting/source/stringresource/stringresource.hxx |   16 +---
 2 files changed, 39 insertions(+), 59 deletions(-)

New commits:
commit 5de44f16b68977058386a60ca468de3efa780a25
Author: Noel Grandin 
AuthorDate: Mon Dec 20 19:10:49 2021 +0200
Commit: Noel Grandin 
CommitDate: Tue Jan 4 10:44:03 2022 +0100

osl::Mutex->std::mutex in StringResourceImpl

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

diff --git a/scripting/source/stringresource/stringresource.cxx 
b/scripting/source/stringresource/stringresource.cxx
index c7b40bb09e46..3b3c356fa784 100644
--- a/scripting/source/stringresource/stringresource.cxx
+++ b/scripting/source/stringresource/stringresource.cxx
@@ -50,18 +50,6 @@ using namespace ::com::sun::star::container;
 namespace stringresource
 {
 
-
-// mutex
-
-
-::osl::Mutex& getMutex()
-{
-static ::osl::Mutex s_aMutex;
-
-return s_aMutex;
-}
-
-
 // StringResourceImpl
 
 extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
@@ -77,7 +65,6 @@ StringResourceImpl::StringResourceImpl( const Reference< 
XComponentContext >& rx
 , m_pCurrentLocaleItem( nullptr )
 , m_pDefaultLocaleItem( nullptr )
 , m_bDefaultModified( false )
-, m_aListenerContainer( getMutex() )
 , m_bModified( false )
 , m_bReadOnly( false )
 , m_nNextUniqueNumericId( UNIQUE_NUMBER_NEEDS_INITIALISATION )
@@ -115,6 +102,7 @@ void StringResourceImpl::addModifyListener( const 
Reference< XModifyListener >&
 if( !aListener.is() )
 throw RuntimeException();
 
+std::unique_lock aGuard( m_aMutex );
 m_aListenerContainer.addInterface( aListener );
 }
 
@@ -123,6 +111,7 @@ void StringResourceImpl::removeModifyListener( const 
Reference< XModifyListener
 if( !aListener.is() )
 throw RuntimeException();
 
+std::unique_lock aGuard( m_aMutex );
 m_aListenerContainer.removeInterface( aListener );
 }
 
@@ -152,13 +141,13 @@ OUString StringResourceImpl::implResolveString
 
 OUString StringResourceImpl::resolveString( const OUString& ResourceID )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 return implResolveString( ResourceID, m_pCurrentLocaleItem );
 }
 
 OUString StringResourceImpl::resolveStringForLocale( const OUString& 
ResourceID, const Locale& locale )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 LocaleItem* pLocaleItem = getItemForLocale( locale, false );
 return implResolveString( ResourceID, pLocaleItem );
 }
@@ -177,14 +166,14 @@ bool StringResourceImpl::implHasEntryForId( const 
OUString& ResourceID, LocaleIt
 
 sal_Bool StringResourceImpl::hasEntryForId( const OUString& ResourceID )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 return implHasEntryForId( ResourceID, m_pCurrentLocaleItem );
 }
 
 sal_Bool StringResourceImpl::hasEntryForIdAndLocale( const OUString& 
ResourceID,
 const Locale& locale )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 LocaleItem* pLocaleItem = getItemForLocale( locale, false );
 return implHasEntryForId( ResourceID, pLocaleItem );
 }
@@ -213,20 +202,20 @@ Sequence< OUString > 
StringResourceImpl::implGetResourceIDs( LocaleItem* pLocale
 Sequence< OUString > StringResourceImpl::getResourceIDsForLocale
 ( const Locale& locale )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 LocaleItem* pLocaleItem = getItemForLocale( locale, false );
 return implGetResourceIDs( pLocaleItem );
 }
 
 Sequence< OUString > StringResourceImpl::getResourceIDs(  )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 return implGetResourceIDs( m_pCurrentLocaleItem );
 }
 
 Locale StringResourceImpl::getCurrentLocale()
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 
 Locale aRetLocale;
 if( m_pCurrentLocaleItem != nullptr )
@@ -236,7 +225,7 @@ Locale StringResourceImpl::getCurrentLocale()
 
 Locale StringResourceImpl::getDefaultLocale(  )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 
 Locale aRetLocale;
 if( m_pDefaultLocaleItem != nullptr )
@@ -246,7 +235,7 @@ Locale StringResourceImpl::getDefaultLocale(  )
 
 Sequence< Locale > StringResourceImpl::getLocales(  )
 {
-::osl::MutexGuard aGuard( getMutex() );
+std::unique_lock aGuard( m_aMutex );
 
 sal_Int32 nSize = m_aLocaleItemVector.size();
 Sequence< Locale > aLocalSeq( nSize );
@@ -280,8 +269,6 @@ sal_Bool StringResourceImpl::isReadOnly()
 void StringResourceImpl::implSetCurrentLocale( const Locale& locale,
 bool FindClosestMatch, bool bUseDefaultIfNoMatch )

[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - oox/source sd/qa

2022-01-04 Thread Tibor Nagy (via logerrit)
 oox/source/ppt/slidefragmenthandler.cxx |5 +
 sd/qa/unit/data/pptx/tdf146223.pptx |binary
 sd/qa/unit/import-tests.cxx |   20 
 3 files changed, 25 insertions(+)

New commits:
commit 3698a523d7ce3278ac4e285e32d737951f317978
Author: Tibor Nagy 
AuthorDate: Tue Dec 14 14:44:15 2021 +0100
Commit: Xisco Fauli 
CommitDate: Tue Jan 4 10:45:58 2022 +0100

tdf#146223 PPTX import: fix master objects visible property

Master objects were always visible after the import, which
could change the background of the slides.

Change-Id: Idc5260718f2916e207f751286044e9a7fabdee89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126833
Tested-by: László Németh 
Reviewed-by: László Németh 
(cherry picked from commit 4574a1ea408c2ac30042dca32d02207ec7add4da)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/12
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/oox/source/ppt/slidefragmenthandler.cxx 
b/oox/source/ppt/slidefragmenthandler.cxx
index 4512ee156261..79ea427b5227 100644
--- a/oox/source/ppt/slidefragmenthandler.cxx
+++ b/oox/source/ppt/slidefragmenthandler.cxx
@@ -78,9 +78,14 @@ SlideFragmentHandler::~SlideFragmentHandler()
 case PPT_TOKEN( sld ):  // CT_CommonSlideData
 {
 Reference< XDrawPage > xSlide( mpSlidePersistPtr->getPage() );
+Reference< css::beans::XPropertySet > xSet(xSlide, UNO_QUERY);
 PropertyMap aPropMap;
 PropertySet aSlideProp( xSlide );
 
+OptValue aShowMasterShapes = rAttribs.getBool(XML_showMasterSp);
+if (aShowMasterShapes.has() && !aShowMasterShapes.get())
+xSet->setPropertyValue("IsBackgroundObjectsVisible", Any(false));
+
 aPropMap.setProperty( PROP_Visible, rAttribs.getBool( XML_show, true 
));
 aSlideProp.setProperties( aPropMap );
 
diff --git a/sd/qa/unit/data/pptx/tdf146223.pptx 
b/sd/qa/unit/data/pptx/tdf146223.pptx
new file mode 100644
index ..73d5eea144cc
Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf146223.pptx differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 92b08ef32094..303ab76bed7b 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -123,6 +123,7 @@ public:
 virtual void setUp() override;
 
 void testDocumentLayout();
+void testTdf146223();
 void testTdf144918();
 void testTdf144917();
 void testHyperlinkOnImage();
@@ -190,6 +191,7 @@ public:
 CPPUNIT_TEST_SUITE(SdImportTest);
 
 CPPUNIT_TEST(testDocumentLayout);
+CPPUNIT_TEST(testTdf146223);
 CPPUNIT_TEST(testTdf144918);
 CPPUNIT_TEST(testTdf144917);
 CPPUNIT_TEST(testHyperlinkOnImage);
@@ -335,6 +337,24 @@ void SdImportTest::testDocumentLayout()
 }
 }
 
+void SdImportTest::testTdf146223()
+{
+sd::DrawDocShellRef xDocShRef
+= 
loadURL(m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/tdf146223.pptx"), 
PPTX);
+
+uno::Reference 
xDoc(xDocShRef->GetDoc()->getUnoModel(),
+ uno::UNO_QUERY_THROW);
+
+uno::Reference 
xPage1(xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY);
+uno::Reference xSet(xPage1, uno::UNO_QUERY_THROW);
+
+bool bBackgroundObjectsVisible;
+xSet->getPropertyValue("IsBackgroundObjectsVisible") >>= 
bBackgroundObjectsVisible;
+CPPUNIT_ASSERT_EQUAL(false, bBackgroundObjectsVisible);
+
+xDocShRef->DoClose();
+}
+
 void SdImportTest::testTdf144918()
 {
 sd::DrawDocShellRef xDocShRef


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - idlc/source

2022-01-04 Thread Ismael Luceno (via logerrit)
 idlc/source/idlccompile.cxx |5 -
 1 file changed, 5 deletions(-)

New commits:
commit c9d0f66fef3123f76954fa7549d0a6ec5dd549f8
Author: Ismael Luceno 
AuthorDate: Sun Dec 26 22:19:39 2021 +0100
Commit: Xisco Fauli 
CommitDate: Tue Jan 4 10:48:18 2022 +0100

idlc: Always use sys/wait.h on UNIX

According to (and since) POSIX.1-1988 it's always ; and all
supported systems include it, back to 1995.

AFAICT, none of the systems mention  in their manual pages.

musl libc produces the following warning if the non-standard header is
included:

/usr/include/wait.h:1:2: warning: #warning redirecting incorrect 
#include  to  [-Wcpp]

Change-Id: Iff1293a08ad080fdc987770596b10ef08cc145a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127537
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski 
(cherry picked from commit 9d0568609be69a2b533d9a4bf4d03c37c15e779d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127585
Reviewed-by: Ismael Luceno 
Reviewed-by: Xisco Fauli 

diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx
index 6db9a615d316..0d06ea59cdbe 100644
--- a/idlc/source/idlccompile.cxx
+++ b/idlc/source/idlccompile.cxx
@@ -35,12 +35,7 @@
 #ifdef  SAL_UNX
 #include 
 #include 
-#if defined(MACOSX) || defined(FREEBSD) || defined(NETBSD) || \
-defined(AIX) || defined(OPENBSD) || defined(DRAGONFLY) || defined(HAIKU)
 #include 
-#else
-#include 
-#endif
 #endif
 
 #include 


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - desktop/unx vcl/headless vcl/unx

2022-01-04 Thread Ismael Luceno (via logerrit)
 desktop/unx/source/start.c   |2 +-
 vcl/headless/svpinst.cxx |2 +-
 vcl/unx/generic/dtrans/X11_selection.cxx |4 
 3 files changed, 2 insertions(+), 6 deletions(-)

New commits:
commit e57376c4ccf40bac3c284bd9a04000f0fd5ed360
Author: Ismael Luceno 
AuthorDate: Tue Dec 28 23:24:08 2021 +0100
Commit: Xisco Fauli 
CommitDate: Tue Jan 4 10:49:11 2022 +0100

Always use , no modern system needs 

This was standardized in IEEE 1003.1-2001, so more than 20 years old.

Verified following systems using online resources:
- FreeBSD 3.0 (1998)
- NetBSD 1.3 (1998)
- OpenBSD 2.0 (1996)
- CentOS 5.0 (2007)
- Debian 4.0 (2007)
- IRIX 6.5.30 (2006)
- SunOS 4.1.3 (1992)
- SUSE 10.2 (2008)
- Red Hat 5.0 (1998)

So the check used for BSDs on vcl/unx/generic/dtrans/X11_selection.cxx
was never correct.

On GNU/Linux specifically,  is provided since glibc 2.0 (1997).

musl libc produces the following warning if the non-standard header is
included:

/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect 
#include  to  [-Wcpp]

Change-Id: Ia8f4b9e1ee069f86abe03140c18a77d17336d09c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127666
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski 
(cherry picked from commit 4242c7b91887236375e08e2b6b24de0cecbf1626)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127586
Reviewed-by: Ismael Luceno 
Reviewed-by: Xisco Fauli 

diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index 385761a81230..a83db69e5c66 100644
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -18,7 +18,7 @@
 #include 
 #include 
 #include 
-#include 
+#include 
 #include 
 #include 
 #include 
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index b573f756f411..ec7463756aef 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -27,7 +27,7 @@
 #include 
 #include 
 #include 
-#include 
+#include 
 
 #include 
 #include 
diff --git a/vcl/unx/generic/dtrans/X11_selection.cxx 
b/vcl/unx/generic/dtrans/X11_selection.cxx
index 8d3298aead3a..1c6ec92f1b87 100644
--- a/vcl/unx/generic/dtrans/X11_selection.cxx
+++ b/vcl/unx/generic/dtrans/X11_selection.cxx
@@ -34,11 +34,7 @@
 #include 
 #include 
 
-#if defined(NETBSD) || defined (FREEBSD) || defined(OPENBSD)
-#include 
-#else
 #include 
-#endif
 
 #include 
 


[Libreoffice-commits] core.git: sw/qa vcl/headless vcl/osx xmloff/source

2022-01-04 Thread Jan-Marek Glogowski (via logerrit)
 sw/qa/core/uwriter.cxx   |7 ---
 vcl/headless/svpframe.cxx|6 --
 vcl/osx/a11yfactory.mm   |6 --
 xmloff/source/style/impastpl.cxx |2 --
 4 files changed, 21 deletions(-)

New commits:
commit 55dcb060ea5feef0478f7abcaa4da9cbe69bd440
Author: Jan-Marek Glogowski 
AuthorDate: Tue Jan 4 09:26:42 2022 +0100
Commit: Jan-Marek Glogowski 
CommitDate: Tue Jan 4 11:26:47 2022 +0100

Drop all commented SAL_DEBUG calls

Change-Id: I3be7153d27b83766303519e73d1a355ba327871a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127929
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski 

diff --git a/sw/qa/core/uwriter.cxx b/sw/qa/core/uwriter.cxx
index c43d068152b6..c2175aea2f44 100644
--- a/sw/qa/core/uwriter.cxx
+++ b/sw/qa/core/uwriter.cxx
@@ -1552,12 +1552,6 @@ namespace
 { return GetPrevInRing(); }
 bool lonely() const
 { return unique(); }
-#if 0
-void debug()
-{
-SAL_DEBUG("TestRing at: " << this << " prev: " << GetPrev() << " 
next: " << GetNext());
-}
-#endif
 };
 }
 
@@ -1603,7 +1597,6 @@ void SwDocTest::testIntrusiveRing()
 {
 TestRing* pRing = 
 CPPUNIT_ASSERT(pRing);
-//pRing->debug();
 }
 const TestRing* pConstRing = 
 for(const TestRing& r: pConstRing->GetRingContainer()) // this should fail 
without r being const
diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx
index 5f40377f5b86..c6c8a08e29c0 100644
--- a/vcl/headless/svpframe.cxx
+++ b/vcl/headless/svpframe.cxx
@@ -55,7 +55,6 @@ SvpSalFrame::SvpSalFrame( SvpSalInstance* pInstance,
 m_nMaxWidth( 0 ),
 m_nMaxHeight( 0 )
 {
-// SAL_DEBUG("SvpSalFrame::SvpSalFrame: " << this);
 #ifdef IOS
 // Nothing
 #elif defined ANDROID
@@ -86,7 +85,6 @@ SvpSalFrame::~SvpSalFrame()
 
 if( s_pFocusFrame == this )
 {
-// SAL_DEBUG("SvpSalFrame::~SvpSalFrame: losing focus: " << this);
 s_pFocusFrame = nullptr;
 // call directly here, else an event for a destroyed frame would be 
dispatched
 CallCallback( SalEvent::LoseFocus, nullptr );
@@ -129,7 +127,6 @@ void SvpSalFrame::GetFocus()
 {
 if( s_pFocusFrame )
 s_pFocusFrame->LoseFocus();
-// SAL_DEBUG("SvpSalFrame::GetFocus(): " << this);
 s_pFocusFrame = this;
 m_pInstance->PostEvent( this, nullptr, SalEvent::GetFocus );
 }
@@ -139,7 +136,6 @@ void SvpSalFrame::LoseFocus()
 {
 if( s_pFocusFrame == this )
 {
-// SAL_DEBUG("SvpSalFrame::LoseFocus: " << this);
 m_pInstance->PostEvent( this, nullptr, SalEvent::LoseFocus );
 s_pFocusFrame = nullptr;
 }
@@ -225,7 +221,6 @@ void SvpSalFrame::Show( bool bVisible, bool bNoActivate )
 
 if (bVisible)
 {
-// SAL_DEBUG("SvpSalFrame::Show: showing: " << this);
 m_bVisible = true;
 m_pInstance->PostEvent( this, nullptr, SalEvent::Resize );
 if( ! bNoActivate )
@@ -233,7 +228,6 @@ void SvpSalFrame::Show( bool bVisible, bool bNoActivate )
 }
 else
 {
-// SAL_DEBUG("SvpSalFrame::Show: hiding: " << this);
 m_bVisible = false;
 LoseFocus();
 }
diff --git a/vcl/osx/a11yfactory.mm b/vcl/osx/a11yfactory.mm
index 560d3f97357a..e9a5da854607 100644
--- a/vcl/osx/a11yfactory.mm
+++ b/vcl/osx/a11yfactory.mm
@@ -165,19 +165,13 @@ static bool enabled = false;
 id parent = [aWrapper 
accessibilityAttributeValue:NSAccessibilityParentAttribute];
 if (parent) {
 if ([parent isKindOfClass:[NSView class]]) {
-// SAL_DEBUG("Wrapper INIT: " << [[aWrapper description] 
UTF8String] << " ==> " << [[parent description] UTF8String]);
 NSView *parentView = static_cast(parent);
 [parentView addSubview:aWrapper positioned:NSWindowBelow 
relativeTo:nil];
 } else if ([parent 
isKindOfClass:NSClassFromString(@"SalFrameWindow")]) {
 NSWindow *window = static_cast(parent);
 NSView *salView = [window contentView];
-// SAL_DEBUG("Wrapper INIT SAL: " << [[aWrapper 
description] UTF8String] << " ==> " << [[salView description] UTF8String]);
 [salView addSubview:aWrapper positioned:NSWindowBelow 
relativeTo:nil];
-} else {
-// SAL_DEBUG("Wrapper INIT: !! " << [[aWrapper 
description] UTF8String] << " !==>! " << [[parent description] UTF8String] << 
"!!");
 }
-} else {
-// SAL_DEBUG("Wrapper INIT: " << [[aWrapper description] 
UTF8String] << " ==> NO PARENT");
 }
 }
 }
diff --git a/xmloff/source/style/impastpl.cxx b/xmloff/source/style/impastpl.cxx
index fd7c84dc1642..42565e08cf85 100644
--- a/xmloff/source/style/impastpl.cxx
+++ b/xmloff/source/style/impastpl.cxx
@@ -400,7 +400,6 @@ void 

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

2022-01-04 Thread Kiyotaka Nishibori (via logerrit)
 cui/source/tabpages/border.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 5b5ba7f407637023cfe50267296312bf5e8cf538
Author: Kiyotaka Nishibori 
AuthorDate: Mon Jan 3 06:37:39 2022 +0900
Commit: Caolán McNamara 
CommitDate: Tue Jan 4 11:35:38 2022 +0100

changed CuiResId into SvxResId.

though some translation entries for tooltip for border preset images were in
svx.mo, cui/source/tabpages/border.cxx referred the entries to cui.mo with
CuiResId route, and the translations was not gotten.

this commit is alternative change.

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

diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx
index 1f4ee798f7de..a3bd26d371b1 100644
--- a/cui/source/tabpages/border.cxx
+++ b/cui/source/tabpages/border.cxx
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1374,7 +1375,7 @@ void SvxBorderTabPage::FillPresetVS()
 {
 m_xWndPresets->InsertItem( nVSIdx );
 m_xWndPresets->SetItemImage(nVSIdx, 
m_aBorderImgVec[GetPresetImageId(nVSIdx) - 1]);
-m_xWndPresets->SetItemText( nVSIdx, CuiResId( GetPresetStringId( 
nVSIdx ) ) );
+m_xWndPresets->SetItemText( nVSIdx, SvxResId( GetPresetStringId( 
nVSIdx ) ) );
 }
 
 // show the control


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - connectivity/source

2022-01-04 Thread Krzysztof Hałasa (via logerrit)
 connectivity/source/drivers/mysqlc/mysqlc_connection.cxx |   10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

New commits:
commit 0c5e0dcd19403f967bc1ae46ebb8649b27b29b86
Author: Krzysztof Hałasa 
AuthorDate: Wed Dec 29 11:37:26 2021 +0100
Commit: Xisco Fauli 
CommitDate: Tue Jan 4 11:58:59 2022 +0100

tdf#134982: use the right protocol for Mysql/Mariadb

Thank you Krzysztof Hałasa for the patch!

Change-Id: Ib7532a716b7e0fa73f309e0a4f9af9e663e0d3df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127673
Reviewed-by: Lionel Mamane 
Reviewed-by: Adolfo Jayme Barrientos 
Tested-by: Jenkins
(cherry picked from commit 0143ec4d3d567edf16371c1d3c3981890b71)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127786
Reviewed-by: Xisco Fauli 

diff --git a/connectivity/source/drivers/mysqlc/mysqlc_connection.cxx 
b/connectivity/source/drivers/mysqlc/mysqlc_connection.cxx
index 4cf9e916f3df..4d11c893eb13 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_connection.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_connection.cxx
@@ -73,9 +73,6 @@ void OConnection::construct(const OUString& url, const 
Sequence&
 mysql_library_init(0, nullptr, nullptr);
 mysql_init(_mysql);
 
-// use TCP as connection
-mysql_protocol_type protocol = MYSQL_PROTOCOL_TCP;
-mysql_options(_mysql, MYSQL_OPT_PROTOCOL, );
 OString charset_name{ "utf8mb4" };
 mysql_options(_mysql, MYSQL_SET_CHARSET_NAME, charset_name.getStr());
 
@@ -164,15 +161,22 @@ void OConnection::construct(const OUString& url, const 
Sequence&
 OString pass_str = OUStringToOString(aPass, m_settings.encoding);
 OString schema_str = OUStringToOString(aDbName, m_settings.encoding);
 OString socket_str;
+
+// use TCP as connection by default
+mysql_protocol_type protocol = MYSQL_PROTOCOL_TCP;
 if (unixSocketPassed)
 {
 socket_str = OUStringToOString(sUnixSocket, m_settings.encoding);
+protocol = MYSQL_PROTOCOL_SOCKET;
 }
 else if (namedPipePassed)
 {
 socket_str = OUStringToOString(sNamedPipe, m_settings.encoding);
+protocol = MYSQL_PROTOCOL_PIPE;
 }
 
+mysql_options(_mysql, MYSQL_OPT_PROTOCOL, );
+
 // flags can also be passed as last parameter
 if (!mysql_real_connect(_mysql, host_str.getStr(), user_str.getStr(), 
pass_str.getStr(),
 schema_str.getStr(), nPort, socket_str.getStr(),


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

2022-01-04 Thread Miklos Vajna (via logerrit)
 xmlsecurity/source/helper/documentsignaturehelper.cxx |   28 ++
 1 file changed, 28 insertions(+)

New commits:
commit b737cf89a3e555ea81ff86fc0dd96d2a76a4dc4f
Author: Miklos Vajna 
AuthorDate: Tue Dec 21 14:06:56 2021 +0100
Commit: Miklos Vajna 
CommitDate: Tue Jan 4 12:22:12 2022 +0100

xmlsecurity: log the signature we read from the ZIP package

We can already see if a signature verification fails and what is the
content of the ZIP streams we hash.

Show what is the expected hash as well.

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

diff --git a/xmlsecurity/source/helper/documentsignaturehelper.cxx 
b/xmlsecurity/source/helper/documentsignaturehelper.cxx
index 77288e299cff..5c264f7885e6 100644
--- a/xmlsecurity/source/helper/documentsignaturehelper.cxx
+++ b/xmlsecurity/source/helper/documentsignaturehelper.cxx
@@ -29,6 +29,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #include 
@@ -362,6 +363,33 @@ SignatureStreamHelper 
DocumentSignatureHelper::OpenSignatureStream(
 else
 aSIGStreamName = 
DocumentSignatureHelper::GetPackageSignatureDefaultStreamName();
 
+#ifdef SAL_LOG_INFO
+aHelper.xSignatureStream
+= 
aHelper.xSignatureStorage->openStreamElement(aSIGStreamName, nOpenMode);
+SAL_INFO("xmlsecurity.helper",
+ "DocumentSignatureHelper::OpenSignatureStream: stream 
name is '"
+ << aSIGStreamName << "'");
+if (aHelper.xSignatureStream.is())
+{
+uno::Reference 
xInputStream(aHelper.xSignatureStream,
+  
uno::UNO_QUERY);
+sal_Int64 nSize = 0;
+uno::Reference 
xPropertySet(xInputStream, uno::UNO_QUERY);
+xPropertySet->getPropertyValue("Size") >>= nSize;
+if (nSize >= 0 || nSize < SAL_MAX_INT32)
+{
+uno::Sequence aData;
+xInputStream->readBytes(aData, nSize);
+SAL_INFO("xmlsecurity.helper",
+ 
"DocumentSignatureHelper::OpenSignatureStream: stream content is '"
+ << OString(reinterpret_cast(aData.getArray()),
+aData.getLength())
+ << "'");
+}
+}
+aHelper.xSignatureStream.clear();
+#endif
+
 aHelper.xSignatureStream = 
aHelper.xSignatureStorage->openStreamElement( aSIGStreamName, nOpenMode );
 }
 }


[Libreoffice-commits] core.git: Branch 'libreoffice-7-2' - sc/qa

2022-01-04 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/subsequent_filters-test2.cxx |   12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

New commits:
commit d5f36648643399ad63006a97a1f58b81690ccddf
Author: Xisco Fauli 
AuthorDate: Mon Jan 3 11:16:40 2022 +0100
Commit: Xisco Fauli 
CommitDate: Tue Jan 4 12:32:19 2022 +0100

CppunitTest_sc_subsequent_filters_test2: check format instead of string

Otherwise, this might fail. See 660e538ee77109bc3e7dff4491164d696e503abc
< Disable broken part of ScFiltersTest2::testTdf126116 >

Change-Id: I40534b70fc19ee163d9e6cb0c081fae40b81fdb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127774
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127776

diff --git a/sc/qa/unit/subsequent_filters-test2.cxx 
b/sc/qa/unit/subsequent_filters-test2.cxx
index 18a571e08537..35ad23deba54 100644
--- a/sc/qa/unit/subsequent_filters-test2.cxx
+++ b/sc/qa/unit/subsequent_filters-test2.cxx
@@ -1365,13 +1365,15 @@ void ScFiltersTest2::testTdf126116()
 
 rDoc.SetString(ScAddress(0, 0, 0), "03/03");
 
-// Get the current year from B1 with format YY
-OUString aYear = rDoc.GetString(ScAddress(1, 0, 0));
+sal_uInt32 nNumberFormat;
+rDoc.GetNumberFormat(0, 0, 0, nNumberFormat);
+const SvNumberformat* pNumberFormat = 
rDoc.GetFormatTable()->GetEntry(nNumberFormat);
+const OUString& rFormatStr = pNumberFormat->GetFormatstring();
 
 // Without the fix in place, this test would have failed with
-// - Expected: 03/03/21
-// - Actual  : 03/03/2021
-CPPUNIT_ASSERT_EQUAL(OUString("03/03/" + aYear), 
rDoc.GetString(ScAddress(0, 0, 0)));
+// - Expected: MM/DD/YY
+// - Actual  : MM/DD/
+CPPUNIT_ASSERT_EQUAL(OUString("MM/DD/YY"), rFormatStr);
 
 xDocSh->DoClose();
 }


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

2022-01-04 Thread Michael Meeks (via logerrit)
 sfx2/source/view/lokhelper.cxx |   13 -
 vcl/source/window/window2.cxx  |6 +++---
 2 files changed, 11 insertions(+), 8 deletions(-)

New commits:
commit f64fd5abf2a9cd7dd2cba9a57a4c8013cd634472
Author: Michael Meeks 
AuthorDate: Mon Jan 3 14:15:49 2022 +
Commit: Michael Meeks 
CommitDate: Tue Jan 4 14:39:14 2022 +0100

lokit: double check for disposed windows & fix leak.

it seems we can get windows disposed before we get to the emission.


vcl::Window::IsTracking() const vcl/source/window/window2.cxx:341
(anonymous namespace)::LOKPostAsyncEvent(void*, void*) 
sfx2/source/view/lokhelper.cxx:725
LokChartHelper::postMouseEvent(int, int, int, int, int, int, double, 
double) include/rtl/ref.hxx:112
SwXTextDocument::postMouseEvent(int, int, int, int, int, int) 
sw/source/uibase/uno/unotxdoc.cxx:3561

Change-Id: I93aea931dad1e7f43d3d610568424c53d2b22fbc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127898
Reviewed-by: Jan Holesovsky 
Tested-by: Jenkins CollaboraOffice 

diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index d8766225fcbe..a8dc5b5bf3b7 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -673,7 +673,7 @@ namespace
 
 void LOKPostAsyncEvent(void* pEv, void*)
 {
-LOKAsyncEventData* pLOKEv = static_cast(pEv);
+std::unique_ptr 
pLOKEv(static_cast(pEv));
 if (pLOKEv->mpWindow->IsDisposed())
 return;
 
@@ -694,6 +694,9 @@ namespace
 if (!pFocusWindow)
 pFocusWindow = pLOKEv->mpWindow;
 
+if (pLOKEv->mpWindow->IsDisposed())
+return;
+
 switch (pLOKEv->mnEvent)
 {
 case VclEventId::WindowKeyInput:
@@ -702,11 +705,13 @@ namespace
 KeyEvent singlePress(pLOKEv->maKeyEvent.GetCharCode(),
  pLOKEv->maKeyEvent.GetKeyCode());
 for (sal_uInt16 i = 0; i <= nRepeat; ++i)
-pFocusWindow->KeyInput(singlePress);
+if (!pFocusWindow->IsDisposed())
+pFocusWindow->KeyInput(singlePress);
 break;
 }
 case VclEventId::WindowKeyUp:
-pFocusWindow->KeyUp(pLOKEv->maKeyEvent);
+if (!pFocusWindow->IsDisposed())
+pFocusWindow->KeyUp(pLOKEv->maKeyEvent);
 break;
 case VclEventId::WindowMouseButtonDown:
 pLOKEv->mpWindow->LogicMouseButtonDown(pLOKEv->maMouseEvent);
@@ -737,8 +742,6 @@ namespace
 assert(false);
 break;
 }
-
-delete pLOKEv;
 }
 
 void postEventAsync(LOKAsyncEventData *pEvent)
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 8b2e145d0aae..811371b2396f 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -338,9 +338,9 @@ void Window::EndTracking( TrackingEventFlags nFlags )
 
 bool Window::IsTracking() const
 {
-return (mpWindowImpl->mbUseFrameData ?
-mpWindowImpl->mpFrameData->mpTrackWin == this :
-ImplGetSVData()->mpWinData->mpTrackWin == this);
+return mpWindowImpl && (mpWindowImpl->mbUseFrameData ?
+mpWindowImpl->mpFrameData->mpTrackWin == this :
+ImplGetSVData()->mpWinData->mpTrackWin == this);
 }
 
 void Window::StartAutoScroll( StartAutoScrollFlags nFlags )


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - include/svx svx/source

2022-01-04 Thread Armin Le Grand (Allotropia) (via logerrit)
 include/svx/framelinkarray.hxx   |3 
 svx/source/dialog/framelinkarray.cxx |  290 ---
 2 files changed, 235 insertions(+), 58 deletions(-)

New commits:
commit 446ade2ac0023a322cd464911c62df440b6663af
Author: Armin Le Grand (Allotropia) 
AuthorDate: Wed Dec 29 18:01:05 2021 +0100
Commit: Thorsten Behrens 
CommitDate: Tue Jan 4 14:46:18 2022 +0100

tdf#126269 Add clipping to diagonal border lines

See task for in-deep discussion. Needed to do some
re-arrangements to add clipping to diagonal border
lines. It is necessary to only clip visible geometry
but not touch vectors that get added to be able to
solve all that dynamic border line style start/end
overlapping.

Change-Id: I656a5cd63a011140ee1281873e44ab5e60606b67
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127713
Tested-by: Jenkins
Reviewed-by: Armin Le Grand 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127757
Reviewed-by: Thorsten Behrens 

diff --git a/include/svx/framelinkarray.hxx b/include/svx/framelinkarray.hxx
index 7cdfd90d794b..47faf2acc311 100644
--- a/include/svx/framelinkarray.hxx
+++ b/include/svx/framelinkarray.hxx
@@ -293,6 +293,9 @@ public:
 Returns total output range of merged ranges, if bExpandMerged is true. 
*/
 basegfx::B2DRange GetCellRange( size_t nCol, size_t nRow, bool 
bExpandMerged ) const;
 
+// return output range of given row/col range in logical coordinates
+basegfx::B2DRange GetB2DRange( sal_Int32 nFirstCol, sal_Int32 nFirstRow, 
sal_Int32 nLastCol, sal_Int32 nLastRow ) const;
+
 // mirroring
 
 /** Mirrors the entire array horizontally. */
diff --git a/svx/source/dialog/framelinkarray.cxx 
b/svx/source/dialog/framelinkarray.cxx
index 7419b1bb27fe..16f6c09e8d91 100644
--- a/svx/source/dialog/framelinkarray.cxx
+++ b/svx/source/dialog/framelinkarray.cxx
@@ -28,6 +28,13 @@
 #include 
 #include 
 #include 
+#include 
+
+//#define OPTICAL_CHECK_CLIPRANGE_FOR_MERGED_CELL
+#ifdef OPTICAL_CHECK_CLIPRANGE_FOR_MERGED_CELL
+#include 
+#include 
+#endif
 
 namespace svx::frame {
 
@@ -43,6 +50,9 @@ private:
 Style   maTLBR;
 Style   maBLTR;
 
+basegfx::B2DHomMatrix HelperCreateB2DHomMatrixFromB2DRange(
+const basegfx::B2DRange& rRange ) const;
+
 public:
 tools::LongmnAddLeft;
 tools::LongmnAddRight;
@@ -78,55 +88,90 @@ public:
 
 voidMirrorSelfX();
 
-basegfx::B2DHomMatrix CreateCoordinateSystem(const Array& rArray, size_t 
nCol, size_t nRow, bool bExpandMerged) const;
+basegfx::B2DHomMatrix CreateCoordinateSystemSingleCell(
+const Array& rArray, size_t nCol, size_t nRow ) const;
+basegfx::B2DHomMatrix CreateCoordinateSystemMergedCell(
+const Array& rArray, size_t nColLeft, size_t nRowTop, size_t 
nColRight, size_t nRowBottom ) const;
 };
 
 }
 
 typedef std::vector< Cell > CellVec;
 
-basegfx::B2DHomMatrix Cell::CreateCoordinateSystem(const Array& rArray, size_t 
nCol, size_t nRow, bool bExpandMerged) const
+basegfx::B2DHomMatrix Cell::HelperCreateB2DHomMatrixFromB2DRange(
+const basegfx::B2DRange& rRange ) const
 {
-basegfx::B2DHomMatrix aRetval;
-const basegfx::B2DRange aRange(rArray.GetCellRange(nCol, nRow, 
bExpandMerged));
+if( rRange.isEmpty() )
+return basegfx::B2DHomMatrix();
+
+basegfx::B2DPoint aOrigin(rRange.getMinimum());
+basegfx::B2DVector aX(rRange.getWidth(), 0.0);
+basegfx::B2DVector aY(0.0, rRange.getHeight());
 
-if(!aRange.isEmpty())
+if (IsRotated() && SvxRotateMode::SVX_ROTATE_MODE_STANDARD != meRotMode )
 {
-basegfx::B2DPoint aOrigin(aRange.getMinimum());
-basegfx::B2DVector aX(aRange.getWidth(), 0.0);
-basegfx::B2DVector aY(0.0, aRange.getHeight());
+// when rotated, adapt values. Get Skew (cos/sin == 1/tan)
+const double fSkew(aY.getY() * (cos(mfOrientation) / 
sin(mfOrientation)));
 
-if (IsRotated() && SvxRotateMode::SVX_ROTATE_MODE_STANDARD != 
meRotMode)
+switch (meRotMode)
 {
-// when rotated, adapt values. Get Skew (cos/sin == 1/tan)
-const double fSkew(aY.getY() * (cos(mfOrientation) / 
sin(mfOrientation)));
-
-switch (meRotMode)
-{
-case SvxRotateMode::SVX_ROTATE_MODE_TOP:
-// shear Y-Axis
-aY.setX(-fSkew);
-break;
-case SvxRotateMode::SVX_ROTATE_MODE_CENTER:
-// shear origin half, Y full
-aOrigin.setX(aOrigin.getX() + (fSkew * 0.5));
-aY.setX(-fSkew);
-break;
-case SvxRotateMode::SVX_ROTATE_MODE_BOTTOM:
-// shear origin full, Y full
-aOrigin.setX(aOrigin.getX() + fSkew);
-aY.setX(-fSkew);
-break;
-default: // 

[Libreoffice-commits] core.git: helpcontent2

2022-01-04 Thread Rafael Lima (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 348afc5b8ec8c4d8e215896137f32c636c1bc36e
Author: Rafael Lima 
AuthorDate: Tue Jan 4 13:13:29 2022 +0100
Commit: Gerrit Code Review 
CommitDate: Tue Jan 4 13:13:29 2022 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 082a62657dc9e89dc54c3299e47dd1f76c4c9de1
  - tdf#137887 Fix help links for Position and Size dialog

Change-Id: I9d7f1a90feabf8ec417e0b071a53df82995d126e
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/127781
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 816284668c5f..082a62657dc9 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 816284668c5fece9eaa275fb94899e8d57e2e502
+Subproject commit 082a62657dc9e89dc54c3299e47dd1f76c4c9de1


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

2022-01-04 Thread Rafael Lima (via logerrit)
 source/text/shared/01/05230100.xhp  |   20 
 source/text/swriter/01/05060100.xhp |   17 -
 2 files changed, 20 insertions(+), 17 deletions(-)

New commits:
commit 082a62657dc9e89dc54c3299e47dd1f76c4c9de1
Author: Rafael Lima 
AuthorDate: Mon Jan 3 18:49:17 2022 +0100
Commit: Olivier Hallot 
CommitDate: Tue Jan 4 13:13:25 2022 +0100

tdf#137887 Fix help links for Position and Size dialog

Change-Id: I9d7f1a90feabf8ec417e0b071a53df82995d126e
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/127781
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/source/text/shared/01/05230100.xhp 
b/source/text/shared/01/05230100.xhp
index c284e446b..8ac052e9f 100644
--- a/source/text/shared/01/05230100.xhp
+++ b/source/text/shared/01/05230100.xhp
@@ -40,6 +40,9 @@
 
 
 
+
+
+
 Position and 
Size
 Resizes or moves the selected object.
   
@@ -89,12 +92,15 @@
   
 
 
+
 Width
 Enter a width for the selected 
object.
 
+
 Height
 Enter a height for the selected 
object.
 
+
 Keep ratio
 Maintains the width and height ratio when 
changing the width or height setting in the dialog box.
 
@@ -106,6 +112,10 @@
 
 
   
+  
+  
+  
+  
   
 To frame
 Anchors 
the selection to the surrounding frame.
@@ -120,14 +130,24 @@
 
 Protect
 
+
 Position
 Prevents changes to the position and 
size of the selected object.
 
+
 Size
 Prevents you from resizing the 
object.
 
   
+
+
+
+
 
+
+
+
+
 
 
   
diff --git a/source/text/swriter/01/05060100.xhp 
b/source/text/swriter/01/05060100.xhp
index f550d35b4..fa12c519f 100644
--- a/source/text/swriter/01/05060100.xhp
+++ b/source/text/swriter/01/05060100.xhp
@@ -32,8 +32,6 @@
 UFI: new index entries, see i54237
 
 
-
-
 Type
 Specifies the size and the position of the selected object or frame on 
a page.
   
@@ -43,7 +41,6 @@
 
   Size
   
-  
   Width
   Enter the width that you want for the selected 
object.
   
@@ -53,7 +50,6 @@
   Relative width relation
   Decides what 100% width 
means: either text area (excluding margins) or the entire page (including 
margins).
   
-  
   Height
   Enter the height that you want for the selected 
object.
   
@@ -63,7 +59,6 @@
   Relative height relation
   Decides what 100% height 
means: either text area (excluding margins) or the entire page (including 
margins).
   
-  
   Keep ratio
   Maintains the height and width ratio when you change the width or the 
height setting.
   
@@ -80,19 +75,15 @@
 Anchor
 Specify 
the anchoring options for the selected object or frame. The anchor options are 
not available when you open the dialog from the Styles window.
 
-
 To page
 Anchors the selection to the current page.
 
-
 To paragraph
 Anchors the selection to the current paragraph.
 
-
 To character
 Anchors the selection to a character.
 
-
 As character
 Anchors the selection as character. The height of the current line is 
resized to match the height of the selection.
   
@@ -101,15 +92,12 @@
 Position
 Specify 
the location of the selected object on the current page.
 
-
 Horizontal
 Select the horizontal alignment option for the object. This 
option is not available if you chose "anchor as character".
 
-
 by
 Enter the amount of space to leave between the left edge of the 
selected object and the reference point that you select in the To 
box. This option is only available if you select "From Left" in the 
Horizontal box.
 
-
 to
 Select the reference point for the selected horizontal alignment 
option. The following options are available:
 
@@ -148,7 +136,6 @@
   You can see the result of the alignments 
options that you select in the Preview box.
 
 
-
 Mirror on even pages
 Reverses the current horizontal alignment settings on even 
pages.
   
@@ -156,16 +143,13 @@
 
   
 
-
 Vertical
 Select the vertical alignment option for the object.
 If you anchor 
an object to a frame with a fixed height, only the "Bottom" and "Center" 
alignment options are available.
 
-
 by
 Enter the amount of space to leave between the top edge of the selected 
object and the reference point that you select in the To 
box. This option is only available if you select "From Top" or "From 
Bottom" (as character) in the Vertical box. 
 
-
 to
 Select the reference point for the selected vertical alignment 
option. The following options are available:
 
@@ -197,7 +181,6 @@
 
 
 
-
   
 
   


[Libreoffice-commits] core.git: extensions/source sc/source vcl/quartz

2022-01-04 Thread Tor Lillqvist (via logerrit)
 extensions/source/ole/unoobjw.cxx  |3 ---
 sc/source/core/tool/calcconfig.cxx |2 --
 vcl/quartz/salgdi.cxx  |1 -
 3 files changed, 6 deletions(-)

New commits:
commit 31808345ffd97dfe9d542eae17fadb98148b29c6
Author: Tor Lillqvist 
AuthorDate: Tue Jan 4 13:03:28 2022 +0200
Commit: Tor Lillqvist 
CommitDate: Tue Jan 4 13:40:42 2022 +0100

Drop also commented-out obfuscated SAL_DEBUG calls

Change-Id: I7bc8ee2e5e989e41fcc0b6f96c5b2b8f151cdd3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127937
Tested-by: Tor Lillqvist 
Reviewed-by: Tor Lillqvist 

diff --git a/extensions/source/ole/unoobjw.cxx 
b/extensions/source/ole/unoobjw.cxx
index 034d7cec62a1..28286bddb1e3 100644
--- a/extensions/source/ole/unoobjw.cxx
+++ b/extensions/source/ole/unoobjw.cxx
@@ -2375,9 +2375,7 @@ Sink::Call( const OUString& Method, Sequence< Any >& 
Arguments )
 aDispParams.rgvarg[j].vt |= VT_BYREF;
 break;
 case VT_BOOL:
-// SAL_ DEBUG("===> VT_BOOL is initially " << 
(int)aDispParams.rgvarg[j].boolVal);
 aDispParams.rgvarg[j].byref = new 
VARIANT_BOOL(aDispParams.rgvarg[j].boolVal);
-// SAL_ DEBUG(" byref=" << 
aDispParams.rgvarg[j].byref);
 aDispParams.rgvarg[j].vt |= VT_BYREF;
 break;
 default:
@@ -2443,7 +2441,6 @@ Sink::Call( const OUString& Method, Sequence< Any >& 
Arguments )
 case VT_BYREF|VT_BOOL:
 {
 VARIANT_BOOL *pBool = 
static_cast(aDispParams.rgvarg[j].byref);
-// SAL_ DEBUG("===> VT_BOOL: byref is now " << 
aDispParams.rgvarg[j].byref << ", " << (int)*pBool);
 ArgumentsRange[nIncomingArgIndex] <<= (*pBool != 
VARIANT_FALSE);
 delete pBool;
 }
diff --git a/sc/source/core/tool/calcconfig.cxx 
b/sc/source/core/tool/calcconfig.cxx
index adb51efdf1ff..f1673e0ebe68 100644
--- a/sc/source/core/tool/calcconfig.cxx
+++ b/sc/source/core/tool/calcconfig.cxx
@@ -95,8 +95,6 @@ ScCalcConfig::ScCalcConfig() :
 mbHasStringRefSyntax(false)
 {
 setOpenCLConfigToDefault();
-
-// SAL _DEBUG(__FILE__ ":" << __LINE__ << ": ScCalcConfig::ScCalcConfig(): 
" << *this);
 }
 
 void ScCalcConfig::setOpenCLConfigToDefault()
diff --git a/vcl/quartz/salgdi.cxx b/vcl/quartz/salgdi.cxx
index 9928cc4df3a2..51ffda669832 100644
--- a/vcl/quartz/salgdi.cxx
+++ b/vcl/quartz/salgdi.cxx
@@ -252,7 +252,6 @@ SalGraphicsImpl* AquaSalGraphics::GetImpl() const
 void AquaSalGraphics::SetTextColor( Color nColor )
 {
 maShared.maTextColor = nColor;
-// SAL_ DEBUG(std::hex << nColor << std::dec << "={" << 
maShared.maTextColor.GetRed() << ", " << maShared.maTextColor.GetGreen() << ", 
" << maShared.maTextColor.GetBlue() << ", " << maShared.maTextColor.GetAlpha() 
<< "}");
 }
 
 void AquaSalGraphics::GetFontMetric(ImplFontMetricDataRef& rxFontMetric, int 
nFallbackLevel)


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

2022-01-04 Thread Michael Meeks (via logerrit)
 sfx2/source/view/lokhelper.cxx |   11 +++
 vcl/source/window/window2.cxx  |2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

New commits:
commit 7ba99b8d6da07c2133c644de4d1a3613a9fa5a68
Author: Michael Meeks 
AuthorDate: Mon Jan 3 14:15:49 2022 +
Commit: Michael Meeks 
CommitDate: Tue Jan 4 15:44:38 2022 +0100

lokit: double check for disposed windows & fix leak.

it seems we can get windows disposed before we get to the emission.


vcl::Window::IsTracking() const vcl/source/window/window2.cxx:341
(anonymous namespace)::LOKPostAsyncEvent(void*, void*) 
sfx2/source/view/lokhelper.cxx:725
LokChartHelper::postMouseEvent(int, int, int, int, int, int, double, 
double) include/rtl/ref.hxx:112
SwXTextDocument::postMouseEvent(int, int, int, int, int, int) 
sw/source/uibase/uno/unotxdoc.cxx:3561

Change-Id: I93aea931dad1e7f43d3d610568424c53d2b22fbc
Signed-off-by: Michael Meeks 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127907

diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index cd93f9b4dd55..cb8194c1cabf 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -679,9 +679,7 @@ namespace
 {
 std::unique_ptr 
pLOKEv(static_cast(pEv));
 if (pLOKEv->mpWindow->isDisposed())
-{
 return;
-}
 
 int nView = SfxLokHelper::getView(nullptr);
 if (nView != pLOKEv->mnView)
@@ -700,6 +698,9 @@ namespace
 if (!pFocusWindow)
 pFocusWindow = pLOKEv->mpWindow;
 
+if (pLOKEv->mpWindow->isDisposed())
+return;
+
 switch (pLOKEv->mnEvent)
 {
 case VclEventId::WindowKeyInput:
@@ -708,11 +709,13 @@ namespace
 KeyEvent singlePress(pLOKEv->maKeyEvent.GetCharCode(),
  pLOKEv->maKeyEvent.GetKeyCode());
 for (sal_uInt16 i = 0; i <= nRepeat; ++i)
-pFocusWindow->KeyInput(singlePress);
+if (!pFocusWindow->isDisposed())
+pFocusWindow->KeyInput(singlePress);
 break;
 }
 case VclEventId::WindowKeyUp:
-pFocusWindow->KeyUp(pLOKEv->maKeyEvent);
+if (!pFocusWindow->isDisposed())
+pFocusWindow->KeyUp(pLOKEv->maKeyEvent);
 break;
 case VclEventId::WindowMouseButtonDown:
 pLOKEv->mpWindow->LogicMouseButtonDown(pLOKEv->maMouseEvent);
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index af4aeb10a564..1383bad0888f 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -311,7 +311,7 @@ void Window::EndTracking( TrackingEventFlags nFlags )
 
 bool Window::IsTracking() const
 {
-return (ImplGetSVData()->mpWinData->mpTrackWin == this);
+return mpWindowImpl && (ImplGetSVData()->mpWinData->mpTrackWin == this);
 }
 
 void Window::StartAutoScroll( StartAutoScrollFlags nFlags )


[Libreoffice-commits] core.git: vcl/headless vcl/inc

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/CairoCommon.cxx |   13 +
 vcl/headless/svpgdi.cxx  |   13 -
 vcl/inc/headless/CairoCommon.hxx |2 ++
 3 files changed, 15 insertions(+), 13 deletions(-)

New commits:
commit 971b029308c527737d4085559e91fa8495b93d9c
Author: Tomaž Vajngerl 
AuthorDate: Tue Dec 28 14:12:19 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Tue Jan 4 13:48:54 2022 +0100

vcl: move Toggle1BitTransparency to CairoCommon

Intermediate step beore moving bitmap related members.

Change-Id: Iaa30fd53d3b14c08fd502b33d370950569994139
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127922
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 5316b88e699f..6194d976ab7b 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -1160,4 +1160,17 @@ std::unique_ptr 
FastConvert24BitRgbTo32BitCairo(const BitmapBuffer
 return pDst;
 }
 
+void Toggle1BitTransparency(const BitmapBuffer& rBuf)
+{
+assert(rBuf.maPalette.GetBestIndex(BitmapColor(COL_BLACK)) == 0);
+// TODO: make upper layers use standard alpha
+if (getCairoFormat(rBuf) == CAIRO_FORMAT_A1)
+{
+const int nImageSize = rBuf.mnHeight * rBuf.mnScanlineSize;
+unsigned char* pDst = rBuf.mpBits;
+for (int i = nImageSize; --i >= 0; ++pDst)
+*pDst = ~*pDst;
+}
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index 25f385a8396a..92c0cbe39fbb 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -59,19 +59,6 @@
 
 namespace
 {
-void Toggle1BitTransparency(const BitmapBuffer& rBuf)
-{
-assert(rBuf.maPalette.GetBestIndex(BitmapColor(COL_BLACK)) == 0);
-// TODO: make upper layers use standard alpha
-if (getCairoFormat(rBuf) == CAIRO_FORMAT_A1)
-{
-const int nImageSize = rBuf.mnHeight * rBuf.mnScanlineSize;
-unsigned char* pDst = rBuf.mpBits;
-for (int i = nImageSize; --i >= 0; ++pDst)
-*pDst = ~*pDst;
-}
-}
-
 // check for env var that decides for using downscale pattern
 const char* pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
 bool bDisableDownScale(nullptr != pDisableDownScale);
diff --git a/vcl/inc/headless/CairoCommon.hxx b/vcl/inc/headless/CairoCommon.hxx
index c79b2297e106..b1f6a8198a60 100644
--- a/vcl/inc/headless/CairoCommon.hxx
+++ b/vcl/inc/headless/CairoCommon.hxx
@@ -125,6 +125,8 @@ VCL_DLLPUBLIC cairo_format_t getCairoFormat(const 
BitmapBuffer& rBuffer);
 VCL_DLLPUBLIC std::unique_ptr
 FastConvert24BitRgbTo32BitCairo(const BitmapBuffer* pSrc);
 
+VCL_DLLPUBLIC void Toggle1BitTransparency(const BitmapBuffer& rBuf);
+
 enum class PaintMode
 {
 Over,


[Libreoffice-commits] dictionaries.git: Branch 'libreoffice-7-3' - fr_FR/hyph_fr.dic fr_FR/hyph-fr.tex fr_FR/README_hyph_fr.txt

2022-01-04 Thread Olivier R (via logerrit)
 fr_FR/README_hyph_fr.txt |  137 ++---
 fr_FR/hyph-fr.tex|  119 +---
 fr_FR/hyph_fr.dic| 1228 ---
 3 files changed, 754 insertions(+), 730 deletions(-)

New commits:
commit ea693b5eae635edf5c6da4cda695724b335a8681
Author: Olivier R 
AuthorDate: Thu Dec 30 14:28:13 2021 +0100
Commit: Adolfo Jayme Barrientos 
CommitDate: Tue Jan 4 15:40:55 2022 +0100

Update French hyphenation rules

Change-Id: Iece44334bc101a97f6297d13b24b2fc764ffc7f5
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/127910
Tested-by: Andras Timar 
Reviewed-by: Andras Timar 
(cherry picked from commit 3fc3d99f071693dd40a78ba1f729ef47dc189692)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/127780
Tested-by: Adolfo Jayme Barrientos 
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/fr_FR/README_hyph_fr.txt b/fr_FR/README_hyph_fr.txt
index dbb7210..3f35865 100644
--- a/fr_FR/README_hyph_fr.txt
+++ b/fr_FR/README_hyph_fr.txt
@@ -1,70 +1,87 @@
-_
+___
 
   Motifs de division des mots pour le français (fr)
-  Version 3.0
-
-  Licence : GNU LGPL.
-
-  Origine : Basé sur les motifs de division de TeX *hyph-fr.tex*,
-version renommée (juin 2008) du fichier *frhyph.tex* (V2.12, 
2002/12/11)
-pour la cohérence avec d'autres fichiers de motifs de division
-de la collection hyph-utf8. Voir http://tug.org/tex-hyphen
-pour plus d'informations.
-Les motifs de division de TeX sont publiés sous la licence LaTeX
-Project Public License (LPPL)  --  
http://www.latex-project.org/lppl.txt
-
-  Licence : Les adaptations pour OpenOffice.org sont publiées sous la licence 
-GNU Lesser General Public License (LGPL)
-version 2.1 ou supérieure  --  http://www.gnu.org/licenses/
+  Version 4.0 (2021-11-06)
+
+  Licence :
+GNU LGPL
+
+  Origine :
+Basé sur le fichier des motifs de division de TeX *hyph-fr.tex*,
+version renommée, en juin 2008, du fichier *frhyph.tex* (V2.12,
+2002/12/11) pour la cohérence avec d'autres fichiers de motifs
+de division de la collection hyph-utf8. Pour plus d'informations,
+voyez sous ce lien : https://ctan.org/tex-archive/language/hyph-utf8.
+Initialement distribué sous la licence LPPL (LaTeX Project Public
+License), le fichier *hyph-fr.tex* (v2.12) a été distribué sous
+la licence MIT (https://opensource.org/licenses/MIT) à compter
+du 20 mars 2016.
+
+  Licence :
+Les adaptations pour LibreOffice et OpenOffice sont publiées sous la
+licence GNU Lesser General Public License (LGPL) version 2.1 ou
+supérieure.
+Voir sous ce lien: http://www.gnu.org/licenses/
 
   Auteurs :
-3.0 Marc Lodewijck 
-2.0 Paul Pichaureau 
-1.0 Blaise Drayer 
+3.0-4.0   Marc Lodewijck 
+2.0   Paul Pichaureau 
+1.0   Blaise Drayer 
 
   Journal :
-3.0 Nouvelle version révisée et augmentée :
-  +  Conversion au format de codage Unicode UTF-8
-  +  Traitement des noms composés à trait d'union
-  +  Redressement de motifs altérés
-2.0 Traitement des mots avec apostrophe
-1.0 Première conversion
-
-  Ce dictionnaire devrait être conforme à toutes les variantes régionales du
-  français.
-
-_
-
-  French word hyphenation patterns
-  Version 3.0
-
-  Language: French (fr).
-
-  License:  GNU LGPL.
-
-  Origin:   Based on the TeX hyphenation tables *hyph-fr.tex*,
-renamed (June 2008) from *frhyph.tex* (V2.12, 2002/12/11)
-for consistency with other files with hyphenation patterns
-in hyph-utf8 package. See http://tug.org/tex-hyphen for more 
details.
-The TeX hyphenation tables are released under the LaTeX Project
-Public License (LPPL)  --  http://www.latex-project.org/lppl.txt
-
-  License:  OpenOffice.org adaptions of this package are licensed under the
-GNU Lesser General Public License (LGPL)
-version 2.1 or higher  --  http://www.gnu.org/licenses/
+4.0   Adaptation des motifs avec trait d'union, ajout de motifs,
+  suppression des mots-clefs COMPOUNDLEFTHYPHENMIN
+  et COMPOUNDRIGHTHYPHENMIN (inutilisés)
+3.0.1 Correction : COUMPOUNDLEFTHYPHENMIN -> COMPOUNDLEFTHYPHENMIN
+3.0   Nouvelle version révisée et augmentée :
+  + Conversion au format UTF-8
+  + Traitement des noms composés à trait d'union
+  + Redressement de motifs altérés

[Libreoffice-commits] core.git: vcl/headless vcl/inc

2022-01-04 Thread Tomaž Vajngerl (via logerrit)
 vcl/headless/CairoCommon.cxx |  124 +++
 vcl/headless/svpgdi.cxx  |  136 ---
 vcl/inc/headless/CairoCommon.hxx |   27 +++
 3 files changed, 151 insertions(+), 136 deletions(-)

New commits:
commit eee703970581545b56f3b2faa5b5911923ec28ea
Author: Tomaž Vajngerl 
AuthorDate: Tue Dec 28 14:21:03 2021 +0900
Commit: Tomaž Vajngerl 
CommitDate: Tue Jan 4 15:16:30 2022 +0100

vcl: move SurfaceHelper class to CairoCommon

Intermediate step beore moving bitmap related members.

Change-Id: Icf2d4cfb787dfb029f299cba4b4ffabae563bf6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127923
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 

diff --git a/vcl/headless/CairoCommon.cxx b/vcl/headless/CairoCommon.cxx
index 6194d976ab7b..94ca2c3158be 100644
--- a/vcl/headless/CairoCommon.cxx
+++ b/vcl/headless/CairoCommon.cxx
@@ -1173,4 +1173,128 @@ void Toggle1BitTransparency(const BitmapBuffer& rBuf)
 }
 }
 
+namespace
+{
+// check for env var that decides for using downscale pattern
+const char* pDisableDownScale(getenv("SAL_DISABLE_CAIRO_DOWNSCALE"));
+bool bDisableDownScale(nullptr != pDisableDownScale);
+}
+
+cairo_surface_t* SurfaceHelper::implCreateOrReuseDownscale(unsigned long 
nTargetWidth,
+   unsigned long 
nTargetHeight)
+{
+const unsigned long nSourceWidth(cairo_image_surface_get_width(pSurface));
+const unsigned long 
nSourceHeight(cairo_image_surface_get_height(pSurface));
+
+// zoomed in, need to stretch at paint, no pre-scale useful
+if (nTargetWidth >= nSourceWidth || nTargetHeight >= nSourceHeight)
+{
+return pSurface;
+}
+
+// calculate downscale factor
+unsigned long nWFactor(1);
+unsigned long nW((nSourceWidth + 1) / 2);
+unsigned long nHFactor(1);
+unsigned long nH((nSourceHeight + 1) / 2);
+
+while (nW > nTargetWidth && nW > 1)
+{
+nW = (nW + 1) / 2;
+nWFactor *= 2;
+}
+
+while (nH > nTargetHeight && nH > 1)
+{
+nH = (nH + 1) / 2;
+nHFactor *= 2;
+}
+
+if (1 == nWFactor && 1 == nHFactor)
+{
+// original size *is* best binary size, use it
+return pSurface;
+}
+
+// go up one scale again - look for no change
+nW = (1 == nWFactor) ? nTargetWidth : nW * 2;
+nH = (1 == nHFactor) ? nTargetHeight : nH * 2;
+
+// check if we have a downscaled version of required size
+// bail out if the multiplication for the key would overflow
+if (nW >= SAL_MAX_UINT32 || nH >= SAL_MAX_UINT32)
+return pSurface;
+const sal_uInt64 key((nW * static_cast(SAL_MAX_UINT32)) + nH);
+auto isHit(maDownscaled.find(key));
+
+if (isHit != maDownscaled.end())
+{
+return isHit->second;
+}
+
+// create new surface in the targeted size
+cairo_surface_t* pSurfaceTarget
+= cairo_surface_create_similar(pSurface, 
cairo_surface_get_content(pSurface), nW, nH);
+
+// made a version to scale self first that worked well, but would've
+// been hard to support CAIRO_FORMAT_A1 including bit shifting, so
+// I decided to go with cairo itself - use CAIRO_FILTER_FAST or
+// CAIRO_FILTER_GOOD though. Please modify as needed for
+// performance/quality
+cairo_t* cr = cairo_create(pSurfaceTarget);
+const double fScaleX(static_cast(nW) / 
static_cast(nSourceWidth));
+const double fScaleY(static_cast(nH) / 
static_cast(nSourceHeight));
+cairo_scale(cr, fScaleX, fScaleY);
+cairo_set_source_surface(cr, pSurface, 0.0, 0.0);
+cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_GOOD);
+cairo_paint(cr);
+cairo_destroy(cr);
+
+// need to set device_scale for downscale surfaces to get
+// them handled correctly
+cairo_surface_set_device_scale(pSurfaceTarget, fScaleX, fScaleY);
+
+// add entry to cached entries
+maDownscaled[key] = pSurfaceTarget;
+
+return pSurfaceTarget;
+}
+
+bool SurfaceHelper::isTrivial() const
+{
+constexpr unsigned long nMinimalSquareSizeToBuffer(64 * 64);
+const unsigned long nSourceWidth(cairo_image_surface_get_width(pSurface));
+const unsigned long 
nSourceHeight(cairo_image_surface_get_height(pSurface));
+
+return nSourceWidth * nSourceHeight < nMinimalSquareSizeToBuffer;
+}
+
+SurfaceHelper::SurfaceHelper()
+: pSurface(nullptr)
+{
+}
+
+SurfaceHelper::~SurfaceHelper()
+{
+cairo_surface_destroy(pSurface);
+for (auto& candidate : maDownscaled)
+{
+cairo_surface_destroy(candidate.second);
+}
+}
+
+cairo_surface_t* SurfaceHelper::getSurface(unsigned long nTargetWidth,
+   unsigned long nTargetHeight) const
+{
+if (bDisableDownScale || 0 == nTargetWidth || 0 == nTargetHeight || 
!pSurface || isTrivial())
+{
+// caller asks for original or disabled or trivial (smaller then 

[Libreoffice-commits] core.git: Branch 'libreoffice-7-2' - sc/qa

2022-01-04 Thread Stephan Bergmann (via logerrit)
 sc/qa/unit/functions_array.cxx |   16 
 1 file changed, 16 insertions(+)

New commits:
commit 899f01f258326f573bb97aecad6709e5b0224364
Author: Stephan Bergmann 
AuthorDate: Mon Dec 13 11:29:56 2021 +0100
Commit: Eike Rathke 
CommitDate: Tue Jan 4 15:49:55 2022 +0100

For now, disable tests giving dubious results on AArch64

when built with -ffp-contract enabled (-ffp-contract=on default on Clang 14
trunk since


"Making the code compliant to the documentation about Floating Point", cf.
19559ebbee160d1625d06feec7e6566772dad231 "Allow for a presumably more 
precise
result of BESSELY(80,9)"; and -ffp-contract=fast default when building with
optimizations on GCC) on both Linux (with
6cb20e0b298f41fe88984aebfe5454f936a0ae3a "Disable
CppunitTset_sc_*_functions_test for linux_aarch64 for now, too" reverted) 
and
macOS.

Change-Id: Ie867d999173410ec9868bd14c0ee04bbba371920
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126727
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit 72b25619960cdaa829c8ea10e27d9c0b20a2c26f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127785
Reviewed-by: Eike Rathke 

diff --git a/sc/qa/unit/data/functions/array/fods/linest.fods 
b/sc/qa/unit/data/functions/array/dubious/fods/linest.fods
similarity index 100%
rename from sc/qa/unit/data/functions/array/fods/linest.fods
rename to sc/qa/unit/data/functions/array/dubious/fods/linest.fods
diff --git a/sc/qa/unit/data/functions/array/fods/minverse.fods 
b/sc/qa/unit/data/functions/array/dubious/fods/minverse.fods
similarity index 100%
rename from sc/qa/unit/data/functions/array/fods/minverse.fods
rename to sc/qa/unit/data/functions/array/dubious/fods/minverse.fods
diff --git a/sc/qa/unit/functions_array.cxx b/sc/qa/unit/functions_array.cxx
index 00a17de34fd6..88a4b70d7c29 100644
--- a/sc/qa/unit/functions_array.cxx
+++ b/sc/qa/unit/functions_array.cxx
@@ -6,9 +6,11 @@ public:
 ArrayFunctionsTest();
 
 void testArrayFormulasFODS();
+void testDubiousArrayFormulasFODS();
 
 CPPUNIT_TEST_SUITE(ArrayFunctionsTest);
 CPPUNIT_TEST(testArrayFormulasFODS);
+CPPUNIT_TEST(testDubiousArrayFormulasFODS);
 CPPUNIT_TEST_SUITE_END();
 
 };
@@ -21,6 +23,20 @@ void ArrayFunctionsTest::testArrayFormulasFODS()
 FODS_FORMAT_TYPE, SotClipboardFormatId::NONE, 0, false);
 }
 
+void ArrayFunctionsTest::testDubiousArrayFormulasFODS()
+{
+//TODO: sc/qa/unit/data/functions/array/dubious/fods/linest.fods produces 
widely different
+// values when built with -ffp-contract enabled (-ffp-contract=on default 
on Clang 14,
+// -ffp-contract=fast default when building with optimizations on GCC) on 
at least aarch64:
+#if !((defined __clang__ || defined __GNUC__) && defined __aarch64__)
+OUString aDirectoryURL
+= 
m_directories.getURLFromSrc(u"/sc/qa/unit/data/functions/array/dubious/fods/");
+recursiveScan(test::pass, "OpenDocument Spreadsheet Flat XML", 
aDirectoryURL,
+
"com.sun.star.comp.filter.OdfFlatXml,,com.sun.star.comp.Calc.XMLOasisImporter,com.sun.star.comp.Calc.XMLOasisExporter,,,true",
+FODS_FORMAT_TYPE, SotClipboardFormatId::NONE, 0, false);
+#endif
+}
+
 ArrayFunctionsTest::ArrayFunctionsTest():
 FunctionsTest("sc/qa/unit/data/functions/array/fods/")
 {


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - sc/qa

2022-01-04 Thread Stephan Bergmann (via logerrit)
 sc/qa/unit/functions_array.cxx |   16 
 1 file changed, 16 insertions(+)

New commits:
commit 665131cf4be77594e4a8352f2d4a38446b69906a
Author: Stephan Bergmann 
AuthorDate: Mon Dec 13 11:29:56 2021 +0100
Commit: Eike Rathke 
CommitDate: Tue Jan 4 15:49:35 2022 +0100

For now, disable tests giving dubious results on AArch64

when built with -ffp-contract enabled (-ffp-contract=on default on Clang 14
trunk since


"Making the code compliant to the documentation about Floating Point", cf.
19559ebbee160d1625d06feec7e6566772dad231 "Allow for a presumably more 
precise
result of BESSELY(80,9)"; and -ffp-contract=fast default when building with
optimizations on GCC) on both Linux (with
6cb20e0b298f41fe88984aebfe5454f936a0ae3a "Disable
CppunitTset_sc_*_functions_test for linux_aarch64 for now, too" reverted) 
and
macOS.

Change-Id: Ie867d999173410ec9868bd14c0ee04bbba371920
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126727
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit 72b25619960cdaa829c8ea10e27d9c0b20a2c26f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127784
Reviewed-by: Eike Rathke 

diff --git a/sc/qa/unit/data/functions/array/fods/linest.fods 
b/sc/qa/unit/data/functions/array/dubious/fods/linest.fods
similarity index 100%
rename from sc/qa/unit/data/functions/array/fods/linest.fods
rename to sc/qa/unit/data/functions/array/dubious/fods/linest.fods
diff --git a/sc/qa/unit/data/functions/array/fods/minverse.fods 
b/sc/qa/unit/data/functions/array/dubious/fods/minverse.fods
similarity index 100%
rename from sc/qa/unit/data/functions/array/fods/minverse.fods
rename to sc/qa/unit/data/functions/array/dubious/fods/minverse.fods
diff --git a/sc/qa/unit/functions_array.cxx b/sc/qa/unit/functions_array.cxx
index 00a17de34fd6..88a4b70d7c29 100644
--- a/sc/qa/unit/functions_array.cxx
+++ b/sc/qa/unit/functions_array.cxx
@@ -6,9 +6,11 @@ public:
 ArrayFunctionsTest();
 
 void testArrayFormulasFODS();
+void testDubiousArrayFormulasFODS();
 
 CPPUNIT_TEST_SUITE(ArrayFunctionsTest);
 CPPUNIT_TEST(testArrayFormulasFODS);
+CPPUNIT_TEST(testDubiousArrayFormulasFODS);
 CPPUNIT_TEST_SUITE_END();
 
 };
@@ -21,6 +23,20 @@ void ArrayFunctionsTest::testArrayFormulasFODS()
 FODS_FORMAT_TYPE, SotClipboardFormatId::NONE, 0, false);
 }
 
+void ArrayFunctionsTest::testDubiousArrayFormulasFODS()
+{
+//TODO: sc/qa/unit/data/functions/array/dubious/fods/linest.fods produces 
widely different
+// values when built with -ffp-contract enabled (-ffp-contract=on default 
on Clang 14,
+// -ffp-contract=fast default when building with optimizations on GCC) on 
at least aarch64:
+#if !((defined __clang__ || defined __GNUC__) && defined __aarch64__)
+OUString aDirectoryURL
+= 
m_directories.getURLFromSrc(u"/sc/qa/unit/data/functions/array/dubious/fods/");
+recursiveScan(test::pass, "OpenDocument Spreadsheet Flat XML", 
aDirectoryURL,
+
"com.sun.star.comp.filter.OdfFlatXml,,com.sun.star.comp.Calc.XMLOasisImporter,com.sun.star.comp.Calc.XMLOasisExporter,,,true",
+FODS_FORMAT_TYPE, SotClipboardFormatId::NONE, 0, false);
+#endif
+}
+
 ArrayFunctionsTest::ArrayFunctionsTest():
 FunctionsTest("sc/qa/unit/data/functions/array/fods/")
 {


[Libreoffice-commits] core.git: Branch 'libreoffice-7-3' - dictionaries

2022-01-04 Thread Olivier R (via logerrit)
 dictionaries |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9304400272b7bc89e6c5a71a16efbca06b4f602c
Author: Olivier R 
AuthorDate: Tue Jan 4 15:40:58 2022 +0100
Commit: Gerrit Code Review 
CommitDate: Tue Jan 4 15:40:58 2022 +0100

Update git submodules

* Update dictionaries from branch 'libreoffice-7-3'
  to ea693b5eae635edf5c6da4cda695724b335a8681
  - Update French hyphenation rules

Change-Id: Iece44334bc101a97f6297d13b24b2fc764ffc7f5
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/127910
Tested-by: Andras Timar 
Reviewed-by: Andras Timar 
(cherry picked from commit 3fc3d99f071693dd40a78ba1f729ef47dc189692)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/127780
Tested-by: Adolfo Jayme Barrientos 
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/dictionaries b/dictionaries
index 61ac51bc1274..ea693b5eae63 16
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit 61ac51bc1274b0b1ee880c61a6cc95f526073a63
+Subproject commit ea693b5eae635edf5c6da4cda695724b335a8681


Re: problem creating png files with libreoffice

2022-01-04 Thread giuseppecotellessa
As a simple user I prefer directly. At the moment I usually save the file in 
pdf format and then I convert it to png with the converters I find on the 
internet.
Thanks very much-
> Il 04/01/2022 08:47 Miklos Vajna  ha scritto:
> 
>  
> Hi,
> 
> On Mon, Jan 03, 2022 at 02:08:25PM +0100, giuseppecotelle...@virgilio.it 
> wrote:
> > I can't create png files by libreoffice. Is it possible?
> 
> Hrm, do you mean doing that on the UI or are you looking for some API to
> do so?
> 
> Assuming the later (this is the development list), in what format do you
> have the bitmap that would be exported to PNG?
> 
> Regards,
> 
> Miklos


Re: problem creating png files with libreoffice

2022-01-04 Thread Robert Marcano

On 1/4/22 8:01 AM, giuseppecotelle...@virgilio.it wrote:

As a simple user I prefer directly. At the moment I usually save the file in 
pdf format and then I convert it to png with the converters I find on the 
internet.


Greetings, as already said, this a LibreOffice developer lists used for 
development discussions. You could get better comunity support on one of 
these places listed at 
https://www.libreoffice.org/get-help/community-support/ in the future.


That being said, you can export as PNG (page by page) from the File -> 
Export dialog, changing the output format (Save As Type) to PNG.



Thanks very much-

Il 04/01/2022 08:47 Miklos Vajna  ha scritto:

  
Hi,


On Mon, Jan 03, 2022 at 02:08:25PM +0100, giuseppecotelle...@virgilio.it wrote:

I can't create png files by libreoffice. Is it possible?


Hrm, do you mean doing that on the UI or are you looking for some API to
do so?

Assuming the later (this is the development list), in what format do you
have the bitmap that would be exported to PNG?

Regards,

Miklos




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

2022-01-04 Thread Noel Grandin (via logerrit)
 include/svx/svdpage.hxx   |3 ++-
 svx/source/svdraw/svdpage.cxx |5 +
 2 files changed, 3 insertions(+), 5 deletions(-)

New commits:
commit 746127cf803070c5a695a7cb30a2ecdb5a777e75
Author: Noel Grandin 
AuthorDate: Tue Jan 4 14:07:13 2022 +0200
Commit: Noel Grandin 
CommitDate: Tue Jan 4 16:06:08 2022 +0100

use deque in SdrObjList

which has much better performance for
(a) inserting stuff at the front
(b) appending large numbers of items

something that happens when constructing large charts - shaves 5% off
the load time for large sample bar chart

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

diff --git a/include/svx/svdpage.hxx b/include/svx/svdpage.hxx
index 065590e85b9a..83c0592f060e 100644
--- a/include/svx/svdpage.hxx
+++ b/include/svx/svdpage.hxx
@@ -34,6 +34,7 @@
 #include 
 #include 
 #include 
+#include 
 
 
 // predefines
@@ -225,7 +226,7 @@ public:
 private:
 tools::RectanglemaSdrObjListOutRect;
 tools::RectanglemaSdrObjListSnapRect;
-std::vector maList;
+std::deque maList;
 /// This list, if it exists, defines the navigation order. If it does
 /// not exist then maList defines the navigation order.
 std::optional>> 
mxNavigationOrder;
diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx
index 99c6ab9d3185..d4322e3a8720 100644
--- a/svx/source/svdraw/svdpage.cxx
+++ b/svx/source/svdraw/svdpage.cxx
@@ -58,8 +58,6 @@
 
 using namespace ::com::sun::star;
 
-const sal_Int32 InitialObjectContainerCapacity (64);
-
 //
 
 SdrObjList::SdrObjList()
@@ -67,7 +65,6 @@ SdrObjList::SdrObjList()
 mbRectsDirty(false),
 mbIsNavigationOrderDirty(false)
 {
-maList.reserve(InitialObjectContainerCapacity);
 }
 
 void SdrObjList::impClearSdrObjList(bool bBroadcast)
@@ -641,7 +638,7 @@ void SdrObjList::sort( std::vector& sortOrder)
 // example maList [T T S T T] ( T T = shape with textbox, S = just a shape 
)
 // (shapes at positions 0 and 2 have a textbox)
 
-std::vector aNewList(maList.size());
+std::deque aNewList(maList.size());
 std::set aShapesWithTextbox;
 std::vector aIncrements;
 std::vector aDuplicates;


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

2022-01-04 Thread Noel Grandin (via logerrit)
 chart2/source/view/charttypes/AreaChart.cxx|4 +-
 chart2/source/view/charttypes/BarChart.cxx |6 +--
 chart2/source/view/charttypes/BubbleChart.cxx  |2 -
 chart2/source/view/charttypes/CandleStickChart.cxx |4 +-
 chart2/source/view/charttypes/NetChart.cxx |4 +-
 chart2/source/view/charttypes/PieChart.cxx |   20 ---
 chart2/source/view/charttypes/PieChart.hxx |1 
 chart2/source/view/charttypes/VSeriesPlotter.cxx   |   13 +--
 chart2/source/view/inc/PropertyMapper.hxx  |6 +--
 chart2/source/view/inc/VSeriesPlotter.hxx  |6 ---
 chart2/source/view/main/PropertyMapper.cxx |   38 +
 11 files changed, 25 insertions(+), 79 deletions(-)

New commits:
commit 3e9786b4dcbf342aab469940710e8a01be62d694
Author: Noel Grandin 
AuthorDate: Tue Jan 4 12:54:13 2022 +0200
Commit: Noel Grandin 
CommitDate: Tue Jan 4 14:41:28 2022 +0100

drop the OverwriteMap stuff in chart2

as a step towards setting properties directly on SdrObject

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

diff --git a/chart2/source/view/charttypes/AreaChart.cxx 
b/chart2/source/view/charttypes/AreaChart.cxx
index a07d175f9c52..3972aba068fd 100644
--- a/chart2/source/view/charttypes/AreaChart.cxx
+++ b/chart2/source/view/charttypes/AreaChart.cxx
@@ -436,7 +436,7 @@ bool AreaChart::impl_createLine( VDataSeries* pSeries
 {
 xShape = ShapeFactory::createLine2D( xSeriesGroupShape_Shapes
 , PolyToPointSequence( aPoly ) );
-setMappedProperties( *xShape
+PropertyMapper::setMappedProperties( *xShape
 , pSeries->getPropertiesOfSeries()
 , PropertyMapper::getPropertyNameMapForLineSeriesProperties() 
);
 //because of this name this line will be used for marking
@@ -512,7 +512,7 @@ bool AreaChart::impl_createArea( VDataSeries* pSeries
 xShape = ShapeFactory::createArea2D( xSeriesGroupShape_Shapes
 , aPoly );
 }
-setMappedProperties( *xShape
+PropertyMapper::setMappedProperties( *xShape
 , pSeries->getPropertiesOfSeries()
 , 
PropertyMapper::getPropertyNameMapForFilledSeriesProperties() );
 //because of this name this line will be used for marking
diff --git a/chart2/source/view/charttypes/BarChart.cxx 
b/chart2/source/view/charttypes/BarChart.cxx
index 314149f21bcf..5fcd1bfc4203 100644
--- a/chart2/source/view/charttypes/BarChart.cxx
+++ b/chart2/source/view/charttypes/BarChart.cxx
@@ -340,7 +340,7 @@ rtl::Reference< SvxShape > BarChart::createDataPoint3D_Bar(
 return xShape;
 }
 if( nGeometry3D != DataPointGeometry3D::PYRAMID )
-setMappedProperties( *xShape, xObjectProperties, 
PropertyMapper::getPropertyNameMapForFilledSeriesProperties() );
+PropertyMapper::setMappedProperties( *xShape, xObjectProperties, 
PropertyMapper::getPropertyNameMapForFilledSeriesProperties() );
 return xShape;
 }
 
@@ -845,7 +845,7 @@ void BarChart::createShapes()
 AddPointToPoly( aPoly, drawing::Position3D( 
fLogicX-fLogicBarWidth/2.0,fLowerYValue,fLogicZ) );
 pPosHelper->transformScaledLogicToScene( aPoly 
);
 xShape = ShapeFactory::createArea2D( 
xSeriesGroupShape_Shapes, aPoly );
-setMappedProperties( *xShape, 
xDataPointProperties, 
PropertyMapper::getPropertyNameMapForFilledSeriesProperties() );
+PropertyMapper::setMappedProperties( *xShape, 
xDataPointProperties, 
PropertyMapper::getPropertyNameMapForFilledSeriesProperties() );
 }
 
 if(bHasFillColorMapping)
@@ -947,7 +947,7 @@ void BarChart::createShapes()
 getSeriesGroupShape(pSeries.get(), xSeriesTarget) );
 rtl::Reference xShape( 
ShapeFactory::createLine2D(
 xSeriesGroupShape_Shapes, PolyToPointSequence( aPoly ) 
) );
-setMappedProperties( *xShape, 
pSeries->getPropertiesOfSeries()
+PropertyMapper::setMappedProperties( *xShape, 
pSeries->getPropertiesOfSeries()
 , 
PropertyMapper::getPropertyNameMapForFilledSeriesProperties() );
 }
 }
diff --git a/chart2/source/view/charttypes/BubbleChart.cxx 
b/chart2/source/view/charttypes/BubbleChart.cxx
index c65010db0404..9505e091e8b8 100644
--- a/chart2/source/view/charttypes/BubbleChart.cxx
+++ b/chart2/source/view/charttypes/BubbleChart.cxx
@@ -273,7 +273,7 @@ void BubbleChart::createShapes()
 rtl::Reference xShape = 
ShapeFactory::createCircle2D( xPointGroupShape_Shapes
 , aScenePosition, 

[Libreoffice-bugs] [Bug 146264] Export to XHTML duplicates text in list item

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146264

--- Comment #16 from Commit Notification 
 ---
Tor Lillqvist committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/6bfeb2290c585e0e5fe982dde6ac57e4afca2e2f

tdf#146264: Add unit test

It will be available in 7.4.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #12 from jsv  ---
Created attachment 177308
  --> https://bugs.documentfoundation.org/attachment.cgi?id=177308=edit
indesign

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-ux-advise] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #12 from jsv  ---
Created attachment 177308
  --> https://bugs.documentfoundation.org/attachment.cgi?id=177308=edit
indesign

-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Libreoffice-bugs] [Bug 146568] New: LO fails to apply HSQL 2.6 privileges

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146568

Bug ID: 146568
   Summary: LO fails to apply HSQL 2.6 privileges
   Product: LibreOffice
   Version: unspecified
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Base
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: ville...@t-online.de

Created attachment 177309
  --> https://bugs.documentfoundation.org/attachment.cgi?id=177309=edit
odb document with external database and HSQL drivers

See https://forum.openoffice.org/en/forum/viewtopic.php?f=40=106762

1) Download the attached zip to a trusted directory. It contains a database
document, a database in a subdirectory and 3 hsqldb driver files..
The database contains an auto-install macro connecting the document to the
database and to the hsqldb.jar. hsqldb.jar is identical to hsqldb-2.5.1.jar.

2) Open the database document. The auto-installer macro should display 2
messages about successful connection to driver and database.

3) Go to the tables section and confirm user "U1".

4) Open the Persons table. Edit a forename and save the record. This is the
only editable field of this table. 

5) Open the other table it is editable.

6) Shut down the entire office suite.

7) In the driver subdirectory replace hsqldb.jar with a copy of (or symlink to)
hsqldb-2.6.1.jar which is the latest HSQL driver.

8) Repeat 2) 3) 4) 5). Both tabls are read-only. They should behave as in steps
4) and 5).

The problem occurs with LO and AOO only. It does not occur with other database
frontends.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #17 from jsv  ---
> MS Word, in recent versions, actually does something similar
> to what jsv proposes: ...

Thanks, Jan.

--

To Sophie:

This doesn't make a difference whether we talk about an office suite or desktop
publishing software in this particular case.

What I mean is that Adobe (and even better example is Apple) pay a lot of
attention to thing like design, naming, wording, typography and so on.

--

Actually, unless I started to write my own LO documentation, I never have
problems with the current naming.

But once you will start to write such documentation, you will soon discover
that referring to things like "non breaking spaces" as formatting marks is
confusing, especiallyn when the same name is used for "virtual" things such as
blue paragraph marks.

--

To Dave:

You just one person who advoactes for calling a cat as "dog" and a dog as
"cat".

Just because "nobody strugged before".

OK, I don't want to waste my time arguing with people who have no understanding
how the professional should look.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-ux-advise] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #17 from jsv  ---
> MS Word, in recent versions, actually does something similar
> to what jsv proposes: ...

Thanks, Jan.

--

To Sophie:

This doesn't make a difference whether we talk about an office suite or desktop
publishing software in this particular case.

What I mean is that Adobe (and even better example is Apple) pay a lot of
attention to thing like design, naming, wording, typography and so on.

--

Actually, unless I started to write my own LO documentation, I never have
problems with the current naming.

But once you will start to write such documentation, you will soon discover
that referring to things like "non breaking spaces" as formatting marks is
confusing, especiallyn when the same name is used for "virtual" things such as
blue paragraph marks.

--

To Dave:

You just one person who advoactes for calling a cat as "dog" and a dog as
"cat".

Just because "nobody strugged before".

OK, I don't want to waste my time arguing with people who have no understanding
how the professional should look.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Libreoffice-bugs] [Bug 146566] Ошибка при просмотре текста открытой записи.

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146566

Michael Warner  changed:

   What|Removed |Added

   See Also||https://bugs.documentfounda
   ||tion.org/show_bug.cgi?id=14
   ||6406

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146406] Неверное получение сохраненной записи

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146406

Michael Warner  changed:

   What|Removed |Added

   See Also||https://bugs.documentfounda
   ||tion.org/show_bug.cgi?id=14
   ||6566

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146569] New: Bug sur Libre office

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146569

Bug ID: 146569
   Summary: Bug sur Libre office
   Product: LibreOffice
   Version: 7.1.8.1 release
  Hardware: x86-64 (AMD64)
OS: Windows (All)
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: LibreOffice
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: camille.m...@outlook.fr

Description:
Bonjour, 
depuis un moment, et aussi depuis que j'ai installé la nouvelle mis a jour
"libre office 7.1.8.1, libre office se coupe sans arrêt, et plante donc mon
travail n'est pas enregistré? Même dès que l'on sauvegarde cela plante.

Merci de votre comphréhension  

Steps to Reproduce:
1.allumer libre office 
2.On enregistre
3.ca plante

Actual Results:
Quand on enregistre ça plante 

Expected Results:
Ca plante Libre office


Reproducible: Always


User Profile Reset: Yes


OpenGL enabled: Yes

Additional Info:
C'est depuis la nouvelle mis a jour 7.1.8.1

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146092] Make inserted frames rotatable

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146092

--- Comment #3 from Luke  ---
See bug 91530 comment 12. The closer we follow this:
http://www.addbalance.com/word/frames_textboxes.htm
This less interoperability issues our users will have. 

If modify the frame behavior, we should add the flag that triggers the
"This document may contain formatting or content that cannot be saved in the
currently selected file format "Word 2007-365"."
message at export time. 

Miklos,
Rather than change frames, I think a better solution would be to allow the
fields that OOXML support in our textbox implementation. Do you see a problem
with this?

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146261] Bookmark... dialog should hold its resize from defaults for current session

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146261

Thomas Lendo  changed:

   What|Removed |Added

 CC||thomas.le...@gmail.com
 Blocks||102019

--- Comment #5 from Thomas Lendo  ---
I support the request to remember the dialog size during a session.


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=102019
[Bug 102019] [META] Dialog bugs and enhancements
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 102019] [META] Dialog bugs and enhancements

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=102019

Thomas Lendo  changed:

   What|Removed |Added

 Depends on||146261


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=146261
[Bug 146261] Bookmark... dialog should hold its resize from defaults for
current session
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-ux-advise] [Bug 146261] Bookmark... dialog should hold its resize from defaults for current session

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146261

Thomas Lendo  changed:

   What|Removed |Added

 CC||thomas.le...@gmail.com
 Blocks||102019

--- Comment #5 from Thomas Lendo  ---
I support the request to remember the dialog size during a session.


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=102019
[Bug 102019] [META] Dialog bugs and enhancements
-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Libreoffice-bugs] [Bug 146571] Crash when close Manage changes dialog

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146571

raal  changed:

   What|Removed |Added

Summary|Crash when close Mange  |Crash when close Manage
   |changes dialog  |changes dialog

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146559] libre office hangs and not usable (macOS Monterey only?)

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146559

Roman Kuznetsov <79045_79...@mail.ru> changed:

   What|Removed |Added

Summary|libre office hangs and not  |libre office hangs and not
   |usable  |usable (macOS Monterey
   ||only?)

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 108254] [META] File format filters (import/export) bugs and enhancements

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=108254

Thomas Lendo  changed:

   What|Removed |Added

 Depends on||145509


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=145509
[Bug 145509] [META] Bugs Related to Liborcus
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 145509] [META] Bugs Related to Liborcus

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=145509

Thomas Lendo  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
 Blocks||108254
 CC||thomas.le...@gmail.com


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=108254
[Bug 108254] [META] File format filters (import/export) bugs and enhancements
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146072] Changing paper size in driver does adapt paper size in dialog but not in preview

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146072

Telesto  changed:

   What|Removed |Added

   Keywords|bibisectRequest, regression |
 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #5 from Telesto  ---
Seems OK
Version: 7.4.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 1bb0e177124d5d6661b72df6c7d848fb23639652
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win
Locale: nl-NL (nl_NL); UI: en-US
Calc: CL

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 105152] Calc AutoFormat: how to do

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105152

--- Comment #6 from gmarco  ---
(In reply to Olivier Hallot from comment #5)
> *** Bug 95182 has been marked as a duplicate of this bug. ***

Also for this bug (as I said for bug 95182), too much time has passed, many
things have changed (help and app), certainly the links indicated are now
obsolete.
I think that even this bug can be closed by defining it now obsolete!

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #11 from jsv  ---
> I've never met a user confused by those strings too. I don't see any benefit 
> of renaming them.

These strings are simply wrong, and this is, in fact, plain obvious.

It seems these names are "inherited" from MS Word, but this doesn't make them
correct. Neither InDesign nor Affinity Publisher follow this naming.

See the InDesign UI screenshot which I have just added.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-ux-advise] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #11 from jsv  ---
> I've never met a user confused by those strings too. I don't see any benefit 
> of renaming them.

These strings are simply wrong, and this is, in fact, plain obvious.

It seems these names are "inherited" from MS Word, but this doesn't make them
correct. Neither InDesign nor Affinity Publisher follow this naming.

See the InDesign UI screenshot which I have just added.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Libreoffice-ux-advise] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #13 from sophie  ---
(In reply to jsv from comment #11)
> > I've never met a user confused by those strings too. I don't see any 
> > benefit of renaming them.
> 
> These strings are simply wrong, and this is, in fact, plain obvious.
> 
> It seems these names are "inherited" from MS Word, but this doesn't make
> them correct. 

they were already there in StarOffice, we usually don't care what proprietary
software are doing. 

>Neither InDesign nor Affinity Publisher follow this naming.
> 
> See the InDesign UI screenshot which I have just added.

These are specific tools dedicated to design or PAO, not an office suite. I
still don't see why we should ask l10n, documentation teams and our users to
change when they don't see a need to, that will only confuse them.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Libreoffice-bugs] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #13 from sophie  ---
(In reply to jsv from comment #11)
> > I've never met a user confused by those strings too. I don't see any 
> > benefit of renaming them.
> 
> These strings are simply wrong, and this is, in fact, plain obvious.
> 
> It seems these names are "inherited" from MS Word, but this doesn't make
> them correct. 

they were already there in StarOffice, we usually don't care what proprietary
software are doing. 

>Neither InDesign nor Affinity Publisher follow this naming.
> 
> See the InDesign UI screenshot which I have just added.

These are specific tools dedicated to design or PAO, not an office suite. I
still don't see why we should ask l10n, documentation teams and our users to
change when they don't see a need to, that will only confuse them.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146406] Неверное получение сохраненной записи

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146406

Michael Warner  changed:

   What|Removed |Added

 Resolution|FIXED   |INVALID

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146560] не происходит сохранение записи

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146560

Michael Warner  changed:

   What|Removed |Added

  Component|General |deletionRequest
 Status|UNCONFIRMED |RESOLVED
Crash report or||146406
crash signature||
 Resolution|--- |INVALID
Product|cppunit |LibreOffice

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146570] Excessive memory consumption with certain xlsb files

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146570

--- Comment #1 from Кирилл Фролов  ---
Created attachment 177312
  --> https://bugs.documentfoundation.org/attachment.cgi?id=177312=edit
Xlsb file

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 134193] sm Formula editor does not support RTL-CTL localized presentation markup, just content markup of formulas

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=134193

--- Comment #10 from libre officer  ---
Created attachment 177313
  --> https://bugs.documentfoundation.org/attachment.cgi?id=177313=edit
RTL formula displayed vs. Expected

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146014] [META] Poor Scrolling Performance

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146014

Thomas Lendo  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
 CC||thomas.le...@gmail.com

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146572] New: Wrapped RTL String Incorrectly Positioned in LTR Paragraph

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146572

Bug ID: 146572
   Summary: Wrapped RTL String Incorrectly Positioned in LTR
Paragraph
   Product: LibreOffice
   Version: 7.2.4.1 release
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Writer
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: j3frea+documentfoundat...@gmail.com

Created attachment 177315
  --> https://bugs.documentfoundation.org/attachment.cgi?id=177315=edit
Incorrectly positioned wrapped Hebrew text

Description:
--
When RTL text wraps across lines within an LTR paragraph, the first line of RTL
text is not left aligned as expected. This issue is very noticeable when the
RTL text follows an opening bracket but it seems to exist irrespective of the
text that precedes the RTL string.


System:
--
Linux 5.15.8-arch1-1
LibreOffice 7.2.4.1
Fonts: Times New Roman and SBL Biblit


To Reproduce:
--
1. Create a new document
2. Start with Lorem Ipsum and add RTL text close to the end of the line so that
it must wrap. For me, this was sufficient:

> This is just a test document. This is just a test document. This is just a 
> test document. RTL: (לא־תהיה אחרי־רבים לרעת)

I would expect the leftmost portion of the Hebrew text to be adjacent to the
opening bracket.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 120247] Help users to avoid deprecated units in CONVERT function, especially not to use "at"

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=120247

--- Comment #3 from Regina Henschel  ---
The updated help pages still miss information, which units are deprecated and
should not be used.
And there is still no comment why unit "at" should not be used.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146356] ODT: No easy way to create an empty paragraph before Table of Content if document starts with table of content

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146356

--- Comment #8 from Telesto  ---
@Heiko
Don't get me wrong, if you think ALT+ENTER is the way to go, fine (as better
compared to nothing, prior to 7.1). But this is not some(long) established
fact.

A) It didn't work at all, but it does by coincidence since 7.1 (and has issues
because of that)
B) And behaviour is apparently depending on file-format (DOCX/DOC/ODT). Which
good for lot of confusion

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #14 from jan d  ---
Without having a clear case where users are irritated by the current labels, I
would stick with what we have.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-ux-advise] [Bug 146493] "Insert > Special Character" and "Insert > Formatting Mark" should be renamed

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146493

--- Comment #14 from jan d  ---
Without having a clear case where users are irritated by the current labels, I
would stick with what we have.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

[Libreoffice-bugs] [Bug 132209] When copy/pasting objects to another slide, if text extends beyond the object boundary, the copy will not be in the same place as the original, otherwise it will.

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=132209

Armin Le Grand  changed:

   What|Removed |Added

 CC|armin.le.gr...@me.com   |

--- Comment #3 from Armin Le Grand  ---
This commit was developed for another code base, and not merged by me. For
complex changes like this, side-effects are to be expected; sadly I dont't have
the cycles to deal with all the fallout. Un-Ccing myself for the while.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 108059] FILESAVE Pie and Donut charts appear mirrored in OOXML formats

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=108059

Luke  changed:

   What|Removed |Added

 Resolution|FIXED   |---
 Status|RESOLVED|NEW

--- Comment #14 from Luke  ---
I don't understand why this was closed as FIXED. After exporting, chart is
still mirrored, when opened in both LO and MSO 2016. From the user perspective,
the export is still broken.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 75057] [META] OOXML Chart object issues

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=75057
Bug 75057 depends on bug 108059, which changed state.

Bug 108059 Summary: FILESAVE Pie and Donut charts appear mirrored in OOXML 
formats
https://bugs.documentfoundation.org/show_bug.cgi?id=108059

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|FIXED   |---

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146570] New: Excessive memory consumption with certain xlsb files

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146570

Bug ID: 146570
   Summary: Excessive memory consumption with certain xlsb files
   Product: LibreOffice
   Version: unspecified
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Calc
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: frolovkiri...@gmail.com

Description:
Excessive memory consumption when I try to run
RaytracerInExcel_CopyFormulae.xlsb from 
https://github.com/s0lly/Raytracer-In-Excel
Excel 2019 runs this with approximately 850 megabytes of memory
Libreoffice calc used 7 gigabytes

Steps to Reproduce:
1. Download file from
https://github.com/s0lly/Raytracer-In-Excel/raw/master/RaytracerInExcel_CopyFormulae.xlsb
2. open file.
3. Open objects tab.
4. copy Row 24 in the "Objects" tab, and paste it on to Row 25 to Row 14405
inclusively

Actual Results:
Libreoffice used 7 gigabytes of memory.

Expected Results:
Libreoffice uses 800 megabytes of memory


Reproducible: Always


User Profile Reset: Yes


OpenGL enabled: Yes

Additional Info:
Skia is enabled

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 134045] VIEWING: Arabic letters are not displayed in Math

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=134045

--- Comment #26 from libre officer  ---
(In reply to Xisco Faulí from comment #25)
> Hello libre officer,
> Could you please try to reproduce it with the latest version of LibreOffice
> from https://www.libreoffice.org/download/libreoffice-fresh/ ?
> I have set the bug's status to 'NEEDINFO'. Please change it back to
> 'UNCONFIRMED' if the bug is still present in the latest version.

Hello Xisco Faulí,

Now it works well(*) : the Arabic characters are displayed in the resulting
window. I tested it for `Liberation` and `noto arabic kufi` fonts.



(*) Tested only with:
Version: 7.2.4.1 (x64) / LibreOffice Community
Build ID: 27d75539669ac387bb498e35313b970b7fe9c4f9
CPU threads: 4; OS: Windows 6.1 Service Pack 1 Build 7601; UI render:
Skia/Raster; VCL: win
Locale: fr-CH (fr_CH); UI: en-GB
Calc: CL

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 134045] VIEWING: Arabic letters are not displayed in Math

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=134045

libre officer  changed:

   What|Removed |Added

 Status|NEEDINFO|RESOLVED
 Resolution|--- |FIXED

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 102847] [META] Quick Find, Search and Replace

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=102847

Thomas Lendo  changed:

   What|Removed |Added

 Depends on||146076


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=146076
[Bug 146076] [META] Find & Replace Regular Expressions
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146076] [META] Find & Replace Regular Expressions

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146076

Thomas Lendo  changed:

   What|Removed |Added

 CC||thomas.le...@gmail.com
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
 Blocks|113136  |102847


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=102847
[Bug 102847] [META] Quick Find, Search and Replace
https://bugs.documentfoundation.org/show_bug.cgi?id=113136
[Bug 113136] [META] Find & Replace Dialog
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 113136] [META] Find & Replace Dialog

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=113136

Thomas Lendo  changed:

   What|Removed |Added

 Depends on|146076  |


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=146076
[Bug 146076] [META] Find & Replace Regular Expressions
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 133803] Crash in: URLBox::URLBox FILESAVE

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=133803

--- Comment #9 from Gerald Clement  ---
Since I have upgraded to Mint 20 and LibreOffice 7.241 I have not experienced
this bug any further.

This has likely been resolved with newer versions but I have no further info I
can provide.

Reviewing the information I provided earlier does not seem to leave out any
further information I could provide.

If this bug was unique to me I have no explanations.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 134193] sm Formula editor does not support RTL-CTL localized presentation markup, just content markup of formulas

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=134193

--- Comment #11 from libre officer  ---
(In reply to Eyal Rozenberg from comment #9)
> The text rendering here on bugzilla may be confusing us regarding the actual
> and expected results. Can you explain, in words, what order should the parts
> of the equation appear in? e.g. "From left to write, the words you should
> see are FOO, then BAR, then BAZ"
> 
> Also, are you complaining about what's in the output window, the edit window
> or both?

Hello Eyal,

Please check the picture that I just uploaded, titled ` RTL formula displayed
vs. Expected`.

The problem is that the formula in the text mode letters are ordered correctly,
from right-to-left.

However, in the display window on top of it, you can see that the order of the
letters is incorrect : This will be a problem if letters are words in a
sentence, because reading it will be confusing.

In a short summary: the formula of the top should look exactly like the one in
the bottom.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 145200] [META] Case cycling

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=145200

Thomas Lendo  changed:

   What|Removed |Added

 Blocks||107838


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=107838
[Bug 107838] [META] Character-level bugs and enhancements
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 107838] [META] Character-level bugs and enhancements

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=107838

Thomas Lendo  changed:

   What|Removed |Added

 Depends on||145200


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=145200
[Bug 145200] [META] Case cycling
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 130442] "Font Color" link in "Formatting toolbar" helppage goes to "Font Effects tab" page - which is not so helpful

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=130442

--- Comment #2 from sdc.bla...@youmail.dk ---
(In reply to Rafael Lima from comment #1)
> Should we simply remove it from the help? Is this a deprecated feature?
NB. This text was in the initial checkin of this help page from 2004.

See also: 
https://help.libreoffice.org/7.4/en-US/text/shared/guide/text_color.html

(with the same instructions, also from 2004).

Have not investigated if this is a regression or a deprecation.

In either case, these instructions do not seem relevant/appropriate for a help
page about a dialog box. (I am guessing that the instructions about the paint
can was a quick-and-dirty solution to explain how to manually change font
colors that were set in this dialog.)

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 103164] [META] Footnote and Endnote bugs and enhancements

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=103164

Thomas Lendo  changed:

   What|Removed |Added

 Depends on||146369


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=146369
[Bug 146369] An extra word in the tooltip when hovering over a footnote
-- 
You are receiving this mail because:
You are the assignee for the bug.

[Libreoffice-bugs] [Bug 146369] An extra word in the tooltip when hovering over a footnote

2022-01-04 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=146369

Thomas Lendo  changed:

   What|Removed |Added

 CC||thomas.le...@gmail.com
 Blocks||103164

--- Comment #6 from Thomas Lendo  ---
I prefer the annotation as it is now in LibreOffice.


Referenced Bugs:

https://bugs.documentfoundation.org/show_bug.cgi?id=103164
[Bug 103164] [META] Footnote and Endnote bugs and enhancements
-- 
You are receiving this mail because:
You are the assignee for the bug.

  1   2   3   4   5   >