core.git: svl/source

2024-12-09 Thread Stephan Bergmann (via logerrit)
 svl/source/crypto/cryptosign.cxx |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 91c636c7f9484f650b6c494bf90212c57118f438
Author: Stephan Bergmann 
AuthorDate: Mon Dec 9 10:57:49 2024 +0100
Commit: Stephan Bergmann 
CommitDate: Mon Dec 9 12:16:33 2024 +0100

Silence -Werror,-Wunused-private-field

...with !USE_CRYPTO_ANY (e.g., Android)

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

diff --git a/svl/source/crypto/cryptosign.cxx b/svl/source/crypto/cryptosign.cxx
index 6a5f08077765..daa668c9e0f4 100644
--- a/svl/source/crypto/cryptosign.cxx
+++ b/svl/source/crypto/cryptosign.cxx
@@ -936,6 +936,7 @@ bool Signing::Sign(OStringBuffer& rCMSHexBuffer)
 {
 #if !USE_CRYPTO_ANY
 (void)rCMSHexBuffer;
+(void)m_rSigningContext;
 return false;
 #else
 // Create the PKCS#7 object.


core.git: Branch 'distro/collabora/co-24.04' - sd/source

2024-12-09 Thread Tomaž Vajngerl (via logerrit)
 sd/source/ui/inc/SlideshowLayerRenderer.hxx   |4 ++
 sd/source/ui/tools/SlideshowLayerRenderer.cxx |   42 +++---
 2 files changed, 35 insertions(+), 11 deletions(-)

New commits:
commit cf6e23681e54ce9472a9c1d44450beadce2144ce
Author: Tomaž Vajngerl 
AuthorDate: Mon Dec 9 16:53:26 2024 +0900
Commit: Marco Cecchetti 
CommitDate: Mon Dec 9 12:51:27 2024 +0100

slideshow: reset visibility of primitives after rendering

If the visible flag is not reset to true, it may be used outside
of slideshow rendering.

Change-Id: I42589b75c85d6e24af65a4d910bec4ac0c1a45e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178128
Reviewed-by: Marco Cecchetti 
Tested-by: Jenkins CollaboraOffice 

diff --git a/sd/source/ui/inc/SlideshowLayerRenderer.hxx 
b/sd/source/ui/inc/SlideshowLayerRenderer.hxx
index f6c3c6534564..21962d1ee5b4 100644
--- a/sd/source/ui/inc/SlideshowLayerRenderer.hxx
+++ b/sd/source/ui/inc/SlideshowLayerRenderer.hxx
@@ -23,6 +23,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -111,6 +112,8 @@ struct RenderState
 
 std::array maIndices = { 0, 0, 0, 0 };
 
+std::vector 
maPrimitivesToUnhide;
+
 SdrObject* mpCurrentTarget = nullptr;
 sal_Int32 mnCurrentTargetParagraph = -1;
 
@@ -175,6 +178,7 @@ private:
 void setupAnimations();
 void setupMasterPageFields();
 void resolveEffect(CustomAnimationEffectPtr const& rEffect);
+void cleanup();
 
 public:
 SlideshowLayerRenderer(SdrPage& rPage, bool bRenderBackground, bool 
bRenderMasterPage);
diff --git a/sd/source/ui/tools/SlideshowLayerRenderer.cxx 
b/sd/source/ui/tools/SlideshowLayerRenderer.cxx
index bf15654013b0..d17b4beaedf7 100644
--- a/sd/source/ui/tools/SlideshowLayerRenderer.cxx
+++ b/sd/source/ui/tools/SlideshowLayerRenderer.cxx
@@ -161,8 +161,9 @@ OUString getMasterTextFieldType(SdrObject* pObject)
 bool isGroup(SdrObject* pObject) { return pObject->getChildrenOfSdrObject() != 
nullptr; }
 
 /// Sets visible for all kinds of polypolys in the container
-void changePolyPolys(drawinglayer::primitive2d::Primitive2DContainer& 
rContainer,
- bool bRenderObject)
+void changePolyPolys(
+drawinglayer::primitive2d::Primitive2DContainer& rContainer, bool 
bRenderObject,
+std::vector& 
rPrimitivesToUnhide)
 {
 for (auto& pBasePrimitive : rContainer)
 {
@@ -173,13 +174,16 @@ void 
changePolyPolys(drawinglayer::primitive2d::Primitive2DContainer& rContainer
 || pBasePrimitive->getPrimitive2DID() == 
PRIMITIVE2D_ID_POLYPOLYGONHAIRLINEPRIMITIVE2D)
 {
 pBasePrimitive->setVisible(bRenderObject);
+if (!bRenderObject)
+rPrimitivesToUnhide.push_back(pBasePrimitive);
 }
 }
 }
 
 /// Searches for rectangle primitive and changes if the background should be 
rendered
-void changeBackground(drawinglayer::primitive2d::Primitive2DContainer const& 
rContainer,
-  bool bRenderObject)
+void changeBackground(
+drawinglayer::primitive2d::Primitive2DContainer const& rContainer, bool 
bRenderObject,
+std::vector& 
rPrimitivesToUnhide)
 {
 for (size_t i = 0; i < rContainer.size(); i++)
 {
@@ -189,7 +193,7 @@ void 
changeBackground(drawinglayer::primitive2d::Primitive2DContainer const& rCo
 drawinglayer::primitive2d::Primitive2DContainer 
aPrimitiveContainer;
 pBasePrimitive->get2DDecomposition(aPrimitiveContainer,

drawinglayer::geometry::ViewInformation2D());
-changePolyPolys(aPrimitiveContainer, bRenderObject);
+changePolyPolys(aPrimitiveContainer, bRenderObject, 
rPrimitivesToUnhide);
 }
 }
 }
@@ -252,9 +256,11 @@ 
findTextBlock(drawinglayer::primitive2d::Primitive2DContainer const& rContainer,
 }
 
 /// show/hide paragraphs in the container
-void modifyParagraphs(drawinglayer::primitive2d::Primitive2DContainer& 
rContainer,
-  drawinglayer::geometry::ViewInformation2D const& 
rViewInformation2D,
-  std::deque const& rPreserveIndices, bool 
bRenderObject)
+void modifyParagraphs(
+drawinglayer::primitive2d::Primitive2DContainer& rContainer,
+drawinglayer::geometry::ViewInformation2D const& rViewInformation2D,
+std::deque const& rPreserveIndices, bool bRenderObject,
+std::vector& 
rPrimitivesToUnhide)
 {
 auto* pTextBlock = findTextBlock(rContainer, rViewInformation2D);
 
@@ -279,11 +285,13 @@ void 
modifyParagraphs(drawinglayer::primitive2d::Primitive2DContainer& rContaine
 bool bHideIndex = aIterator == rPreserveIndices.end();
 
 pParagraphPrimitive2d.setVisible(!bHideIndex);
+if (bHideIndex)
+rPrimitivesToUnhide.push_back(pPrimitive);
 }
 nIndex++;
 }
 
-changeBackground(rContainer, bRenderObject);
+changeBackground(rContainer, bRen

core.git: Branch 'distro/collabora/co-24.04' - include/vcl vcl/inc vcl/qa vcl/source

2024-12-09 Thread Tomaž Vajngerl (via logerrit)
 include/vcl/pdfwriter.hxx  |6 +
 vcl/inc/pdf/EncryptionHashTransporter.hxx  |   29 +
 vcl/inc/pdf/IPDFEncryptor.hxx  |6 -
 vcl/inc/pdf/PDFEncryptorR6.hxx |   49 +
 vcl/qa/cppunit/pdfexport/PDFEncryptionTest.cxx |  136 +++--
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx|   21 ---
 vcl/source/gdi/pdfwriter_impl.cxx  |   93 +++--
 vcl/source/pdf/PDFEncryptionInitialization.cxx |1 
 vcl/source/pdf/PDFEncryptorR6.cxx  |  130 +++
 9 files changed, 404 insertions(+), 67 deletions(-)

New commits:
commit 1908f487a9be9c5b8c7b84a5ff5487e9df0ec1e0
Author: Tomaž Vajngerl 
AuthorDate: Thu Nov 21 11:33:47 2024 +0900
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 13:24:00 2024 +0100

pdf: implement PDFEncryptor for PDF (2.0) encryption V5R6

PDFEncryptorR6 implements PDF 2.0 encryption (ver. 5 rev. 6) using
AESv3 (256 bit key length). The PDFEncryptorR6 is enabled when the
PDF output is PDF 2.0 (other versions have been deprecated, so it
is the only one available in PDF 2.0).

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

diff --git a/include/vcl/pdfwriter.hxx b/include/vcl/pdfwriter.hxx
index 6b91ead8bd89..e9d4326eb593 100644
--- a/include/vcl/pdfwriter.hxx
+++ b/include/vcl/pdfwriter.hxx
@@ -96,7 +96,11 @@ struct PDFEncryptionProperties
 // PDFDocInfo, Owner password and User password used the InitEncryption 
method which
 // implements the algorithms described in the PDF reference chapter 3.5: 
Encryption
 std::vector OValue;
+std::vector OE; // needed by R6 algorithm
+
 std::vector UValue;
+std::vector UE; // needed by R6 algorithm
+
 std::vector EncryptionKey;
 std::vector DocumentIdentifier;
 
@@ -108,7 +112,9 @@ struct PDFEncryptionProperties
 void clear()
 {
 OValue.clear();
+OE.clear();
 UValue.clear();
+UE.clear();
 EncryptionKey.clear();
 }
 
diff --git a/vcl/inc/pdf/EncryptionHashTransporter.hxx 
b/vcl/inc/pdf/EncryptionHashTransporter.hxx
index 596b6490570a..9b523f3f90f0 100644
--- a/vcl/inc/pdf/EncryptionHashTransporter.hxx
+++ b/vcl/inc/pdf/EncryptionHashTransporter.hxx
@@ -5,7 +5,6 @@
  * 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/.
- *
  */
 
 #pragma once
@@ -28,8 +27,18 @@ namespace vcl::pdf
 */
 class EncryptionHashTransporter : public 
cppu::WeakImplHelper
 {
+// V2R3
 std::unique_ptr m_pDigest;
 std::vector maOValue;
+
+// V5R6
+std::vector mU;
+std::vector mUE;
+std::vector mO;
+std::vector mOE;
+std::vector maEncryptionKey;
+
+// ID
 sal_IntPtr maID;
 
 public:
@@ -43,6 +52,24 @@ public:
 
 void invalidate() { m_pDigest.reset(); }
 
+std::vector getU() { return mU; }
+void setU(std::vector const& rU) { mU = rU; }
+
+std::vector getUE() { return mUE; }
+void setUE(std::vector const& rUE) { mUE = rUE; }
+
+std::vector getO() { return mO; }
+void setO(std::vector const& rO) { mO = rO; }
+
+std::vector getOE() { return mOE; }
+void setOE(std::vector const& rOE) { mOE = rOE; }
+
+std::vector getEncryptionKey() { return maEncryptionKey; }
+void setEncryptionKey(std::vector const& rEncryptionKey)
+{
+maEncryptionKey = rEncryptionKey;
+}
+
 // XMaterialHolder
 virtual css::uno::Any SAL_CALL getMaterial() override { return 
css::uno::Any(sal_Int64(maID)); }
 
diff --git a/vcl/inc/pdf/IPDFEncryptor.hxx b/vcl/inc/pdf/IPDFEncryptor.hxx
index 744c8bcac761..f37ece808362 100644
--- a/vcl/inc/pdf/IPDFEncryptor.hxx
+++ b/vcl/inc/pdf/IPDFEncryptor.hxx
@@ -5,7 +5,6 @@
  * 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/.
- *
  */
 
 #pragma once
@@ -60,7 +59,7 @@ public:
  * Depending on the encryption revision this may not be available. In that
  * case we can expect empty content.
  */
-virtual std::vector getEncryptedAccessPermissions()
+virtual std::vector 
getEncryptedAccessPermissions(std::vector& /*rKey*/)
 {
 return std::vector();
 }
@@ -80,6 +79,9 @@ public:
 /** Setup before we start encrypting - remembers the key */
 virtual void setupEncryption(std::vector& rEncryptionKey, 
sal_Int32 nObject) = 0;
 
+/** Calculate the size of the output (by default the same as input) */
+virtual sal_uInt64 calculateSizeIncludingHeader(sal_uInt64 nSize) { return 
nSize; }
+
 /** Encrypts the input and stores into the output */
 virtual 

core.git: Branch 'feature/allo_contract45533b' - framework/source

2024-12-09 Thread Tibor Nagy (via logerrit)
 framework/source/services/desktop.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit ffde3ce764f58817fb9c5a8f91a646937e594fd7
Author: Tibor Nagy 
AuthorDate: Mon May 6 10:43:34 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 13:04:37 2024 +0100

The previous behavior of using the TerminationVetoException has changed

"Since LibreOffice 5.3: Throwing this exception will only prevent 
termination. Exiting LibreOffice will close all the windows but the process 
will keep running."

Currently, the behavior is different, because not only is LibreOffice
prevented from terminating, but the last document cannot be closed either. 
The expected behavior is all windows should be closed, but the
process should be kept running when using a TerminationVetoException.

Change-Id: I8764aefccc4c9feec3ee0e45a54bf0aebcf16c5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167194
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Jenkins
(cherry picked from commit 64a50c65ee15c03f58ccf25308a70dfd24e791fe)

diff --git a/framework/source/services/desktop.cxx 
b/framework/source/services/desktop.cxx
index 237d35afc6a5..721c8fa1bf96 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -201,6 +201,8 @@ sal_Bool SAL_CALL Desktop::terminate()
 aGuard.clear();
 
 // Allow using of any UI ... because Desktop.terminate() was designed as 
UI functionality in the past.
+// try to close all open frames
+bool bFramesClosed = impl_closeFrames(!bRestartableMainLoop);
 
 // Ask normal terminate listener. They could veto terminating the process.
 Desktop::TTerminateListenerList lCalledTerminationListener;
@@ -210,8 +212,7 @@ sal_Bool SAL_CALL Desktop::terminate()
 return false;
 }
 
-// try to close all open frames
-if (!impl_closeFrames(!bRestartableMainLoop))
+if (!bFramesClosed)
 {
 impl_sendCancelTerminationEvent(lCalledTerminationListener);
 return false;


core.git: oox/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 oox/source/drawingml/fillproperties.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 810b895ec76d374e173a254c98552c3366183af2
Author: Caolán McNamara 
AuthorDate: Mon Dec 9 10:14:57 2024 +
Commit: Caolán McNamara 
CommitDate: Mon Dec 9 13:40:01 2024 +0100

crashtesting: reimport of fdo61125-1.docx has negative image width

we probably shouldn't do that anyway, but the assumption at this
import check appears to be for >= 0

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

diff --git a/oox/source/drawingml/fillproperties.cxx 
b/oox/source/drawingml/fillproperties.cxx
index ec2a10da02fe..eaeb0029c415 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -832,7 +832,7 @@ void GraphicProperties::pushToPropMap( PropertyMap& 
rPropMap, const GraphicHelpe
 {
 geometry::IntegerRectangle2D oClipRect( 
maBlipProps.moClipRect.value() );
 awt::Size aOriginalSize( rGraphicHelper.getOriginalSize( xGraphic 
) );
-if ( aOriginalSize.Width && aOriginalSize.Height )
+if (aOriginalSize.Width > 0 && aOriginalSize.Height > 0)
 {
 text::GraphicCrop aGraphCrop( 0, 0, 0, 0 );
 if ( oClipRect.X1 )


core.git: Branch 'distro/collabora/co-23.05' - starmath/inc starmath/source sw/qa

2024-12-09 Thread Pranam Lashkari (via logerrit)
 starmath/inc/parse5.hxx |4 +
 starmath/source/ooxmlimport.cxx |   16 ++--
 starmath/source/parse5.cxx  |   41 ++
 sw/qa/extras/ooxmlexport/data/tdf162070_export.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport2.cxx   |   77 +++-
 sw/qa/extras/rtfexport/data/math-mso2007.rtf|   12 +--
 sw/qa/extras/rtfexport/rtfexport.cxx|   55 +++---
 7 files changed, 133 insertions(+), 72 deletions(-)

New commits:
commit c1703cc07a960ab394f094f1665f74c42ed8f2c9
Author: Pranam Lashkari 
AuthorDate: Tue Nov 12 12:50:10 2024 +0530
Commit: Andras Timar 
CommitDate: Mon Dec 9 13:49:55 2024 +0100

tdf#162070: enclose delimiters in in formula inside quotes

problem:
1. some characters were not correctly interpreted inside formulas
casuing them to appear as inverted question mark.
2. when some special symbols like 'abs' were inserted as normal string
were replaced with symbols and sometimes also causing to invalidate formula
and add inverted question mark

Change-Id: Id1b0cda36727c1749619adc858b27212057b37e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176421
Reviewed-by: Pranam Lashkari 
Tested-by: Jenkins CollaboraOffice 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178138
Reviewed-by: Andras Timar 

diff --git a/starmath/inc/parse5.hxx b/starmath/inc/parse5.hxx
index 92fc2a02917b..83978709985a 100644
--- a/starmath/inc/parse5.hxx
+++ b/starmath/inc/parse5.hxx
@@ -119,4 +119,8 @@ public:
 
 inline bool SmParser5::TokenInGroup(TG nGroup) { return 
bool(m_aCurToken.nGroup & nGroup); }
 
+const SmTokenTableEntry* GetTokenTableEntry(const OUString& rName);
+
+OUString encloseOrEscapeLiteral(const OUString& string, bool force);
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index f040265ad31d..82f1b2a28425 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace oox::formulaimport;
 
@@ -595,17 +596,19 @@ OUString SmOoxmlImport::handleR()
 m_rStream.ensureClosingTag( M_TOKEN( rPr ));
 }
 OUStringBuffer text;
+bool isTagT = false;
 while( !m_rStream.atEnd() && m_rStream.currentToken() != CLOSING( 
m_rStream.currentToken()))
 {
 switch( m_rStream.currentToken())
 {
 case OPENING( M_TOKEN( t )):
 {
+isTagT = true;
 XmlStream::Tag rtag = m_rStream.ensureOpeningTag( M_TOKEN( t 
));
+OUString sTagText = rtag.text;
 if( rtag.attribute( OOX_TOKEN( xml, space )) != "preserve" )
-text.append(o3tl::trim(rtag.text));
-else
-text.append(rtag.text);
+sTagText = o3tl::trim(sTagText);
+text.append(sTagText);
 m_rStream.ensureClosingTag( M_TOKEN( t ));
 break;
 }
@@ -615,12 +618,11 @@ OUString SmOoxmlImport::handleR()
 }
 }
 m_rStream.ensureClosingTag( M_TOKEN( r ));
-if( normal || literal )
+if (normal || literal || isTagT)
 {
-text.insert(0, "\"");
-text.append("\"");
+return encloseOrEscapeLiteral(text.makeStringAndClear(), normal || 
literal);
 }
-return text.makeStringAndClear().replaceAll("{", "\{").replaceAll("}", 
"\}");
+return text.makeStringAndClear();
 }
 
 OUString SmOoxmlImport::handleRad()
diff --git a/starmath/source/parse5.cxx b/starmath/source/parse5.cxx
index 13f3701db26a..dc6e88da0a25 100644
--- a/starmath/source/parse5.cxx
+++ b/starmath/source/parse5.cxx
@@ -33,6 +33,7 @@
 #include 
 
 #include 
+#include 
 
 using namespace ::com::sun::star::i18n;
 
@@ -292,7 +293,7 @@ static inline bool findCompare(const SmTokenTableEntry& 
lhs, const OUString& s)
 }
 
 //Returns the SmTokenTableEntry for a keyword
-static const SmTokenTableEntry* GetTokenTableEntry(const OUString& rName)
+const SmTokenTableEntry* GetTokenTableEntry(const OUString& rName)
 {
 if (rName.isEmpty())
 return nullptr; //avoid null pointer exceptions
@@ -304,6 +305,42 @@ static const SmTokenTableEntry* GetTokenTableEntry(const 
OUString& rName)
 return nullptr; //not found
 }
 
+OUString encloseOrEscapeLiteral(const OUString& string, bool force)
+{
+if (force)
+return "\"" + string + "\"";
+OUStringBuffer result;
+const std::unordered_set DelimiterTable1{
+//keeping " as first entry is important to not get into recursive 
replacement
+' ', ' ', '
', ' ', '+', '-', '*', '/', '=', '^',
+'_', '#',  '%',  '>',  '<', '&', '|', '~', '`'
+};
+const std::unordered_set DelimiterTable2{
+//keeping " as first entry is important to not get into recursive 
replace

Request for Guidance on Contributing to LibreOffice Projects

2024-12-09 Thread prathmesh solanke
Dear LibreOffice Team,
I hope this email finds you well. My name is Prathmesh Solanke, a student at 
IIT BHU, Varanasi, India, proficient in Java (spring, Spring Boot, Hibernate) 
and JavaScript, and currently preparing for the upcoming Google Summer of Code 
(GSoC). I am particularly interested in contributing to the LibreOffice 
organization and would greatly appreciate your guidance to get started 
effectively.
Could you please advise me on the following points?

  1.
Recommended Technologies: What additional tools, frameworks, or technologies 
should I focus on to align my skills with LibreOffice's projects?
  2.
Starting Point: Which project(s) would you recommend as an entry point for 
someone with a strong foundation in Java and a keen interest in open-source 
development?

I am excited about the prospect of learning from and contributing to 
LibreOffice’s impactful initiatives. Any suggestions on resources, 
documentation, or beginner-friendly tasks would be immensely helpful.
Thank you for your time and support. I look forward to your guidance and am 
eager to contribute to LibreOffice's open-source ecosystem.
Best regards,
Prathmesh Solanke
Email: prathmeshsolanke1...@gmail.com
LinkedIn: 
https://www.linkedin.com/in/prathmesh-solanke-45705a228
GitHub: Musashi-Mahito



core.git: Branch 'distro/collabora/co-24.04' - sd/source

2024-12-09 Thread Mike Kaganski (via logerrit)
 sd/source/ui/func/fudraw.cxx |6 --
 sd/source/ui/func/fupoor.cxx |2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 86c7b7c76cf5449cf4324992000b3cebaa9c920b
Author: Mike Kaganski 
AuthorDate: Fri Dec 6 13:49:39 2024 +0500
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 14:08:44 2024 +0100

tdf#164213: don't activate OLE objects in read-only mode

Similar to the check done in SwEditWin::MouseButtonDown.

Change-Id: I1a1b8966502a6b1557d424f28cfc1c1ecdf4b65e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177930
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 5950fe86b84bb062e88034e382fc5df90bb1e98c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178006
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index fca4f65fa54e..a55ba36f444b 100644
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -640,7 +640,8 @@ void FuDraw::DoubleClick(const MouseEvent& rMEvt)
 SdrInventor nInv = pObj->GetObjInventor();
 SdrObjKind  nSdrObjKind = pObj->GetObjIdentifier();
 
-if (nInv == SdrInventor::Default && nSdrObjKind == 
SdrObjKind::OLE2)
+if (nInv == SdrInventor::Default && nSdrObjKind == SdrObjKind::OLE2
+&& !mpDocSh->IsReadOnly())
 {
 // activate OLE-object
 SfxInt16Item aItem(SID_OBJECT, 0);
@@ -649,7 +650,8 @@ void FuDraw::DoubleClick(const MouseEvent& rMEvt)
  SfxCallMode::ASYNCHRON | 
SfxCallMode::RECORD,
  { &aItem });
 }
-else if (nInv == SdrInventor::Default &&  nSdrObjKind == 
SdrObjKind::Graphic && pObj->IsEmptyPresObj() )
+else if (nInv == SdrInventor::Default && nSdrObjKind == 
SdrObjKind::Graphic
+ && pObj->IsEmptyPresObj() && !mpDocSh->IsReadOnly())
 {
 mpViewShell->GetViewFrame()->
 GetDispatcher()->Execute( SID_INSERT_GRAPHIC,
diff --git a/sd/source/ui/func/fupoor.cxx b/sd/source/ui/func/fupoor.cxx
index e6fe25f7117d..5c7a44568d34 100644
--- a/sd/source/ui/func/fupoor.cxx
+++ b/sd/source/ui/func/fupoor.cxx
@@ -230,7 +230,7 @@ bool FuPoor::KeyInput(const KeyEvent& rKEvt)
 bReturn = true;
 }
 }
-else
+else if (!mpDocSh->IsReadOnly())
 {
 // activate OLE object on RETURN for selected object
 // activate text edit on RETURN for selected object


help.git: source/text

2024-12-09 Thread Ilmari Lauhakangas (via logerrit)
 source/text/scalc/01/0406.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit f45820f45e2cf351d3f08238952d25de0f68337d
Author: Ilmari Lauhakangas 
AuthorDate: Mon Dec 9 10:55:41 2024 +0200
Commit: Ilmari Lauhakangas 
CommitDate: Mon Dec 9 09:58:16 2024 +0100

tdf#161502 Update label Structure to Content in Function Wizard help

Change-Id: I62322b720b0ec54c54268d9cb6a0f2d36b7c8d94
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178125
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Jenkins

diff --git a/source/text/scalc/01/0406.xhp 
b/source/text/scalc/01/0406.xhp
index 56e3a6a436..f4cd34f979 100644
--- a/source/text/scalc/01/0406.xhp
+++ b/source/text/scalc/01/0406.xhp
@@ -103,7 +103,7 @@
 If you start the Function Wizard while 
the cell cursor is positioned in a cell that already contains a function, the 
Structure tab is opened and shows the composition of the current 
formula.
 
 
-Structure
+Content
 Displays a hierarchical representation of 
the current function. You can hide or show the arguments by a click on 
the plus or minus sign in front.
 Blue dots denote correctly entered arguments. Red 
dots indicate incorrect data types. For example: if the SUM function has one 
argument entered as text, this is highlighted in red as SUM only permits number 
entries.
 


core.git: include/svx sd/source svx/source

2024-12-09 Thread Miklos Vajna (via logerrit)
 include/svx/svddrgmt.hxx  |4 ++--
 sd/source/ui/animations/motionpathtag.cxx |2 +-
 svx/source/svdraw/svddrgmt.cxx|   28 ++--
 3 files changed, 17 insertions(+), 17 deletions(-)

New commits:
commit 8c7ad3231435e3b11467cfc9f28d88157caf3f4b
Author: Miklos Vajna 
AuthorDate: Mon Dec 9 08:47:20 2024 +0100
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 09:56:51 2024 +0100

svx: prefix members of SdrDragResize

See tdf#94879 for motivation.

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

diff --git a/include/svx/svddrgmt.hxx b/include/svx/svddrgmt.hxx
index 3352f09196b3..291d1c8d6c40 100644
--- a/include/svx/svddrgmt.hxx
+++ b/include/svx/svddrgmt.hxx
@@ -257,8 +257,8 @@ public:
 class SVXCORE_DLLPUBLIC SdrDragResize : public SdrDragMethod
 {
 protected:
-FractionaXFact;
-FractionaYFact;
+Fractionm_aXFact;
+Fractionm_aYFact;
 
 public:
 SdrDragResize(SdrDragView& rNewView);
diff --git a/sd/source/ui/animations/motionpathtag.cxx 
b/sd/source/ui/animations/motionpathtag.cxx
index 7a43fe07f54a..bffecd48cd89 100644
--- a/sd/source/ui/animations/motionpathtag.cxx
+++ b/sd/source/ui/animations/motionpathtag.cxx
@@ -186,7 +186,7 @@ bool PathDragResize::EndSdrDrag(bool /*bCopy*/)
 {
 const Point aRef( DragStat().GetRef1() );
 basegfx::B2DHomMatrix 
aTrans(basegfx::utils::createTranslateB2DHomMatrix(-aRef.X(), -aRef.Y()));
-aTrans.scale(double(aXFact), double(aYFact));
+aTrans.scale(double(m_aXFact), double(m_aYFact));
 aTrans.translate(aRef.X(), aRef.Y());
 basegfx::B2DPolyPolygon aDragPoly(pPathObj->GetPathPoly());
 aDragPoly.transform(aTrans);
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index 7e2a812e430e..80b3b0bf6b3b 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -1723,8 +1723,8 @@ PointerStyle SdrDragMove::GetSdrDragPointer() const
 
 SdrDragResize::SdrDragResize(SdrDragView& rNewView)
 :   SdrDragMethod(rNewView),
-aXFact(1,1),
-aYFact(1,1)
+m_aXFact(1,1),
+m_aYFact(1,1)
 {
 }
 
@@ -1744,20 +1744,20 @@ OUString SdrDragResize::GetSdrDragComment() const
 if(!nYDiv)
 nYDiv = 1;
 
-bool bX(aXFact != aFact1 && std::abs(nXDiv) > 1);
-bool bY(aYFact != aFact1 && std::abs(nYDiv) > 1);
+bool bX(m_aXFact != aFact1 && std::abs(nXDiv) > 1);
+bool bY(m_aYFact != aFact1 && std::abs(nYDiv) > 1);
 
 if(bX || bY)
 {
 aStr += " (";
 
-bool bEqual(aXFact == aYFact);
+bool bEqual(m_aXFact == m_aYFact);
 if(bX)
 {
 if(!bEqual)
 aStr += "x=";
 
-aStr += SdrModel::GetPercentString(aXFact);
+aStr += SdrModel::GetPercentString(m_aXFact);
 }
 
 if(bY && !bEqual)
@@ -1765,7 +1765,7 @@ OUString SdrDragResize::GetSdrDragComment() const
 if(bX)
 aStr += " ";
 
-aStr += "y=" + SdrModel::GetPercentString(aYFact);
+aStr += "y=" + SdrModel::GetPercentString(m_aYFact);
 }
 
 aStr += ")";
@@ -1825,7 +1825,7 @@ basegfx::B2DHomMatrix 
SdrDragResize::getCurrentTransformation() const
 {
 basegfx::B2DHomMatrix aRetval(basegfx::utils::createTranslateB2DHomMatrix(
 -DragStat().GetRef1().X(), -DragStat().GetRef1().Y()));
-aRetval.scale(double(aXFact), double(aYFact));
+aRetval.scale(double(m_aXFact), double(m_aYFact));
 aRetval.translate(DragStat().GetRef1().X(), DragStat().GetRef1().Y());
 
 return aRetval;
@@ -2005,8 +2005,8 @@ void SdrDragResize::MoveSdrDrag(const Point& rNoSnapPnt)
 {
 Hide();
 DragStat().NextMove(aPnt);
-aXFact=aNewXFact;
-aYFact=aNewYFact;
+m_aXFact=aNewXFact;
+m_aYFact=aNewYFact;
 
 aNewXFact = double(aNewXFact) > 0 ? aNewXFact : Fraction(1, 1);
 aNewYFact = double(aNewYFact) > 0 ? aNewYFact : Fraction(1, 1);
@@ -2020,7 +2020,7 @@ void SdrDragResize::MoveSdrDrag(const Point& rNoSnapPnt)
 
 void SdrDragResize::applyCurrentTransformationToSdrObject(SdrObject& rTarget)
 {
-rTarget.Resize(DragStat().GetRef1(),aXFact,aYFact);
+rTarget.Resize(DragStat().GetRef1(),m_aXFact,m_aYFact);
 }
 
 bool SdrDragResize::EndSdrDrag(bool bCopy)
@@ -2029,15 +2029,15 @@ bool SdrDragResize::EndSdrDrag(bool bCopy)
 
 if (IsDraggingPoints())
 {
-
getSdrDragView().ResizeMarkedPoints(DragStat().GetRef1(),aXFact,aYFact);
+
getSdrDragView().ResizeMarkedPoints(DragStat().GetRef1(),m_aXFact,m_aYFact);
 }
 else if (IsDraggingGluePoints())
 {
-
getSdrDragView().ResizeMarkedGluePoints(DragStat().Ge

core.git: helpcontent2

2024-12-09 Thread Ilmari Lauhakangas (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 0892ff2de0093fcc53f23e7d0787fbda34b6c371
Author: Ilmari Lauhakangas 
AuthorDate: Mon Dec 9 10:58:16 2024 +0200
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 09:58:16 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to f45820f45e2cf351d3f08238952d25de0f68337d
  - tdf#161502 Update label Structure to Content in Function Wizard help

Change-Id: I62322b720b0ec54c54268d9cb6a0f2d36b7c8d94
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178125
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Jenkins

diff --git a/helpcontent2 b/helpcontent2
index 2fd0b5ff3a85..f45820f45e2c 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 2fd0b5ff3a8599ee49a04b36c9203a03e6295f54
+Subproject commit f45820f45e2cf351d3f08238952d25de0f68337d


core.git: Branch 'libreoffice-25-2' - helpcontent2

2024-12-09 Thread Ilmari Lauhakangas (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c6dd932a7bdd657018519c081435d40972948070
Author: Ilmari Lauhakangas 
AuthorDate: Mon Dec 9 11:00:10 2024 +0200
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 10:00:10 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-25-2'
  to 700dad3c8ed1ce2cf73a96dab779f2f50caa7a01
  - tdf#161502 Update label Structure to Content in Function Wizard help

Change-Id: I62322b720b0ec54c54268d9cb6a0f2d36b7c8d94
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178125
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Jenkins
(cherry picked from commit f45820f45e2cf351d3f08238952d25de0f68337d)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178126

diff --git a/helpcontent2 b/helpcontent2
index 9ac47719f360..700dad3c8ed1 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 9ac47719f3608f2483f05e26498332314717b9b8
+Subproject commit 700dad3c8ed1ce2cf73a96dab779f2f50caa7a01


help.git: Branch 'libreoffice-25-2' - source/text

2024-12-09 Thread Ilmari Lauhakangas (via logerrit)
 source/text/scalc/01/0406.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 700dad3c8ed1ce2cf73a96dab779f2f50caa7a01
Author: Ilmari Lauhakangas 
AuthorDate: Mon Dec 9 10:55:41 2024 +0200
Commit: Ilmari Lauhakangas 
CommitDate: Mon Dec 9 10:00:10 2024 +0100

tdf#161502 Update label Structure to Content in Function Wizard help

Change-Id: I62322b720b0ec54c54268d9cb6a0f2d36b7c8d94
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178125
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Jenkins
(cherry picked from commit f45820f45e2cf351d3f08238952d25de0f68337d)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178126

diff --git a/source/text/scalc/01/0406.xhp 
b/source/text/scalc/01/0406.xhp
index 56e3a6a436..f4cd34f979 100644
--- a/source/text/scalc/01/0406.xhp
+++ b/source/text/scalc/01/0406.xhp
@@ -103,7 +103,7 @@
 If you start the Function Wizard while 
the cell cursor is positioned in a cell that already contains a function, the 
Structure tab is opened and shows the composition of the current 
formula.
 
 
-Structure
+Content
 Displays a hierarchical representation of 
the current function. You can hide or show the arguments by a click on 
the plus or minus sign in front.
 Blue dots denote correctly entered arguments. Red 
dots indicate incorrect data types. For example: if the SUM function has one 
argument entered as text, this is highlighted in red as SUM only permits number 
entries.
 


core.git: 2 commits - svtools/source vcl/source

2024-12-09 Thread Noel Grandin (via logerrit)
 svtools/source/control/valueset.cxx |4 +---
 vcl/source/treelist/headbar.cxx |8 +---
 2 files changed, 2 insertions(+), 10 deletions(-)

New commits:
commit 3339fd9a3fbbeca3af1239487146b61486c8145f
Author: Noel Grandin 
AuthorDate: Fri Dec 6 21:09:34 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Dec 9 10:46:15 2024 +0100

remove some range checks

which are more likely to hide an underlying bug than they are to help

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

diff --git a/vcl/source/treelist/headbar.cxx b/vcl/source/treelist/headbar.cxx
index 2e34f15439b1..e8588b0371c6 100644
--- a/vcl/source/treelist/headbar.cxx
+++ b/vcl/source/treelist/headbar.cxx
@@ -1069,13 +1069,7 @@ void HeaderBar::RemoveItem( sal_uInt16 nItemId )
 {
 sal_uInt16 nPos = GetItemPos( nItemId );
 if ( nPos != HEADERBAR_ITEM_NOTFOUND )
-{
-if ( nPos < mvItemList.size() ) {
-auto it = mvItemList.begin();
-it += nPos;
-mvItemList.erase( it );
-}
-}
+mvItemList.erase( mvItemList.begin() + nPos );
 }
 
 void HeaderBar::MoveItem( sal_uInt16 nItemId, sal_uInt16 nNewPos )
commit d18ab050c4ce0536abd4bc9339a6dd1436172d7e
Author: Noel Grandin 
AuthorDate: Fri Dec 6 20:24:44 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Dec 9 10:46:06 2024 +0100

remove some range checks

which are more likely to hide an underlying bug than they are to help

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

diff --git a/svtools/source/control/valueset.cxx 
b/svtools/source/control/valueset.cxx
index a3dcb17d9a77..f1437e6aa0be 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -524,9 +524,7 @@ void ValueSet::RemoveItem( sal_uInt16 nItemId )
 if ( nPos == VALUESET_ITEM_NOTFOUND )
 return;
 
-if ( nPos < mItemList.size() ) {
-mItemList.erase( mItemList.begin() + nPos );
-}
+mItemList.erase( mItemList.begin() + nPos );
 
 // reset variables
 if (mnHighItemId == nItemId || mnSelItemId == nItemId)


core.git: 2 commits - sw/source vcl/inc vcl/source

2024-12-09 Thread Noel Grandin (via logerrit)
 sw/source/core/text/inftxt.cxx |   12 ++-
 vcl/inc/salvtables.hxx |6 +++--
 vcl/source/app/salvtables.cxx  |   42 +
 3 files changed, 25 insertions(+), 35 deletions(-)

New commits:
commit 0aa4bfe37a80f3b17430cb91b4fd5e9e528efcbd
Author: Noel Grandin 
AuthorDate: Fri Dec 6 20:47:30 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Dec 9 10:45:46 2024 +0100

improve SalInstanceNotebook m_aPages handling

I added some asserts here, and discovered that sometimes
m_aPages and the pages in the underlying TabControl get out
of sync. So rather than relying on indexing into a vector,
just store a map indexed on the page identifier, which
means everything uses the same scheme now.

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

diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index c183b7fdb57c..1f8e6ea02e52 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -1161,7 +1161,8 @@ class SalInstanceNotebook : public SalInstanceWidget, 
public virtual weld::Noteb
 {
 private:
 VclPtr m_xNotebook;
-mutable std::vector> m_aPages;
+/// Constructed on-demand.
+mutable std::map> m_aPages;
 std::map, VclPtr>> 
m_aAddedPages;
 
 DECL_LINK(DeactivatePageHdl, TabControl*, bool);
@@ -2298,7 +2299,8 @@ class SalInstanceVerticalNotebook : public 
SalInstanceWidget, public virtual wel
 {
 private:
 VclPtr m_xNotebook;
-mutable std::vector> m_aPages;
+/// Constructed on-demand.
+mutable std::map> m_aPages;
 
 DECL_LINK(DeactivatePageHdl, VerticalTabControl*, bool);
 DECL_LINK(ActivatePageHdl, VerticalTabControl*, void);
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index af609ee0d9f6..493a5526b92c 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -2655,11 +2655,12 @@ weld::Container* SalInstanceNotebook::get_page(const 
OUString& rIdent) const
 sal_uInt16 nPageId = m_xNotebook->GetPageId(rIdent);
 TabPage* pPage = m_xNotebook->GetTabPage(nPageId);
 vcl::Window* pChild = pPage->GetChild(0);
-if (m_aPages.size() < nPageIndex + 1U)
-m_aPages.resize(nPageIndex + 1U);
-if (!m_aPages[nPageIndex])
-m_aPages[nPageIndex] = std::make_shared(pChild, 
m_pBuilder, false);
-return m_aPages[nPageIndex].get();
+auto it = m_aPages.find(rIdent);
+if (it != m_aPages.end())
+return it->second.get();
+auto pNew = std::make_shared(pChild, m_pBuilder, 
false);
+m_aPages[rIdent] = pNew;
+return pNew.get();
 }
 
 void SalInstanceNotebook::set_current_page(int nPage)
@@ -2680,8 +2681,7 @@ void SalInstanceNotebook::remove_page(const OUString& 
rIdent)
 return;
 
 m_xNotebook->RemovePage(nPageId);
-if (nPageIndex < m_aPages.size())
-m_aPages.erase(m_aPages.begin() + nPageIndex);
+m_aPages.erase(rIdent);
 
 auto iter = m_aAddedPages.find(rIdent);
 if (iter != m_aAddedPages.end())
@@ -2709,13 +2709,6 @@ void SalInstanceNotebook::insert_page(const OUString& 
rIdent, const OUString& rL
 m_xNotebook->SetTabPage(nNewPageId, xPage);
 m_xNotebook->SetPageName(nNewPageId, rIdent);
 m_aAddedPages.try_emplace(rIdent, xPage, xGrid);
-
-if (nPos != -1)
-{
-unsigned int nPageIndex = static_cast(nPos);
-if (nPageIndex < m_aPages.size())
-m_aPages.insert(m_aPages.begin() + nPageIndex, nullptr);
-}
 }
 
 int SalInstanceNotebook::get_n_pages() const { return 
m_xNotebook->GetPageCount(); }
@@ -2795,11 +2788,12 @@ weld::Container* 
SalInstanceVerticalNotebook::get_page(const OUString& rIdent) c
 if (nPageIndex == -1)
 return nullptr;
 auto pChild = m_xNotebook->GetPage(rIdent);
-if (m_aPages.size() < nPageIndex + 1U)
-m_aPages.resize(nPageIndex + 1U);
-if (!m_aPages[nPageIndex])
-m_aPages[nPageIndex].reset(new SalInstanceContainer(pChild, 
m_pBuilder, false));
-return m_aPages[nPageIndex].get();
+auto it = m_aPages.find(rIdent);
+if (it != m_aPages.end())
+return it->second.get();
+auto pNew = std::make_shared(pChild, m_pBuilder, 
false);
+m_aPages[rIdent] = pNew;
+return pNew.get();
 }
 
 void SalInstanceVerticalNotebook::set_current_page(int nPage)
@@ -2818,8 +2812,7 @@ void SalInstanceVerticalNotebook::remove_page(const 
OUString& rIdent)
 if (nPageIndex == TAB_PAGE_NOTFOUND)
 return;
 m_xNotebook->RemovePage(rIdent);
-if (nPageIndex < m_aPages.size())
-m_aPages.erase(m_aPages.begin() + nPageIndex);
+m_aPages.erase(rIdent);
 }
 
 void SalInstanceVerticalNotebook::insert_page(const OUString& rIdent, const 
OUString& rLabel,
@@ -2829,13 +2822,6 @@ void SalInstanceVerticalNotebook::insert_page(const 
OUString& rIdent, const OUSt
 xGrid->set_hexpand(true);
 x

core.git: 2 commits - editeng/source vcl/source

2024-12-09 Thread Noel Grandin (via logerrit)
 editeng/source/editeng/ContentNode.cxx |3 ---
 vcl/source/window/menuitemlist.cxx |5 +
 2 files changed, 1 insertion(+), 7 deletions(-)

New commits:
commit 10c2eee93be76d8bdad980bd86d02c84896758c1
Author: Noel Grandin 
AuthorDate: Fri Dec 6 19:53:51 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Dec 9 10:46:32 2024 +0100

remove some range checks

which are more likely to hide an underlying bug than they are to help

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

diff --git a/editeng/source/editeng/ContentNode.cxx 
b/editeng/source/editeng/ContentNode.cxx
index b7e7f4b0e8ee..3721016db04c 100644
--- a/editeng/source/editeng/ContentNode.cxx
+++ b/editeng/source/editeng/ContentNode.cxx
@@ -906,9 +906,6 @@ void CharAttribList::Remove(const EditCharAttrib* p)
 
 void CharAttribList::Remove(sal_Int32 nPos)
 {
-if (nPos >= static_cast(maAttribs.size()))
-return;
-
 maAttribs.erase(maAttribs.begin()+nPos);
 }
 
commit b0d6329c055d66a7a07fbbee89015e3843945682
Author: Noel Grandin 
AuthorDate: Fri Dec 6 21:58:03 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Dec 9 10:46:24 2024 +0100

remove some range checks

which are more likely to hide an underlying bug than they are to help

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

diff --git a/vcl/source/window/menuitemlist.cxx 
b/vcl/source/window/menuitemlist.cxx
index d6849e3e71a2..9a196a6723bb 100644
--- a/vcl/source/window/menuitemlist.cxx
+++ b/vcl/source/window/menuitemlist.cxx
@@ -138,10 +138,7 @@ void MenuItemList::InsertSeparator(const OUString &rIdent, 
size_t nPos)
 
 void MenuItemList::Remove( size_t nPos )
 {
-if( nPos < maItemList.size() )
-{
-maItemList.erase( maItemList.begin() + nPos );
-}
+maItemList.erase( maItemList.begin() + nPos );
 }
 
 void MenuItemList::Clear()


core.git: desktop/source include/vcl vcl/headless vcl/qt5 vcl/source

2024-12-09 Thread Noel Grandin (via logerrit)
 desktop/source/app/app.cxx|2 +-
 include/vcl/svapp.hxx |4 ++--
 vcl/headless/svpinst.cxx  |4 ++--
 vcl/qt5/QtInstance.cxx|8 
 vcl/qt5/QtTimer.cxx   |2 +-
 vcl/source/app/salvtables.cxx |4 ++--
 vcl/source/app/svapp.cxx  |8 
 7 files changed, 16 insertions(+), 16 deletions(-)

New commits:
commit 8f9f04421b45d07b600078d968afa45384ee7060
Author: Noel Grandin 
AuthorDate: Fri Dec 6 13:22:13 2024 +0200
Commit: Noel Grandin 
CommitDate: Mon Dec 9 11:24:44 2024 +0100

rename IsOnSystemEventLoop -> IsUseSystemEventLoop

to match the underlying field and avoid confusion.

The "IsOn" prefix normally means "is the current thread running on",
which is not what this method means

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

diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index cb4a4de7db9e..789dedf24673 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -2088,7 +2088,7 @@ void Desktop::OpenClients()
 bool bExistsSessionData  = false;
 bool const bDisableRecovery
 = getenv("OOO_DISABLE_RECOVERY") != nullptr
-  || IsOnSystemEventLoop()
+  || IsUseSystemEventLoop()
   || !officecfg::Office::Recovery::RecoveryInfo::Enabled::get();
 
 impl_checkRecoveryState(bCrashed, bExistsRecoveryData, 
bExistsSessionData);
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 719ced7a0e21..979068233d36 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -1296,11 +1296,11 @@ public:
 static css::uno::Reference< css::ui::dialogs::XFolderPicker2 >
 createFolderPicker( const css::uno::Reference< 
css::uno::XComponentContext >& rServiceManager );
 
-/** Returns true, if the VCL plugin runs on the system event loop.
+/** Returns true, if the VCL plugin should run on the system event loop.
  *
  *  AKA the VCL plugin can't handle nested event loops, like WASM or 
mobile.
  */
-static bool IsOnSystemEventLoop();
+static bool IsUseSystemEventLoop();
 
 ///@}
 
diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 0b65626947aa..54ac078f83f0 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -288,7 +288,7 @@ static void loop(void * arg) {
 }
 
 bool SvpSalInstance::DoExecute(int &) {
-assert(Application::IsOnSystemEventLoop());
+assert(Application::IsUseSystemEventLoop());
 // emscripten_set_main_loop will unwind the stack by throwing a JavaScript 
exception, so we need
 // to manually undo the call of AcquireYieldMutex() done in InitVCL:
 ReleaseYieldMutex(false);
@@ -299,7 +299,7 @@ bool SvpSalInstance::DoExecute(int &) {
 }
 
 void SvpSalInstance::DoQuit() {
-assert(Application::IsOnSystemEventLoop());
+assert(Application::IsUseSystemEventLoop());
 }
 
 #endif
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index 575e21514698..aa1c369fbe2d 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -778,8 +778,8 @@ std::unique_ptr 
QtInstance::CreateQApplication(int& nArgc, char**
 
 bool QtInstance::DoExecute(int& nExitCode)
 {
-const bool bIsOnSystemEventLoop = Application::IsOnSystemEventLoop();
-if (bIsOnSystemEventLoop)
+const bool bIsUseSystemEventLoop = Application::IsUseSystemEventLoop();
+if (bIsUseSystemEventLoop)
 {
 #if defined EMSCRIPTEN
 // For Emscripten, QApplication::exec() will unwind the stack by 
throwing a JavaScript
@@ -791,12 +791,12 @@ bool QtInstance::DoExecute(int& nExitCode)
 O3TL_UNREACHABLE;
 #endif
 }
-return bIsOnSystemEventLoop;
+return bIsUseSystemEventLoop;
 }
 
 void QtInstance::DoQuit()
 {
-if (Application::IsOnSystemEventLoop())
+if (Application::IsUseSystemEventLoop())
 QApplication::quit();
 }
 
diff --git a/vcl/qt5/QtTimer.cxx b/vcl/qt5/QtTimer.cxx
index dd6d21556e91..9506801609e9 100644
--- a/vcl/qt5/QtTimer.cxx
+++ b/vcl/qt5/QtTimer.cxx
@@ -42,7 +42,7 @@ QtTimer::QtTimer()
 void QtTimer::timeoutActivated()
 {
 SolarMutexGuard aGuard;
-if (Application::IsOnSystemEventLoop())
+if (Application::IsUseSystemEventLoop())
 {
 const ImplSVData* pSVData = ImplGetSVData();
 assert(pSVData && pSVData->mpDefInst);
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 493a5526b92c..14746134dae0 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -169,14 +169,14 @@ bool SalInstance::CallEventCallback(void const* pEvent, 
int nBytes)
 bool SalInstance::DoExecute(int&)
 {
 // can't run on system event loop without implementing DoExecute and DoQuit
-if (Application::IsOnSystemEventLoop())
+if (Application::IsUseSystemEventLoop())
 std::a

core.git: Branch 'feature/allo_contract45533b' - vcl/source

2024-12-09 Thread Stephan Bergmann (via logerrit)
 vcl/source/pdf/XmpMetadata.cxx |8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

New commits:
commit 3dd81d22c7321e92f675a10f301924f65d1cebd9
Author: Stephan Bergmann 
AuthorDate: Wed Dec 13 13:11:03 2023 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 09:23:03 2024 +0100

Work around strange error seen at least with VS 2022 Preview 17.9.0 Preview 
2.0

> vcl/source/pdf/XmpMetadata.cxx(39): error C2440: '': 
cannot convert from 'initializer list' to 'rtl::OStringLiteral<55>'
> vcl/source/pdf/XmpMetadata.cxx(39): note: Invalid aggregate initialization
> vcl/source/pdf/XmpMetadata.cxx(39): note: too many initializers

(Smells like a bug in that compiler's u8"..." handling, where it maybe gets
tripped by the 3-byte UTF-8 encoding of \uFEFF?)

Change-Id: I1c6a856a67c8328ed5fcc2f2fa6bb26f16319f55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160681
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit 297a6673175308168669870882c016b496652a76)

diff --git a/vcl/source/pdf/XmpMetadata.cxx b/vcl/source/pdf/XmpMetadata.cxx
index 53bf3902ab2b..ddd638551bd5 100644
--- a/vcl/source/pdf/XmpMetadata.cxx
+++ b/vcl/source/pdf/XmpMetadata.cxx
@@ -8,6 +8,10 @@
  *
  */
 
+#include 
+
+#include 
+
 #include 
 #include 
 
@@ -35,8 +39,8 @@ void XmpMetadata::write()
 mpMemoryStream = std::make_unique(4096 /*Initial*/, 64 
/*Resize*/);
 
 // Header
-mpMemoryStream->WriteOString(
-OStringLiteral(u8"
"));
+mpMemoryStream->WriteOString(std::string_view(reinterpret_cast(
+u8"
")));
 
 {
 tools::XmlWriter aXmlWriter(mpMemoryStream.get());


core.git: Branch 'distro/collabora/co-24.04' - sw/qa sw/source

2024-12-09 Thread Miklos Vajna (via logerrit)
 sw/qa/core/layout/calcmove.cxx  |   18 
++
 sw/qa/core/layout/data/ignore-top-margin-page-style-change.docx |binary
 sw/source/core/layout/calcmove.cxx  |   10 +
 3 files changed, 28 insertions(+)

New commits:
commit 6c7c0d0fb749470e71f12a98e5fde88bef4a92af
Author: Miklos Vajna 
AuthorDate: Fri Dec 6 14:09:28 2024 +0100
Commit: Caolán McNamara 
CommitDate: Mon Dec 9 09:31:42 2024 +0100

tdf#164095 sw: fix missing top margin on paragraph after changing page style

Open the bugdoc, go to the page after the section break, there is a top
margin for the first paragraph there in Word, but not in Writer.

This went wrong in commit abd90828cf101581a07b9d1c371a8c3156521e9f
(tdf#160952 sw: ignore top margin of para on non-first pages with newer
DOCX, 2024-05-14), where it seemed that all implicit and explicit page
breaks want to ignore that top margin for the first paragraph.

Turns out this is more complex: implicit breaks and page breaks should
be followed by an ignore, but not paragraphs after "section break (next
page)". So restore the margins for the RES_PAGEDESC, but continue to
have them for RES_BREAK & implicit breaks.

(cherry picked from commit ae7900dd42a65aaf60df6b21b9ad511496b209d9)

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

diff --git a/sw/qa/core/layout/calcmove.cxx b/sw/qa/core/layout/calcmove.cxx
index ad53df9bd0f4..2a14e4cf90dd 100644
--- a/sw/qa/core/layout/calcmove.cxx
+++ b/sw/qa/core/layout/calcmove.cxx
@@ -82,6 +82,24 @@ CPPUNIT_TEST_FIXTURE(Test, testIgnoreTopMarginFly)
 // is a Writer feature.
 CPPUNIT_ASSERT_EQUAL(static_cast(4000), nParaTopMargin);
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testIgnoreTopMarginPageStyleChange)
+{
+// Given a DOCX (>= Word 2013), section break (next page) between pages 2 
and 3:
+createSwDoc("ignore-top-margin-page-style-change.docx");
+
+// When laying out that document:
+xmlDocUniquePtr pXmlDoc = parseLayoutDump();
+
+// Then make sure that the top margin is not ignored on page 3:
+sal_Int32 nParaTopMargin
+= getXPath(pXmlDoc, "/root/page[3]/body/txt/infos/prtBounds"_ostr, 
"top"_ostr).toInt32();
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: 2000
+// - Actual  : 0
+// i.e. the top margin was ignored, which is incorrect.
+CPPUNIT_ASSERT_EQUAL(static_cast(2000), nParaTopMargin);
+}
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/core/layout/data/ignore-top-margin-page-style-change.docx 
b/sw/qa/core/layout/data/ignore-top-margin-page-style-change.docx
new file mode 100644
index ..ea7d16d8851f
Binary files /dev/null and 
b/sw/qa/core/layout/data/ignore-top-margin-page-style-change.docx differ
diff --git a/sw/source/core/layout/calcmove.cxx 
b/sw/source/core/layout/calcmove.cxx
index 0aac409e155b..89a133bd2393 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -1114,6 +1114,16 @@ bool SwFrame::IsCollapseUpper() const
 return false;
 }
 
+// Avoid the ignore after applying a new page style (but do it after page 
breaks).
+const SwTextNode* pTextNode = pTextFrame->GetTextNodeForParaProps();
+if (pTextNode)
+{
+if (pTextNode->HasSwAttrSet() && 
pTextNode->GetSwAttrSet().HasItem(RES_PAGEDESC))
+{
+return false;
+}
+}
+
 return true;
 }
 


core.git: Branch 'distro/collabora/co-24.04' - sw/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 sw/source/filter/ww8/rtfattributeoutput.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit b184beaeba2652fc1eec07a5d27848e86d3203ac
Author: Caolán McNamara 
AuthorDate: Fri Dec 6 16:57:26 2024 +
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 11:05:02 2024 +0100

crashtesting: failure to reimport forum-it-2308.odt rtf export

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

diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx 
b/sw/source/filter/ww8/rtfattributeoutput.cxx
index f39492693c58..b6508007b42e 100644
--- a/sw/source/filter/ww8/rtfattributeoutput.cxx
+++ b/sw/source/filter/ww8/rtfattributeoutput.cxx
@@ -2511,12 +2511,12 @@ void RtfAttributeOutput::OutputFlyFrame_Impl(const 
ww8::Frame& rFrame, const Poi
 else
 SAL_INFO("sw.rtf", __func__ << " unhandled form 
control: '"
 << 
xInfo->getImplementationName() << "'");
-m_aRun->append('}');
 }
 }
 }
 
 m_aRun->append('}');
+m_aRun->append('}');
 }
 break;
 case ww8::Frame::eOle:


core.git: Branch 'distro/collabora/co-24.04' - sd/source

2024-12-09 Thread Tomaž Vajngerl (via logerrit)
 sd/source/ui/tools/SlideshowLayerRenderer.cxx |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit fa838c5405ebeb1e367ad1a7c0ceab8e70019f85
Author: Tomaž Vajngerl 
AuthorDate: Mon Dec 9 15:55:57 2024 +0900
Commit: Marco Cecchetti 
CommitDate: Mon Dec 9 11:52:07 2024 +0100

slideshow: need to set the page background color to the outliner

This is needed or else we don't correctly determine and set what
the auto color is for a particular page, which has the result that
sometimes we set the text color to white where it should be black
and probably also vice-versa.

Change-Id: If17a008a49fbdd87e6bbb5299fe8efe506165a1b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178122
Reviewed-by: Marco Cecchetti 
Tested-by: Jenkins CollaboraOffice 

diff --git a/sd/source/ui/tools/SlideshowLayerRenderer.cxx 
b/sd/source/ui/tools/SlideshowLayerRenderer.cxx
index 82566df8828c..bf15654013b0 100644
--- a/sd/source/ui/tools/SlideshowLayerRenderer.cxx
+++ b/sd/source/ui/tools/SlideshowLayerRenderer.cxx
@@ -58,6 +58,7 @@ private:
 SdrPage& mrPage;
 
 EEControlBits mnSavedControlBits;
+Color maSavedBackgroundColor;
 
 public:
 ScopedVclPtrInstance maVirtualDevice;
@@ -67,8 +68,13 @@ public:
 , mrPage(rPage)
 , maVirtualDevice(DeviceFormat::WITHOUT_ALPHA)
 {
-// Turn off spelling
 SdrOutliner& rOutliner = mrModel.GetDrawOutliner();
+
+// Set the background color
+maSavedBackgroundColor = rOutliner.GetBackgroundColor();
+rOutliner.SetBackgroundColor(mrPage.GetPageBackgroundColor());
+
+// Turn off spelling
 mnSavedControlBits = rOutliner.GetControlWord();
 rOutliner.SetControlWord(mnSavedControlBits & 
~EEControlBits::ONLINESPELLING);
 
@@ -95,6 +101,7 @@ public:
 // Restore spelling
 SdrOutliner& rOutliner = mrModel.GetDrawOutliner();
 rOutliner.SetControlWord(mnSavedControlBits);
+rOutliner.SetBackgroundColor(maSavedBackgroundColor);
 }
 };
 


core.git: Branch 'distro/collabora/co-24.04' - officecfg/registry sfx2/source

2024-12-09 Thread Mike Kaganski (via logerrit)
 officecfg/registry/schema/org/openoffice/Office/Common.xcs |6 ++
 sfx2/source/dialog/backingwindow.cxx   |   13 +
 sfx2/source/doc/docfile.cxx|4 
 sfx2/source/doc/objmisc.cxx|3 ++-
 sfx2/source/view/frmload.cxx   |5 +
 sfx2/source/view/viewfrm.cxx   |6 ++
 6 files changed, 36 insertions(+), 1 deletion(-)

New commits:
commit 3a3ee9915947940b509f28c1d74fd2b49ffd709c
Author: Mike Kaganski 
AuthorDate: Fri Dec 6 00:55:59 2024 +0500
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 14:27:37 2024 +0100

tdf#62845: Introduce an application-wide viewer mode

Using the new 'ViewerAppMode' expert setting, the UI should disable
all the edit controls; all options to create new content (including
new documents); i.e., work as a view-only application.

This change:

1. Introduces the setting.
2. Checks it in SfxMedium::IsReadOnly, making sure that all documents
   always have read-only medium.
3. Checks it in SfxFrameLoader_Impl::load, to prevent creation of new
   documents.
4. Checks it in SfxObjectShell::isEditDocLocked, to prevent entering
   edit mode.
5. Checks it in BackingWindow::checkInstalledModules, to hide buttons
   that create new documents.
6. Checks it in SfxViewFrame methods, to avoid showing "readonly" and
   "macros" infobars.

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

diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs 
b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index b4bd480f4152..f3555068dd46 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5551,6 +5551,12 @@
 
 true
   
+  
+
+  Open all files in read-only mode
+
+false
+  
 
 
   
diff --git a/sfx2/source/dialog/backingwindow.cxx 
b/sfx2/source/dialog/backingwindow.cxx
index fb229f0f3f4a..12648c167253 100644
--- a/sfx2/source/dialog/backingwindow.cxx
+++ b/sfx2/source/dialog/backingwindow.cxx
@@ -404,6 +404,19 @@ void BackingWindow::initializeLocalView()
 
 void BackingWindow::checkInstalledModules()
 {
+if (officecfg::Office::Common::Misc::ViewerAppMode::get())
+{
+mxTemplateButton->set_visible(false);
+mxCreateLabel->set_visible(false);
+mxWriterAllButton->set_visible(false);
+mxCalcAllButton->set_visible(false);
+mxImpressAllButton->set_visible(false);
+mxDrawAllButton->set_visible(false);
+mxMathAllButton->set_visible(false);
+mxDBAllButton->set_visible(false);
+return;
+}
+
 SvtModuleOptions aModuleOpt;
 
 mxWriterAllButton->set_sensitive( aModuleOpt.IsModuleInstalled( 
SvtModuleOptions::EModule::WRITER ));
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index bbeff77e3b70..f4796d00955d 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -3959,6 +3959,10 @@ void SfxMedium::SaveVersionList_Impl()
 
 bool SfxMedium::IsReadOnly() const
 {
+// Application-wide read-only mode first
+if (officecfg::Office::Common::Misc::ViewerAppMode::get())
+return true;
+
 // a) ReadOnly filter can't produce read/write contents!
 bool bReadOnly = pImpl->m_pFilter && (pImpl->m_pFilter->GetFilterFlags() & 
SfxFilterFlags::OPENREADONLY);
 
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index c6696c004e29..d7b2087fe3e2 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -2019,7 +2019,8 @@ bool SfxObjectShell::isEditDocLocked() const
 Reference xModel = GetModel();
 if (!xModel.is())
 return false;
-if (!officecfg::Office::Common::Misc::AllowEditReadonlyDocs::get())
+if (officecfg::Office::Common::Misc::ViewerAppMode::get()
+|| !officecfg::Office::Common::Misc::AllowEditReadonlyDocs::get())
 return true;
 return comphelper::NamedValueCollection::getOrDefault(xModel->getArgs2( { 
"LockEditDoc" } ), u"LockEditDoc", false);
 }
diff --git a/sfx2/source/view/frmload.cxx b/sfx2/source/view/frmload.cxx
index 7f58a397ccd3..99a06d12f269 100644
--- a/sfx2/source/view/frmload.cxx
+++ b/sfx2/source/view/frmload.cxx
@@ -53,6 +53,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -626,6 +627,10 @@ sal_Bool SAL_CALL SfxFrameLoader_Impl::load( const 
Sequence< PropertyValue >& rA
 // check for factory URLs to create a new doc, instead of loading one
 const OUString sURL = aDescriptor.getOrDefault( "URL", OUString() );
 const bool bIsFactoryURL = sURL.startsWith( "private

core.git: desktop/source include/LibreOfficeKit include/vcl sd/qa sd/source

2024-12-09 Thread Marco Cecchetti (via logerrit)
 desktop/source/lib/init.cxx  |4 
 include/LibreOfficeKit/LibreOfficeKit.h  |1 +
 include/LibreOfficeKit/LibreOfficeKit.hxx|3 ++-
 include/vcl/ITiledRenderable.hxx |1 +
 sd/qa/unit/tiledrendering/tiledrendering.cxx |   15 +++
 sd/source/ui/inc/unomodel.hxx|1 +
 sd/source/ui/unoidl/unomodel.cxx |   26 ++
 7 files changed, 46 insertions(+), 5 deletions(-)

New commits:
commit 7364b3a2d820e028d30237cf13f562674759dc4f
Author: Marco Cecchetti 
AuthorDate: Sun Sep 8 12:19:46 2024 +0200
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 14:34:12 2024 +0100

lok: slideshow rework: check that requested slide is the expected one

Change-Id: I225dfea9981d43fb90888f5025792e9d24d9a789
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173061
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Szymon Kłos 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178129
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index d5ac74a2d14e..0a1a2a620150 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -1331,6 +1331,7 @@ static char* 
doc_getPresentationInfo(LibreOfficeKitDocument* pThis);
 
 static bool doc_createSlideRenderer(
 LibreOfficeKitDocument* pThis,
+const char* pSlideHash,
 int nSlideNumber, unsigned* nViewWidth, unsigned* nViewHeight,
 bool bRenderBackground, bool bRenderMasterPage);
 
@@ -5724,6 +5725,7 @@ static char* 
doc_getPresentationInfo(LibreOfficeKitDocument* pThis)
 
 static bool doc_createSlideRenderer(
 LibreOfficeKitDocument* pThis,
+const char* pSlideHash,
 int nSlideNumber, unsigned* pViewWidth, unsigned* pViewHeight,
 bool bRenderBackground, bool bRenderMasterPage)
 {
@@ -5737,9 +5739,11 @@ static bool doc_createSlideRenderer(
 return false;
 }
 
+OString sSlideHash(pSlideHash);
 sal_Int32 nViewWidth = *pViewWidth;
 sal_Int32 nViewHeight = *pViewHeight;
 bool bReturn = pDoc->createSlideRenderer(
+sSlideHash,
 nSlideNumber, nViewWidth, nViewHeight,
 bRenderBackground, bRenderMasterPage);
 
diff --git a/include/LibreOfficeKit/LibreOfficeKit.h 
b/include/LibreOfficeKit/LibreOfficeKit.h
index 757fb75821f7..b06b978db16c 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.h
+++ b/include/LibreOfficeKit/LibreOfficeKit.h
@@ -541,6 +541,7 @@ struct _LibreOfficeKitDocumentClass
 /// @see lok::Document::createSlideRenderer
 bool (*createSlideRenderer) (
 LibreOfficeKitDocument* pThis,
+const char* pSlideHash,
 int nSlideNumber, unsigned* nViewWidth, unsigned* nViewHeight,
 bool bRenderBackground, bool bRenderMasterPage);
 
diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx 
b/include/LibreOfficeKit/LibreOfficeKit.hxx
index edd62dd59aff..b311fa03d1a9 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.hxx
+++ b/include/LibreOfficeKit/LibreOfficeKit.hxx
@@ -917,11 +917,12 @@ public:
 
 /// Create a slide renderer in core for the input slide.
 bool createSlideRenderer(
+const char* pSlideHash,
 int nSlideNumber, unsigned* nViewWidth, unsigned* nViewHeight,
 bool bRenderBackground, bool bRenderMasterPage)
 {
 return mpDoc->pClass->createSlideRenderer(
-mpDoc, nSlideNumber, nViewWidth, nViewHeight, bRenderBackground, 
bRenderMasterPage);
+mpDoc, pSlideHash, nSlideNumber, nViewWidth, nViewHeight, 
bRenderBackground, bRenderMasterPage);
 }
 
 /// Clean-up the slideshow (slide renderer)
diff --git a/include/vcl/ITiledRenderable.hxx b/include/vcl/ITiledRenderable.hxx
index 05db0bad6db0..9e57fc53b0a0 100644
--- a/include/vcl/ITiledRenderable.hxx
+++ b/include/vcl/ITiledRenderable.hxx
@@ -392,6 +392,7 @@ public:
 }
 /** Creates a slide show renderer (Impress only function) */
 virtual bool createSlideRenderer(
+const OString& /*rSlideHash*/,
 sal_Int32 /*nSlideNumber*/, sal_Int32& /*nViewWidth*/, sal_Int32& 
/*nViewHeight*/,
 bool /*bRenderBackground*/, bool /*bRenderMasterPage*/)
{
diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx 
b/sd/qa/unit/tiledrendering/tiledrendering.cxx
index 18b213e99abf..5f0a3b747a64 100644
--- a/sd/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx
@@ -30,6 +30,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -41,6 +42,7 @@
 #include 
 #include 
 #include 
+
 #include 
 #include 
 #include 
@@ -2791,9 +2793,10 @@ CPPUNIT_TEST_FIXTURE(SdTiledRenderingTest, 
testSlideshowLayeredRendering)
 CPPUNIT_ASSERT(pViewShell);
 SdPage* pPage = pViewShell->GetActualPage();
 CPPUNIT_ASSERT(pPage);
+std::string sHash = GetInterfaceHash(GetXDrawPageForSdrPage(pPage));
 sal_Int32 

core.git: Branch 'distro/collabora/co-24.04' - framework/inc framework/source

2024-12-09 Thread Mike Kaganski (via logerrit)
 framework/inc/uielement/styletoolbarcontroller.hxx|4 +
 framework/source/uielement/styletoolbarcontroller.cxx |   47 +-
 2 files changed, 39 insertions(+), 12 deletions(-)

New commits:
commit 9a459a782b9cb03ef70906a7916dc70adebb6cc5
Author: Mike Kaganski 
AuthorDate: Fri Dec 6 17:51:10 2024 +0500
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 14:40:20 2024 +0100

Let StyleDispatcher take the state of StyleApply slot into account

Before, it only listened to ParaStyle, or CharStyle, etc. obtained
in MapFamilyToCommand; and that meant, that its actual command was
".uno:StyleApply?...", but StyleApply state was ignored. This meant
that all respective items under "Style" menu were enabled in read-
only mode, where StyleApply itself was inactive.

Listen to both. When StyleApply is disabled, that takes priority.

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

diff --git a/framework/inc/uielement/styletoolbarcontroller.hxx 
b/framework/inc/uielement/styletoolbarcontroller.hxx
index 45b1ad7eccce..c155a7b2242b 100644
--- a/framework/inc/uielement/styletoolbarcontroller.hxx
+++ b/framework/inc/uielement/styletoolbarcontroller.hxx
@@ -52,8 +52,10 @@ private:
 OUString m_aStyleName, m_aCommand, m_aStatusCommand;
 css::uno::Reference< css::util::XURLTransformer > m_xUrlTransformer;
 css::uno::Reference< css::frame::XDispatchProvider > m_xFrame;
-css::uno::Reference< css::frame::XDispatch > m_xStatusDispatch;
+css::uno::Reference< css::frame::XDispatch > m_xStyleApplyStatusDispatch;
+css::uno::Reference< css::frame::XDispatch > m_xStyleFamilyStatusDispatch;
 css::uno::Reference< css::frame::XStatusListener > m_xOwner;
+bool m_bStyleApplyEnabled = true; // If this is disabled, style family 
state is irrelevant
 };
 
 class StyleToolbarController final : public svt::ToolboxController
diff --git a/framework/source/uielement/styletoolbarcontroller.cxx 
b/framework/source/uielement/styletoolbarcontroller.cxx
index 3ff1e777eb6d..e2ebc5032d1e 100644
--- a/framework/source/uielement/styletoolbarcontroller.cxx
+++ b/framework/source/uielement/styletoolbarcontroller.cxx
@@ -127,9 +127,12 @@ StyleDispatcher::StyleDispatcher( const 
css::uno::Reference< css::frame::XFrame
 if ( m_xFrame.is() )
 {
 css::util::URL aStatusURL;
+aStatusURL.Complete = u".uno:StyleApply"_ustr;
+m_xUrlTransformer->parseStrict( aStatusURL );
+m_xStyleApplyStatusDispatch = m_xFrame->queryDispatch(aStatusURL, 
OUString(), 0);
 aStatusURL.Complete = m_aStatusCommand;
 m_xUrlTransformer->parseStrict( aStatusURL );
-m_xStatusDispatch = m_xFrame->queryDispatch( aStatusURL, OUString(), 0 
);
+m_xStyleFamilyStatusDispatch = m_xFrame->queryDispatch(aStatusURL, 
OUString(), 0);
 }
 }
 
@@ -147,32 +150,51 @@ void StyleDispatcher::dispatch( const css::util::URL& 
rURL,
 void StyleDispatcher::addStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& rListener,
  const css::util::URL& /*rURL*/ )
 {
-if ( m_xStatusDispatch.is() )
+if ( !m_xOwner.is() )
+m_xOwner.set( rListener );
+if (m_xStyleApplyStatusDispatch)
+{
+css::util::URL aStatusURL;
+aStatusURL.Complete = u".uno:StyleApply"_ustr;
+m_xUrlTransformer->parseStrict(aStatusURL);
+m_xStyleApplyStatusDispatch->addStatusListener(this, aStatusURL);
+}
+if (m_xStyleFamilyStatusDispatch)
 {
-if ( !m_xOwner.is() )
-m_xOwner.set( rListener );
-
 css::util::URL aStatusURL;
 aStatusURL.Complete = m_aStatusCommand;
 m_xUrlTransformer->parseStrict( aStatusURL );
-m_xStatusDispatch->addStatusListener( this, aStatusURL );
+m_xStyleFamilyStatusDispatch->addStatusListener(this, aStatusURL);
 }
 }
 
 void StyleDispatcher::removeStatusListener( const css::uno::Reference< 
css::frame::XStatusListener >& /*rListener*/,
 const css::util::URL& /*rURL*/ )
 {
-if ( m_xStatusDispatch.is() )
+if (m_xStyleFamilyStatusDispatch)
 {
 css::util::URL aStatusURL;
 aStatusURL.Complete = m_aStatusCommand;
 m_xUrlTransformer->parseStrict( aStatusURL );
-m_xStatusDispatch->removeStatusListener( this, aStatusURL );
+m_xStyleFamilyStatusDispatch->removeStatusListener(this, aStatusURL);
+}
+if (m_xStyleApplyStatusDispatch)
+{
+css::util::URL aStatusURL;
+aStatusURL.Complete = u".uno:StyleApply"_ustr;
+m_xUrlTransformer->parseStrict(aStatusURL);
+m_xStyleApplyStatusDispatch->removeStatusListener(this, aStatusURL);
 }
 }
 
 void StyleDispatcher::statusChanged( const css::frame::FeatureStateEvent& 
rEvent )

core.git: sw/inc sw/source

2024-12-09 Thread Michael Stahl (via logerrit)
 sw/inc/SwStyleNameMapper.hxx |2 -
 sw/source/core/doc/SwStyleNameMapper.cxx |3 --
 sw/source/core/unocore/unostyle.cxx  |   37 +++
 3 files changed, 16 insertions(+), 26 deletions(-)

New commits:
commit 2b8d794e448a7d3c573ff79cffe9decc8d960262
Author: Michael Stahl 
AuthorDate: Fri Dec 6 19:25:07 2024 +0100
Commit: Michael Stahl 
CommitDate: Mon Dec 9 14:44:37 2024 +0100

tdf#159549 sw: fix style name in SwXStyle::getParentStyle()

For a style that isn't inserted yet, the m_sParentStyleName is converted
to UIName by setParentStyle() but isn't converted back to ProgName in
getParentStyle().

This caused all of the writerfilter test failures in commit
c166d112381f195a171425d1f9c1d38ce579319a.

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

diff --git a/sw/inc/SwStyleNameMapper.hxx b/sw/inc/SwStyleNameMapper.hxx
index 4a3b0f1a582b..0fdfb381711a 100644
--- a/sw/inc/SwStyleNameMapper.hxx
+++ b/sw/inc/SwStyleNameMapper.hxx
@@ -89,7 +89,7 @@ public:
 // This gets the UI Name from the programmatic name
 static const OUString& GetUIName(const OUString& rName, 
SwGetPoolIdFromName);
 static void FillUIName(const OUString& rName, OUString& rFillName,
-SwGetPoolIdFromName, bool bBugfix = false);
+SwGetPoolIdFromName);
 
 // Get the programmatic Name from the UI name
 static const OUString& GetProgName(const OUString& rName,
diff --git a/sw/source/core/doc/SwStyleNameMapper.cxx 
b/sw/source/core/doc/SwStyleNameMapper.cxx
index 554ab750fe49..62d9f440e986 100644
--- a/sw/source/core/doc/SwStyleNameMapper.cxx
+++ b/sw/source/core/doc/SwStyleNameMapper.cxx
@@ -295,7 +295,7 @@ void SwStyleNameMapper::FillProgName(
 // Get the UI name from the programmatic name in rName and put it into 
rFillName
 void SwStyleNameMapper::FillUIName(
 const OUString& rName, OUString& rFillName,
-SwGetPoolIdFromName const eFlags, bool const bBugfix)
+SwGetPoolIdFromName const eFlags)
 {
 OUString aName = rName;
 if (eFlags == SwGetPoolIdFromName::ChrFmt && rName == "Standard")
@@ -306,7 +306,6 @@ void SwStyleNameMapper::FillUIName(
 {
 rFillName = aName;
 if (eFlags != SwGetPoolIdFromName::TxtColl || // FIXME do it for all 
ids
-!bBugfix || // TODO why does it change DOCX imports
 GetPoolIdFromUIName(aName, eFlags) == USHRT_MAX)
 {
 // aName isn't in our Prog name table...check if it has a " 
(user)" suffix, if so remove it
diff --git a/sw/source/core/unocore/unostyle.cxx 
b/sw/source/core/unocore/unostyle.cxx
index 098750ab418d..ae1306b66f0a 100644
--- a/sw/source/core/unocore/unostyle.cxx
+++ b/sw/source/core/unocore/unostyle.cxx
@@ -959,8 +959,7 @@ rtl::Reference 
SwXStyleFamily::getStyleByName(const OUString& rNam
 if(!m_pBasePool)
 throw uno::RuntimeException();
 OUString sStyleName;
-SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-!m_pDocShell->GetDoc()->IsInWriterfilterImport());
+SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId());
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
 if(!pBase)
 throw container::NoSuchElementException(rName);
@@ -1013,8 +1012,7 @@ sal_Bool SwXStyleFamily::hasByName(const OUString& rName)
 if(!m_pBasePool)
 throw uno::RuntimeException();
 OUString sStyleName;
-SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-m_pDocShell && !m_pDocShell->GetDoc()->IsInWriterfilterImport());
+SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId());
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
 return nullptr != pBase;
 }
@@ -1025,8 +1023,7 @@ void SwXStyleFamily::insertStyleByName(const OUString& 
rName, const rtl::Referen
 if(!m_pBasePool)
 throw uno::RuntimeException();
 OUString sStyleName;
-SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-!m_pDocShell->GetDoc()->IsInWriterfilterImport());
+SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId());
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
 if (pBase)
 throw container::ElementExistException();
@@ -1039,8 +1036,7 @@ void SwXStyleFamily::insertByName(const OUString& rName, 
const uno::Any& rElemen
 if(!m_pBasePool)
 throw uno::RuntimeException();
 OUString sStyleName;
-SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-!m_pDocShell->GetDoc()->IsInWriterfilterImport());
+SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId());
 SfxStyleSheetBase* pBase = m_pBasePoo

core.git: Branch 'distro/collabora/co-24.04' - officecfg/registry sfx2/inc sfx2/source

2024-12-09 Thread Mike Kaganski (via logerrit)
 officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu   |   42 
++
 officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs |6 +
 sfx2/inc/sidebar/DeckDescriptor.hxx|1 
 sfx2/source/sidebar/DeckDescriptor.cxx |1 
 sfx2/source/sidebar/ResourceManager.cxx|5 +
 5 files changed, 55 insertions(+)

New commits:
commit 72c90f83fb89a048c04d6cc8cfbdd44608075efa
Author: Mike Kaganski 
AuthorDate: Fri Dec 6 00:55:59 2024 +0500
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 14:51:26 2024 +0100

tdf#62845: Hide some sidebar panels in Viewer app mode

These are confusing and cluttering the UI in this mode.

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

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
index e038472d704e..465c8e5732bb 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Sidebar.xcu
@@ -39,6 +39,9 @@
 
   100
 
+
+  true
+
   
 
   
@@ -59,6 +62,9 @@
 
   600
 
+
+  true
+
   
 
   
@@ -79,6 +85,9 @@
 
   500
 
+
+  true
+
   
 
   
@@ -99,6 +108,9 @@
 
   900
 
+
+  true
+
   
 
   
@@ -119,6 +131,9 @@
 
   500
 
+
+  true
+
   
 
 
@@ -142,6 +157,9 @@
 
   300
 
+
+  true
+
   
 
   
@@ -162,6 +180,9 @@
 
   700
 
+
+  true
+
   
 
   
@@ -182,6 +203,9 @@
 
   600
 
+
+  true
+
   
 
   
@@ -202,6 +226,9 @@
 
   500
 
+
+  true
+
   
 
   
@@ -246,6 +273,9 @@
 
   200
 
+
+  true
+
   
 
   
@@ -266,6 +296,9 @@
 
   500
 
+
+  true
+
   
 
   
@@ -290,6 +323,9 @@
 
   600
 
+
+  true
+
   
 
   
@@ -313,6 +349,9 @@
 
   true
 
+
+  true
+
   
 
   
@@ -333,6 +372,9 @@
 
   300
 
+
+  true
+
   
 
 
diff --git a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs 
b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
index 4b5d13b63c5f..29c42c2c8393 100644
--- a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
@@ -140,6 +140,12 @@
 
 false
   
+  
+
+  This flag controls whether the deck is hidden when viewer 
application mode is enabled.
+
+false
+  
 
 
   
diff --git a/sfx2/inc/sidebar/DeckDescriptor.hxx 
b/sfx2/inc/sidebar/DeckDescriptor.hxx
index 8fde0c0330f7..dc9174c79383 100644
--- a/sfx2/inc/sidebar/DeckDescriptor.hxx
+++ b/sfx2/inc/sidebar/DeckDescriptor.hxx
@@ -39,6 +39,7 @@ public:
 bool mbIsEnabled;
 sal_Int32 mnOrderIndex;
 bool mbExperimental;
+bool mbHiddenInViewerMode = false;
 
 OUString msNodeName; // some impress deck nodes names are different from 
their Id
 
diff --git a/sfx2/source/sidebar/DeckDescriptor.cxx 
b/sfx2/source/sidebar/DeckDescriptor.cxx
index 29af33e33f22..97aa42cc0f3c 100644
--- a/sfx2/source/sidebar/DeckDescriptor.cxx
+++ b/sfx2/source/sidebar/DeckDescriptor.cxx
@@ -41,6 +41,7 @@ DeckDescriptor::DeckDescriptor (const DeckDescriptor& rOther)
   mbIsEnabled(rOther.mbIsEnabled),
   mnOrderIndex(rOther.mnOrderIndex),
   mbExperimental(rOther.mbExperimental),
+  mbHiddenInViewerMode(rOther.mbHiddenInViewerMode),
   mpDeck(rOther.mpDeck)
 {
 }
diff --git a/sfx2/source/sidebar/ResourceManager.cxx 
b/sfx2/source/sidebar/ResourceManager.cxx
index d4e5b9722815..29ddb809d167 100644
--- a/sfx2/source/sidebar/ResourceManager.cxx
+++ b/sfx2/source/sidebar/ResourceManager.cxx
@@ -130,6 +130,8 @@ std::shared_ptr 
ResourceManager::ImplGetDeckDescriptor(std::u16s
 {
 for (auto const& deck : maDecks)
 {
+if (deck->mbHiddenInViewerMode && 
officecfg::Office::Common::Misc::ViewerAppMode::get())
+continue;
 if (deck->mbExperimental && 
!officecfg::Office::Common::Misc::ExperimentalMode::get())
 continue;
 if (deck->msId == rsDeckId)
@@ -169,6 +171,8 @@ const ResourceManager::DeckContextDescriptorContainer& 
ResourceMan

core.git: basegfx/source include/basegfx

2024-12-09 Thread Stephan Bergmann (via logerrit)
 basegfx/source/polygon/b2dpolypolygoncutter.cxx |   21 +
 include/basegfx/point/b2dpoint.hxx  |   15 +++
 2 files changed, 20 insertions(+), 16 deletions(-)

New commits:
commit 41ab6a5dfa0bbc67c726ba872e9ef85fde67a394
Author: Stephan Bergmann 
AuthorDate: Fri Oct 25 08:20:19 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Mon Dec 9 15:13:46 2024 +0100

struct SN needs a strict weak ordering operator <

...so it can be used with std::sort in impSolve() (further down in
basegfx/source/polygon/b2dpolypolygoncutter.cxx).  At least on macOS with a
LLVM 20 trunk libc++ in hardened mode, JunitTest_sfx2_complex failed with

> 
~/llvm/inst/bin/../include/c++/v1/__debug_utils/strict_weak_ordering_check.h:59:
 assertion __comp(*(__first + __a), *(__first + __b)) failed: Your comparator 
is not a valid strict-weak ordering

To simplify the new implementation of struct SN operator <, add a B2DPoint
operator <=> (but whose implementation would cause

> In file included from 
/home/tdf/lode/jenkins/workspace/android_arm/basegfx/source/curve/b2dbeziertools.cxx:21:
> In file included from 
/home/tdf/lode/jenkins/workspace/android_arm/include/basegfx/curve/b2dcubicbezier.hxx:22:
> 
/home/tdf/lode/jenkins/workspace/android_arm/include/basegfx/point/b2dpoint.hxx:129:41:
 error: invalid operands to binary expression ('tuple' and 'tuple')
> { return std::tie(a.mnX, a.mnY) <=> std::tie(b.mnX, b.mnY); }
>  ~~ ^   ~~

etc. on Android with NDK 23.2, see
, so work around 
that
in the implementation for now).

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

diff --git a/basegfx/source/polygon/b2dpolypolygoncutter.cxx 
b/basegfx/source/polygon/b2dpolypolygoncutter.cxx
index 1cf414c1cc56..6feeb1685bfc 100644
--- a/basegfx/source/polygon/b2dpolypolygoncutter.cxx
+++ b/basegfx/source/polygon/b2dpolypolygoncutter.cxx
@@ -17,7 +17,6 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include 
 #include 
 #include 
 #include 
@@ -32,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 
 namespace basegfx
 {
@@ -72,23 +72,12 @@ namespace basegfx
 public:
 PN* mpPN;
 
+// For this to be a strict weak ordering, the assumption is that 
none of the involved
+// maPoint coordinates are NaN:
 bool operator<(const SN& rComp) const
 {
-if(fTools::equal(mpPN->maPoint.getX(), 
rComp.mpPN->maPoint.getX()))
-{
-if(fTools::equal(mpPN->maPoint.getY(), 
rComp.mpPN->maPoint.getY()))
-{
-return (mpPN->mnI < rComp.mpPN->mnI);
-}
-else
-{
-return fTools::less(mpPN->maPoint.getY(), 
rComp.mpPN->maPoint.getY());
-}
-}
-else
-{
-return fTools::less(mpPN->maPoint.getX(), 
rComp.mpPN->maPoint.getX());
-}
+return std::tie(mpPN->maPoint, mpPN->mnI)
+< std::tie(rComp.mpPN->maPoint, rComp.mpPN->mnI);
 }
 };
 
diff --git a/include/basegfx/point/b2dpoint.hxx 
b/include/basegfx/point/b2dpoint.hxx
index ce16965de042..94140aa6f5e1 100644
--- a/include/basegfx/point/b2dpoint.hxx
+++ b/include/basegfx/point/b2dpoint.hxx
@@ -19,7 +19,9 @@
 
 #pragma once
 
+#include 
 #include 
+#include 
 
 #include 
 #include 
@@ -122,6 +124,19 @@ namespace basegfx
 {
 return static_cast( 
::basegfx::B2DTuple::getEmptyTuple() );
 }
+
+friend auto operator <=>(B2DPoint const & a, B2DPoint const & b)
+{
+// Avoid compilation failure with Android NDK 23.2, where 
std::tuple operator <=> isn't
+// yet implemented (and where __cpp_lib_three_way_comparison 
happens to not be defined
+// in , so discriminate on that):
+#if defined __cpp_lib_three_way_comparison
+return std::tie(a.mnX, a.mnY) <=> std::tie(b.mnX, b.mnY);
+#else
+auto const comp = a.mnX <=> b.mnX;
+return comp == 0 ? a.mnY <=> b.mnY : comp;
+#endif
+}
 };
 
 // external operators


core.git: svl/qa svl/source

2024-12-09 Thread Eike Rathke (via logerrit)
 svl/qa/unit/svl.cxx |   21 -
 svl/source/numbers/zforfind.cxx |4 
 2 files changed, 16 insertions(+), 9 deletions(-)

New commits:
commit 47b4b1633a08dd4c97d66feabe8cd3290074dc0f
Author: Eike Rathke 
AuthorDate: Mon Dec 9 19:03:44 2024 +0100
Commit: Eike Rathke 
CommitDate: Mon Dec 9 20:34:41 2024 +0100

Resolves: tdf#164239 Can force Y-M-D to ISO 8601 if no date acceptance 
pattern

... was matched at all, even for a-b-c with MDY a<=12 or DMY a<=31.

Change-Id: Ie2d62c73c91794a96114b787d6ad2357c7affb2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178171
Reviewed-by: Eike Rathke 
Tested-by: Jenkins

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 1b90ee5c8b88..80ec80e0d87e 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1170,7 +1170,7 @@ void Test::testIsNumberFormat()
 { "Sept 1", true }, //tdf#127363
 { "5/d", false }, //tdf#143165
 { "Jan 1 2000", true },
-{ "5-12-14", false },
+{ "5-12-14", true }, // tdf#164239
 { "005-12-14", true },
 { "15-10-30", true },
 { "2015-10-30", true },
@@ -1232,26 +1232,28 @@ void checkSpecificNumberFormats( SvNumberFormatter& 
rFormatter,
 void Test::testIsNumberFormatSpecific()
 {
 {
-// en-US uses M/D/Y format, test that a-b-c input with a<=31 and b<=12
-// does not lead to a/b/c date output
+// en-US uses M/D/Y format, test that without Y-M-D pattern an a-b-c
+// input with a<=12 leads to ISO a-b-c date output.
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_ENGLISH_US);
 
 std::vector aIO = {
-{  "5-12-14", false, "", 0 },
-{ "32-12-14",  true, "1932-12-14", 0 }
+{ "005-12-14", true, "0005-12-14", 0 },
+{   "5-12-14", true, "2005-12-14", 0 },
+{  "32-12-14", true, "1932-12-14", 0 }
 };
 
 checkSpecificNumberFormats( aFormatter, aIO, "[en-US] date");
 }
 
 {
-// de-DE uses D.M.Y format, test that a-b-c input with a<=31 and b<=12
-// does not lead to a.b.c date output
+// de-DE uses D.M.Y format, test that without Y-M-D pattern an a-b-c
+// input with a<=31 leads to ISO a-b-c date output.
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_GERMAN);
 
 std::vector aIO = {
-{  "5-12-14", false, "", 0 },
-{ "32-12-14",  true, "1932-12-14", 0 }
+{ "005-12-14", true, "0005-12-14", 0 },
+{   "5-12-14", true, "2005-12-14", 0 },
+{  "32-12-14", true, "1932-12-14", 0 }
 };
 
 checkSpecificNumberFormats( aFormatter, aIO, "[de-DE] date");
@@ -1263,6 +1265,7 @@ void Test::testIsNumberFormatSpecific()
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_DUTCH);
 
 std::vector aIO = {
+{ "001-2-11",   true, "0001-02-11", 0 },
 { "22-11-1999", true, "22-11-99", 0 },  // if default YY 
changes to  adapt this
 { "1999-11-22", true, "1999-11-22", 0 },
 { "1-2-11", true, "01-02-11", 0 },  // if default YY 
changes to  adapt this
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 13cdcb3ca53b..2b91fa662845 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -1172,6 +1172,10 @@ bool ImpSvNumberInputScan::CanForceToIso8601( DateOrder 
eDateOrder )
 eDateOrder = GetDateOrder();
 }
 
+// No date pattern matched at all can be forced to ISO 8601 here as is.
+if (GetDatePatternNumbers() == 0)
+return true;
+
 nCanForceToIso8601 = 1;
 }
 


core.git: sd/source

2024-12-09 Thread Tibor Nagy (via logerrit)
 sd/source/ui/view/DocumentRenderer.cxx |   53 ++---
 1 file changed, 30 insertions(+), 23 deletions(-)

New commits:
commit 6fd252d499ef8b2f88ca8fdab8b989e8d80bae28
Author: Tibor Nagy 
AuthorDate: Thu Dec 5 12:51:07 2024 +0100
Commit: Nagy Tibor 
CommitDate: Mon Dec 9 15:39:17 2024 +0100

Related: tdf#88226 if the paragraphs of notes contain upper and lower

paragraph spacing, add this values to the notes text size.

Change-Id: I277ecad30244a418d5038e2a8668cf28302f10ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177856
Tested-by: Jenkins
Reviewed-by: Nagy Tibor 

diff --git a/sd/source/ui/view/DocumentRenderer.cxx 
b/sd/source/ui/view/DocumentRenderer.cxx
index 0c7fd6e5698c..f309f13dfdcb 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -43,7 +43,9 @@
 #include 
 #include 
 #include 
+#include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -858,18 +860,10 @@ namespace {
 if (pNotesObj)
 {
 // new page(s) margins
-sal_Int32 nLeft = 2000;
-sal_Int32 nRight = 2000;
-sal_Int32 nTop = 2250;
-sal_Int32 nBottom = 2250;
-
-double nRatioX = aPageSize.Width() / 21000.0;
-double nRatioY = aPageSize.Height() / 29700.0;
-
-nLeft *= nRatioX;
-nRight *= nRatioX;
-nTop *= nRatioY;
-nBottom *= nRatioY;
+sal_Int32 nLeft = aPageSize.Width() * 0.1;
+sal_Int32 nRight = nLeft;
+sal_Int32 nTop = aPageSize.Height() * 0.075;
+sal_Int32 nBottom = nTop;
 
 Point aNotesPt = pNotesObj->GetRelativePos();
 Size aNotesSize = pNotesObj->GetLogicRect().GetSize();
@@ -914,6 +908,7 @@ namespace {
 sal_Int32 nPrevLineLen = 0;
 sal_Int32 nPrevParaIdx = 0;
 sal_uInt16 nActualPageNumb = 1;
+sal_uInt16 nPrevParaLowerSpace = 0;
 ::tools::Long nCurrentPosY = aNotesPt.Y();
 sal_Int32 nParaCount = pOut->GetParagraphCount();
 std::vector> aPageBreaks;
@@ -922,10 +917,26 @@ namespace {
 {
 sal_Int32 nActualLineLen = 0;
 sal_Int32 nLineCount = pOut->GetLineCount(i);
+
+sal_uInt16 nLowerSpace = 0;
+sal_uInt16 nUpperSpace = nPrevParaLowerSpace;
+const SfxItemSet* pItemSet = &pOut->GetParaAttribs(i);
+if(pItemSet->HasItem(EE_PARA_ULSPACE))
+{
+nLowerSpace = 
pItemSet->Get(EE_PARA_ULSPACE).GetLower();
+nUpperSpace = (i != 0) ? 
pItemSet->Get(EE_PARA_ULSPACE).GetUpper() : 0;
+if (nPrevParaLowerSpace > nUpperSpace)
+nUpperSpace = nPrevParaLowerSpace;
+}
+
 for (sal_Int32 j = 0; j < nLineCount; ++j)
 {
 nActualLineLen += pOut->GetLineLen(i, j);
 sal_Int32 nLineHeight = pOut->GetLineHeight(i, j);
+
+if (nUpperSpace != 0 && (i > 0) && (j == 0))
+nLineHeight += nUpperSpace;
+
 sal_Int32 nNextPosY = nCurrentPosY + nLineHeight;
 
 if (nNextPosY > nNotesPageBottom)
@@ -962,6 +973,10 @@ namespace {
 break;
 }
 }
+
+if (nUpperSpace > 0)
+nLineHeight -= nUpperSpace;
+
 nNotesPageBottom = aPageSize.Height() - 
nBottom;
 nCurrentPosY = nTop;
 nActualPageNumb++;
@@ -971,6 +986,7 @@ namespace {
 nPrevLineLen = nActualLineLen;
 nCurrentPosY += nLineHeight;
 }
+nPrevParaLowerSpace = nLowerSpace;
 }
 
 if (!aPageBreaks.empty())
@@ -993,13 +1009,6 @@ namespace {
 aE.start.nIndex = 0;
 aE.end.nPara = aPageBreaks[0].first;
 aE.end.nIndex = aPageBreaks[0].second;
-
-if (aPageBreaks[0].second != 0) // Multi-line
-{
-
pOut->QuickInsertLineBreak(ESelection(aE.end.nPara, aE.end.nIndex,
-  
aE.end.nPara, aE.end.nIndex));
- 

core.git: Branch 'feature/cib_contract49d' - sd/source

2024-12-09 Thread Tibor Nagy (via logerrit)
 sd/source/ui/view/DocumentRenderer.cxx |   57 ++---
 1 file changed, 32 insertions(+), 25 deletions(-)

New commits:
commit 6b370c8b94771bc033ce45d654703c80a42dc482
Author: Tibor Nagy 
AuthorDate: Thu Dec 5 12:51:07 2024 +0100
Commit: Nagy Tibor 
CommitDate: Mon Dec 9 20:29:17 2024 +0100

Related: tdf#88226 if the paragraphs of notes contain upper and lower

paragraph spacing, add this values to the notes text size.

Change-Id: I277ecad30244a418d5038e2a8668cf28302f10ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177856
Tested-by: Jenkins
Reviewed-by: Nagy Tibor 
(cherry picked from commit 6fd252d499ef8b2f88ca8fdab8b989e8d80bae28)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178155
Tested-by: allotropia jenkins 

diff --git a/sd/source/ui/view/DocumentRenderer.cxx 
b/sd/source/ui/view/DocumentRenderer.cxx
index e18b3572d1fa..b7e70c46694b 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -43,7 +43,9 @@
 #include 
 #include 
 #include 
+#include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -858,18 +860,10 @@ namespace {
 if (pNotesObj)
 {
 // new page(s) margins
-sal_Int32 nLeft = 2000;
-sal_Int32 nRight = 2000;
-sal_Int32 nTop = 2250;
-sal_Int32 nBottom = 2250;
-
-double nRatioX = aPageSize.Width() / 21000.0;
-double nRatioY = aPageSize.Height() / 29700.0;
-
-nLeft *= nRatioX;
-nRight *= nRatioX;
-nTop *= nRatioY;
-nBottom *= nRatioY;
+sal_Int32 nLeft = aPageSize.Width() * 0.1;
+sal_Int32 nRight = nLeft;
+sal_Int32 nTop = aPageSize.Height() * 0.075;
+sal_Int32 nBottom = nTop;
 
 Point aNotesPt = pNotesObj->GetRelativePos();
 Size aNotesSize = pNotesObj->GetLogicRect().GetSize();
@@ -914,6 +908,7 @@ namespace {
 sal_Int32 nPrevLineLen = 0;
 sal_Int32 nPrevParaIdx = 0;
 sal_uInt16 nActualPageNumb = 1;
+sal_uInt16 nPrevParaLowerSpace = 0;
 ::tools::Long nCurrentPosY = aNotesPt.Y();
 sal_Int32 nParaCount = pOut->GetParagraphCount();
 std::vector> aPageBreaks;
@@ -921,11 +916,27 @@ namespace {
 for (sal_Int32 i = 0; i < nParaCount && !bExit; ++i)
 {
 sal_Int32 nActualLineLen = 0;
-sal_uInt32 nLineCount = pOut->GetLineCount(i);
-for (sal_uInt32 j = 0; j < nLineCount; ++j)
+sal_Int32 nLineCount = pOut->GetLineCount(i);
+
+sal_uInt16 nLowerSpace = 0;
+sal_uInt16 nUpperSpace = nPrevParaLowerSpace;
+const SfxItemSet* pItemSet = &pOut->GetParaAttribs(i);
+if(pItemSet->HasItem(EE_PARA_ULSPACE))
+{
+nLowerSpace = 
pItemSet->Get(EE_PARA_ULSPACE).GetLower();
+nUpperSpace = (i != 0) ? 
pItemSet->Get(EE_PARA_ULSPACE).GetUpper() : 0;
+if (nPrevParaLowerSpace > nUpperSpace)
+nUpperSpace = nPrevParaLowerSpace;
+}
+
+for (sal_Int32 j = 0; j < nLineCount; ++j)
 {
 nActualLineLen += pOut->GetLineLen(i, j);
 sal_Int32 nLineHeight = pOut->GetLineHeight(i, j);
+
+if (nUpperSpace != 0 && (i > 0) && (j == 0))
+nLineHeight += nUpperSpace;
+
 sal_Int32 nNextPosY = nCurrentPosY + nLineHeight;
 
 if (nNextPosY > nNotesPageBottom)
@@ -962,6 +973,10 @@ namespace {
 break;
 }
 }
+
+if (nUpperSpace > 0)
+nLineHeight -= nUpperSpace;
+
 nNotesPageBottom = aPageSize.Height() - 
nBottom;
 nCurrentPosY = nTop;
 nActualPageNumb++;
@@ -971,6 +986,7 @@ namespace {
 nPrevLineLen = nActualLineLen;
 nCurrentPosY += nLineHeight;
 }
+nPrevParaLowerSpace = nLowerSpace;
 }
 
 if (!aPageBreaks.empty())
@@ -993,13 +1009,6 @@ namespace {
 aE.start.nIndex = 0;
 aE.end.nPara = aPageBreaks[0].first;
   

core.git: Branch 'feature/cib_contract49d' - sd/source

2024-12-09 Thread Tibor Nagy (via logerrit)
 sd/source/core/sdpage.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit b8d40fb7466f644ab2703a51e4f4dd706838c343
Author: Tibor Nagy 
AuthorDate: Mon Dec 9 13:47:06 2024 +0100
Commit: Nagy Tibor 
CommitDate: Mon Dec 9 20:29:33 2024 +0100

tdf#164129 sd: fix resizing of the notes text content

The notes text content was not resized when we changed the paper size
in the print dialog.

Change-Id: I2f610579e2ac84c298c4105a5c1235fbe62ad627
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178146
Tested-by: Jenkins
Reviewed-by: Nagy Tibor 
(cherry picked from commit f958aea556e6ea067eb8696a1dff99f3458e8c19)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178157
Tested-by: allotropia jenkins 

diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
index b314b3d0a917..1705e7bd4ee7 100644
--- a/sd/source/core/sdpage.cxx
+++ b/sd/source/core/sdpage.cxx
@@ -2013,10 +2013,10 @@ void SdPage::ScaleObjects(const Size& rNewPageSize, 
const ::tools::Rectangle& rN
 }
 }
 }
-else if ( eObjKind != SdrObjKind::TitleText   &&
-  eObjKind != SdrObjKind::OutlineText &&
-  DynCastSdrTextObj( pObj.get() ) !=  nullptr  
 &&
-  pObj->GetOutlinerParaObject() )
+else if (eObjKind != SdrObjKind::TitleText
+ && eObjKind != SdrObjKind::OutlineText && 
mePageKind != PageKind::Notes
+ && DynCastSdrTextObj(pObj.get()) != nullptr
+ && pObj->GetOutlinerParaObject())
 {
 /**
 * normal text object: adjust text height


core.git: sc/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 sc/source/filter/xml/xmlexprt.cxx |   54 +++---
 1 file changed, 28 insertions(+), 26 deletions(-)

New commits:
commit b012d206350f57bf4268d8cd8528c32647c6b933
Author: Caolán McNamara 
AuthorDate: Mon Dec 9 17:34:00 2024 +
Commit: Caolán McNamara 
CommitDate: Mon Dec 9 20:38:34 2024 +0100

cid#1636669 Dereference after null check

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

diff --git a/sc/source/filter/xml/xmlexprt.cxx 
b/sc/source/filter/xml/xmlexprt.cxx
index 246a7fe8e3a1..e41e3ece60c4 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -5261,36 +5261,38 @@ void 
ScXMLExport::GetChangeTrackViewSettings(ScDocument& rDoc, uno::Sequence& rProps)
 {
-if (GetModel().is())
+if (!GetModel().is())
+return;
+
+ScModelObj* pDocObj(comphelper::getFromUnoTunnel( GetModel() 
));
+if (!pDocObj)
+return;
+
+SfxObjectShell* pEmbeddedObj = pDocObj->GetEmbeddedObject();
+if (pEmbeddedObj)
 {
 rProps.realloc(4);
 beans::PropertyValue* pProps(rProps.getArray());
-ScModelObj* pDocObj(comphelper::getFromUnoTunnel( 
GetModel() ));
-if (pDocObj)
-{
-SfxObjectShell* pEmbeddedObj = pDocObj->GetEmbeddedObject();
-if (pEmbeddedObj)
-{
-tools::Rectangle aRect(pEmbeddedObj->GetVisArea());
-sal_uInt16 i(0);
-pProps[i].Name = "VisibleAreaTop";
-pProps[i].Value <<= static_cast(aRect.Top());
-pProps[++i].Name = "VisibleAreaLeft";
-pProps[i].Value <<= static_cast(aRect.Left());
-pProps[++i].Name = "VisibleAreaWidth";
-pProps[i].Value <<= 
static_cast(aRect.getOpenWidth());
-pProps[++i].Name = "VisibleAreaHeight";
-pProps[i].Value <<= 
static_cast(aRect.getOpenHeight());
-}
-}
-ScDocument* pDoc = pDocObj->GetDocument();
-if (!pDoc)
-{
-SAL_WARN("sc", "no ScDocument!");
-return;
-}
-GetChangeTrackViewSettings(*pDoc, rProps);
+
+tools::Rectangle aRect(pEmbeddedObj->GetVisArea());
+sal_uInt16 i(0);
+pProps[i].Name = "VisibleAreaTop";
+pProps[i].Value <<= static_cast(aRect.Top());
+pProps[++i].Name = "VisibleAreaLeft";
+pProps[i].Value <<= static_cast(aRect.Left());
+pProps[++i].Name = "VisibleAreaWidth";
+pProps[i].Value <<= static_cast(aRect.getOpenWidth());
+pProps[++i].Name = "VisibleAreaHeight";
+pProps[i].Value <<= static_cast(aRect.getOpenHeight());
+}
+
+ScDocument* pDoc = pDocObj->GetDocument();
+if (!pDoc)
+{
+SAL_WARN("sc", "no ScDocument!");
+return;
 }
+GetChangeTrackViewSettings(*pDoc, rProps);
 }
 
 void 
ScXMLExport::GetConfigurationSettings(uno::Sequence& 
rProps)


help.git: AllLangHelp_scalc.mk source/text

2024-12-09 Thread Dione Maddern (via logerrit)
 AllLangHelp_scalc.mk   |3 
 source/text/scalc/01/sidebar_alignment.xhp |  173 
 source/text/scalc/01/sidebar_number_format.xhp |4 
 source/text/shared/01/05020700.xhp |2 
 source/text/shared/01/05100100.xhp |4 
 source/text/shared/01/05340300.xhp |  347 +
 source/text/shared/01/LeftToRight.xhp  |4 
 source/text/shared/01/RightToLeft.xhp  |4 
 source/text/shared/01/sidebar_properties.xhp   |   13 
 9 files changed, 442 insertions(+), 112 deletions(-)

New commits:
commit f723cce6039b88b82380fbc8ebe9a2e18eaf3fd4
Author: Dione Maddern 
AuthorDate: Mon Dec 2 14:39:37 2024 -0500
Commit: Olivier Hallot 
CommitDate: Mon Dec 9 21:12:35 2024 +0100

tdf#162504 Create help page for Alignment Sidebar panel

Create new file source/text/scalc/01/sidebar_alignment.xhp to explain
the features of the Alignment panel of the Properties sidebar.

In AllLangHelp_scalc.mk
- Add new file source/text/scalc/01/sidebar_alignment.xhp to the make
file
- Change the file path for
source/text/scalc/01/sidebar_number_format.xhp to show amended file
location.

In source/text/shared/01/05020700.xhp
- Add variable tag so that the file can easily be linked from other help
pages.

In source/text/shared/01/05100100.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/05340300.xhp
- Add section and variable tags so that content can be easily embedded
in other pages.
- Reformat the "reference_edge" section so that each option has its own
heading. This improves readability and consistency and allows the same
content to be re-used in the help page for the Alignment Sidebar panel.

In source/text/shared/01/LeftToRight.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/RightToLeft.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/scalc/sidebar_number_format.xhp
- Moved file to source/text/scalc/01/sidebar_number_format.xhp

In source/text/shared/01/sidebar_properties.xhp
- Embed description of Alignment sidebar panel
- Update file path for source/text/scalc/01/sidebar_number_format.xhp
- Add loc_false tags for embedded variables

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

diff --git a/AllLangHelp_scalc.mk b/AllLangHelp_scalc.mk
index 4824307ddc..73614b1f50 100644
--- a/AllLangHelp_scalc.mk
+++ b/AllLangHelp_scalc.mk
@@ -346,7 +346,8 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,scalc,\
 helpcontent2/source/text/scalc/01/SheetCommentMenu \
 helpcontent2/source/text/scalc/01/sheet_tab_color \
 helpcontent2/source/text/scalc/01/ShowNote \
-helpcontent2/source/text/scalc/sidebar_number_format \
+helpcontent2/source/text/scalc/01/sidebar_alignment \
+helpcontent2/source/text/scalc/01/sidebar_number_format \
 helpcontent2/source/text/scalc/01/solver \
 helpcontent2/source/text/scalc/01/solver_options \
 helpcontent2/source/text/scalc/01/solver_options_algo \
diff --git a/source/text/scalc/01/sidebar_alignment.xhp 
b/source/text/scalc/01/sidebar_alignment.xhp
new file mode 100644
index 00..e16ac87abd
--- /dev/null
+++ b/source/text/scalc/01/sidebar_alignment.xhp
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+Alignment
+/text/scalc/01/sidebar_alignment.xhp
+
+
+
+
+sidebar;alignment
+alignment;sidebar
+alignment;cell
+cell;alignment
+cell;text orientation
+text orientation;cell
+cell;indent text
+indent text;cell
+cell;increase indent
+increase indent;cell
+cell;decrease indent
+decrease indent;cell
+cell;vertically stack text
+vertically stack text;cell
+cell;wrap text
+wrap text;cell
+cell;merge
+merge;cells
+cell;asian typography
+asian typography;cell
+
+
+
+Alignment
+
+Use the 
Alignment panel in the Properties 
sidebar deck to set alignment options for the contents of the current cell, or 
the selected cells.
+
+
+
+
+OptionAlt
 + 1
+
+Open the 
Properties sidebar deck and expand the 
Alignment panel.
+
+
+
+Align 
Left
+
+
+
+
+
+Align 
Center
+
+
+
+
+
+
+Align 
right
+
+
+
+
+
+
+Justified
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+   

core.git: Branch 'libreoffice-25-2' - helpcontent2

2024-12-09 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 130478ca19dec874a043f4c9d4977aca7fb19cc2
Author: Olivier Hallot 
AuthorDate: Mon Dec 9 13:06:39 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 17:06:39 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-25-2'
  to 6bf0a0298fb11d8ddc0ebcaa2d13accf683c6632
  - Add Tagalog to online help dropdown list

Change-Id: Ie22b89529b3937a36806f87b3e9a049a14bc85b9
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178120
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 2fd0b5ff3a8599ee49a04b36c9203a03e6295f54)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178121

diff --git a/helpcontent2 b/helpcontent2
index 700dad3c8ed1..6bf0a0298fb1 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 700dad3c8ed1ce2cf73a96dab779f2f50caa7a01
+Subproject commit 6bf0a0298fb11d8ddc0ebcaa2d13accf683c6632


New Defects reported by Coverity Scan for LibreOffice

2024-12-09 Thread scan-admin
Hi,

Please find the latest report on new defect(s) introduced to LibreOffice found 
with Coverity Scan.

4 new defect(s) introduced to LibreOffice found with Coverity Scan.
3 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent 
build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 4 of 4 defect(s)


** CID 1636670:  Concurrent data access violations  (MISSING_LOCK)
/basic/source/uno/namecont.cxx: 2638 in 
basic::SfxLibraryContainer::disposing(std::unique_lock &)()



*** CID 1636670:  Concurrent data access violations  (MISSING_LOCK)
/basic/source/uno/namecont.cxx: 2638 in 
basic::SfxLibraryContainer::disposing(std::unique_lock &)()
2632 
2633 // OComponentHelper
2634 void SfxLibraryContainer::disposing(std::unique_lock& 
guard)
2635 {
2636 Reference< XModel > xModel = mxOwnerDocument;
2637 EventObject aEvent( xModel );
>>> CID 1636670:  Concurrent data access violations  (MISSING_LOCK)
>>> Accessing "this->maVBAScriptListeners" without holding lock 
>>> "comphelper::UnoImplBase.m_aMutex". Elsewhere, 
>>> "basic::SfxLibraryContainer.maVBAScriptListeners" is written to with 
>>> "UnoImplBase.m_aMutex" held 2 out of 2 times.
2638 maVBAScriptListeners.disposeAndClear(guard, aEvent);
2639 stopAllComponentListening();
2640 mxOwnerDocument.clear();
2641 }
2642 
2643 // Methods XLibraryContainerPassword

** CID 1636669:  Null pointer dereferences  (FORWARD_NULL)



*** CID 1636669:  Null pointer dereferences  (FORWARD_NULL)
/sc/source/filter/xml/xmlexprt.cxx: 5286 in 
ScXMLExport::GetViewSettings(com::sun::star::uno::Sequence
 &)()
5280 pProps[++i].Name = "VisibleAreaWidth";
5281 pProps[i].Value <<= 
static_cast(aRect.getOpenWidth());
5282 pProps[++i].Name = "VisibleAreaHeight";
5283 pProps[i].Value <<= 
static_cast(aRect.getOpenHeight());
5284 }
5285 }
>>> CID 1636669:  Null pointer dereferences  (FORWARD_NULL)
>>> Passing null pointer "pDocObj" to "GetDocument", which dereferences it.
5286 ScDocument* pDoc = pDocObj->GetDocument();
5287 if (!pDoc)
5288 {
5289 SAL_WARN("sc", "no ScDocument!");
5290 return;
5291 }

** CID 1636668:  Uninitialized variables  (UNINIT)



*** CID 1636668:  Uninitialized variables  (UNINIT)
/basic/source/uno/namecont.cxx: 2817 in 
basic::SfxLibraryContainer::addVBAScriptListener(const 
com::sun::star::uno::Reference 
&)()
2811 return mnRunningVBAScripts;
2812 }
2813 
2814 void SAL_CALL SfxLibraryContainer::addVBAScriptListener( const 
Reference< vba::XVBAScriptListener >& rxListener )
2815 {
2816 std::unique_lock guard(m_aMutex);
>>> CID 1636668:  Uninitialized variables  (UNINIT)
>>> Using uninitialized value "guard._M_owns" when calling "addInterface".
2817 maVBAScriptListeners.addInterface(guard, rxListener);
2818 }
2819 
2820 void SAL_CALL SfxLibraryContainer::removeVBAScriptListener( const 
Reference< vba::XVBAScriptListener >& rxListener )
2821 {
2822 std::unique_lock guard(m_aMutex);

** CID 1636667:  Uninitialized variables  (UNINIT)



*** CID 1636667:  Uninitialized variables  (UNINIT)
/basic/source/uno/namecont.cxx: 2823 in 
basic::SfxLibraryContainer::removeVBAScriptListener(const 
com::sun::star::uno::Reference 
&)()
2817 maVBAScriptListeners.addInterface(guard, rxListener);
2818 }
2819 
2820 void SAL_CALL SfxLibraryContainer::removeVBAScriptListener( const 
Reference< vba::XVBAScriptListener >& rxListener )
2821 {
2822 std::unique_lock guard(m_aMutex);
>>> CID 1636667:  Uninitialized variables  (UNINIT)
>>> Using uninitialized value "guard._M_owns" when calling 
>>> "removeInterface".
2823 maVBAScriptListeners.removeInterface(guard, rxListener);
2824 }
2825 
2826 void SAL_CALL SfxLibraryContainer::broadcastVBAScriptEvent( sal_Int32 
nIdentifier, const OUString& rModuleName )
2827 {
2828 // own lock for accessing the number of running scripts



To view the defects in Coverity Scan visit, 
https://u15810271.ct.sendgrid.net/ls/click?upn=u001.AxU2LYlgjL6eX23u9ErQy-2BKADyCpvUKOL6EWmZljiu6VvXBlQRUbS683tC8265rGNPXqJ1ffcoLZCnTuJFQbNcTEkb4XaEQkzovKhJ5DB3c-3Dtj5__A9M4dSy7guk8NP6DcfgslOyvJRzavztVIKj6nRqYjYpW

core.git: sd/source

2024-12-09 Thread Tibor Nagy (via logerrit)
 sd/source/core/sdpage.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit f958aea556e6ea067eb8696a1dff99f3458e8c19
Author: Tibor Nagy 
AuthorDate: Mon Dec 9 13:47:06 2024 +0100
Commit: Nagy Tibor 
CommitDate: Mon Dec 9 15:40:22 2024 +0100

tdf#164129 sd: fix resizing of the notes text content

The notes text content was not resized when we changed the paper size
in the print dialog.

Change-Id: I2f610579e2ac84c298c4105a5c1235fbe62ad627
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178146
Tested-by: Jenkins
Reviewed-by: Nagy Tibor 

diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
index 04d0f020ebbc..9de413f77be2 100644
--- a/sd/source/core/sdpage.cxx
+++ b/sd/source/core/sdpage.cxx
@@ -2013,10 +2013,10 @@ void SdPage::ScaleObjects(const Size& rNewPageSize, 
const ::tools::Rectangle& rN
 }
 }
 }
-else if ( eObjKind != SdrObjKind::TitleText   &&
-  eObjKind != SdrObjKind::OutlineText &&
-  DynCastSdrTextObj( pObj.get() ) !=  nullptr  
 &&
-  pObj->GetOutlinerParaObject() )
+else if (eObjKind != SdrObjKind::TitleText
+ && eObjKind != SdrObjKind::OutlineText && 
mePageKind != PageKind::Notes
+ && DynCastSdrTextObj(pObj.get()) != nullptr
+ && pObj->GetOutlinerParaObject())
 {
 /**
 * normal text object: adjust text height


core.git: dictionaries

2024-12-09 Thread Samuel Mehrbrodt (via logerrit)
 dictionaries |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e8b7fe1809d07576276ebec9f321216bd0b7d184
Author: Samuel Mehrbrodt 
AuthorDate: Mon Dec 9 15:40:44 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 15:40:44 2024 +0100

Update git submodules

* Update dictionaries from branch 'master'
  to 31bc2a1104a1cd175f900902f994c76dea35c763
  - Add new word "Ratenvereinbarung"

And put "Rattenvereinbarung" on the blacklist

Change-Id: Ie4d7b8fd93c5758316b5a60539c2a42152725537
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/178143
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Samuel Mehrbrodt 

diff --git a/dictionaries b/dictionaries
index 0fdcd7916f2e..31bc2a1104a1 16
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit 0fdcd7916f2e59da20419d408cad8bcb909c5ae5
+Subproject commit 31bc2a1104a1cd175f900902f994c76dea35c763


dictionaries.git: de/de_AT_frami.dic de/de_DE_frami.dic

2024-12-09 Thread Samuel Mehrbrodt (via logerrit)
 de/de_AT_frami.dic |2 ++
 de/de_DE_frami.dic |2 ++
 2 files changed, 4 insertions(+)

New commits:
commit 31bc2a1104a1cd175f900902f994c76dea35c763
Author: Samuel Mehrbrodt 
AuthorDate: Mon Nov 6 21:44:48 2023 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 15:40:43 2024 +0100

Add new word "Ratenvereinbarung"

And put "Rattenvereinbarung" on the blacklist

Change-Id: Ie4d7b8fd93c5758316b5a60539c2a42152725537
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/178143
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Samuel Mehrbrodt 

diff --git a/de/de_AT_frami.dic b/de/de_AT_frami.dic
index af01bc7..7858516 100644
--- a/de/de_AT_frami.dic
+++ b/de/de_AT_frami.dic
@@ -73905,6 +73905,7 @@ Rattenplage/Nm
 Rattenplage/m
 Rattensparplan/dSTp
 Rattenzahlungsplan/dSTp
+Rattenvereinbarung/dSTp
 Ratterger�usch/EPSTm
 Rattern/S
 Ratzeburg/Sm
@@ -212030,6 +212031,7 @@ ratenzahlungspl
 ratenzahlungsplan/STozm
 ratenzahlungsvereinbarung/Pozm
 ratenzahlungszuschlag/STpozm
+ratenvereinbarung/Pozm
 ratespiel/EPSTozm
 ratewahrscheinlichkeit/Pozm
 ratgeber/FNSozm
diff --git a/de/de_DE_frami.dic b/de/de_DE_frami.dic
index 7e08137..3d02c29 100644
--- a/de/de_DE_frami.dic
+++ b/de/de_DE_frami.dic
@@ -74124,6 +74124,7 @@ Ratenzahlungspl
 Ratenzahlungsplan/STm
 Ratenzahlungsvereinbarung/Pm
 Ratenzahlungszuschlag/STpm
+ratenvereinbarung/Pm
 Ratespiel/EPSTm
 Ratewahrscheinlichkeit/Pm
 Ratgeber/FNSm
@@ -74229,6 +74230,7 @@ Rattenplage/Nm
 Rattenplage/m
 Rattensparplan/dSTp
 Rattenzahlungsplan/dSTp
+Rattenvereinbarung/dSTp
 Ratterger�usch/EPSTm
 Rattern/S
 Ratzeburg/Sm


core.git: Branch 'feature/cib_contract49d' - sd/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 sd/source/ui/view/DocumentRenderer.cxx |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit d923fd3d44df8e2563a287d36754d7719868d1ac
Author: Caolán McNamara 
AuthorDate: Sat Dec 7 12:02:47 2024 +
Commit: Nagy Tibor 
CommitDate: Mon Dec 9 15:41:39 2024 +0100

cid#1636576 Dereference null return value

since:

commit 43e511e642a2ce7026b30ea5c212940ff3eb522e
CommitDate: Wed Dec 4 10:17:24 2024 +0100

tdf#88226 sd: fix cutting off the overflow text on the notes print page

Change-Id: I0a982a0a4213e220ec1bbd166e08bf14191eed0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178032
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
(cherry picked from commit c97decfe2e4544f76a2b6f5704928cad0e30b56e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178147
Tested-by: allotropia jenkins 
Reviewed-by: Nagy Tibor 

diff --git a/sd/source/ui/view/DocumentRenderer.cxx 
b/sd/source/ui/view/DocumentRenderer.cxx
index 3331e2463036..e18b3572d1fa 100644
--- a/sd/source/ui/view/DocumentRenderer.cxx
+++ b/sd/source/ui/view/DocumentRenderer.cxx
@@ -2454,9 +2454,8 @@ private:
 rInfo.meOrientation,
 nPaperBin));
 }
-else // Notes
+else if (SdPage* pPage = GetFilteredPage(nPageIndex, 
PageKind::Notes))// Notes
 {
-SdPage* pPage = GetFilteredPage(nPageIndex, PageKind::Notes);
 SdDrawDocument* pDocument = 
mrBase.GetMainViewShell()->GetDoc();
 
 // Clone the current page to create an independent instance.


core.git: Branch 'distro/collabora/co-24.04' - vcl/inc vcl/qa vcl/source

2024-12-09 Thread Tomaž Vajngerl (via logerrit)
 vcl/inc/pdf/pdfwriter_impl.hxx|   14 -
 vcl/qa/cppunit/pdfexport/data/FilledUpForm.pdf|binary
 vcl/qa/cppunit/pdfexport/data/FilledUpForm_Source.odt |binary
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx   |   66 +
 vcl/source/gdi/pdfwriter_impl.cxx |  203 +++---
 5 files changed, 210 insertions(+), 73 deletions(-)

New commits:
commit fb08f549d9f8d0282585500f2b9faba809165f94
Author: Tomaž Vajngerl 
AuthorDate: Tue Dec 3 23:32:47 2024 +0900
Commit: Miklos Vajna 
CommitDate: Mon Dec 9 15:55:34 2024 +0100

pdf: fix saving external PDF with form fields

When opening a PDF with filled forms with PDFium import and then
save/exprot the PDF again, it should retain the forms. Before
this patch it didn't retain the forms.

This patch copies the forms / widget annotations from the external
PDF into the newly created PDF.

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

diff --git a/vcl/inc/pdf/pdfwriter_impl.hxx b/vcl/inc/pdf/pdfwriter_impl.hxx
index 7a90b61d56cf..a35f6f0b5458 100644
--- a/vcl/inc/pdf/pdfwriter_impl.hxx
+++ b/vcl/inc/pdf/pdfwriter_impl.hxx
@@ -479,6 +479,11 @@ struct PDFScreen : public PDFAnnotation
 }
 };
 
+struct PDFWidgetCopy
+{
+sal_Int32 m_nObject = -1;
+};
+
 struct PDFWidget : public PDFAnnotation
 {
 PDFWriter::WidgetType   m_eType;
@@ -759,9 +764,10 @@ private:
 /* structure elements (object ids) that should have ID */
 std::unordered_set m_StructElemObjsWithID;
 
-/* contains all widgets used in the PDF
- */
-std::vector  m_aWidgets;
+/* contains all widgets used in the PDF */
+std::vector m_aWidgets;
+std::vector m_aCopiedWidgets;
+
 /* maps radio group id to index of radio group control in m_aWidgets */
 std::map< sal_Int32, sal_Int32 >m_aRadioGroupWidgets;
 /* unordered_map for field names, used to ensure unique field names */
@@ -882,6 +888,8 @@ private:
 /// Writes the form XObject proxy for the image.
 void writeReferenceXObject(const ReferenceXObjectEmit& rEmit);
 
+void mergeAnnotationsFromExternalPage(filter::PDFObjectElement* pPage,  
std::map& rCopiedResourcesMap);
+
 /* tries to find the bitmap by its id and returns its emit data if exists,
else creates a new emit data block */
 const BitmapEmit& createBitmapEmit( const BitmapEx& rBitmapEx, const 
Graphic& rGraphic, std::list& rBitmaps, ResourceDict& 
rResourceDict, std::list& rOutputStreams );
diff --git a/vcl/qa/cppunit/pdfexport/data/FilledUpForm.pdf 
b/vcl/qa/cppunit/pdfexport/data/FilledUpForm.pdf
new file mode 100644
index ..7032f8099411
Binary files /dev/null and b/vcl/qa/cppunit/pdfexport/data/FilledUpForm.pdf 
differ
diff --git a/vcl/qa/cppunit/pdfexport/data/FilledUpForm_Source.odt 
b/vcl/qa/cppunit/pdfexport/data/FilledUpForm_Source.odt
new file mode 100644
index ..42efe7f45dd7
Binary files /dev/null and 
b/vcl/qa/cppunit/pdfexport/data/FilledUpForm_Source.odt differ
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
index bc23346a955d..3dc780f2cce7 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
@@ -5026,6 +5026,72 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, 
testRexportXnViewColorspace)
 CPPUNIT_ASSERT_EQUAL("DeviceRGB"_ostr, pColorSpaceElement->GetValue());
 }
 
+CPPUNIT_TEST_FIXTURE(PdfExportTest2, testFormRoundtrip)
+{
+// Loads and saves a PDF with filled forms. This checks the forms survive 
the round-trip.
+
+// We need to enable PDFium import (and make sure to disable after the 
test)
+bool bResetEnvVar = false;
+if (getenv("LO_IMPORT_USE_PDFIUM") == nullptr)
+{
+bResetEnvVar = true;
+osl_setEnvironment(u"LO_IMPORT_USE_PDFIUM"_ustr.pData, 
u"1"_ustr.pData);
+}
+comphelper::ScopeGuard aPDFiumEnvVarGuard([&]() {
+if (bResetEnvVar)
+osl_clearEnvironment(u"LO_IMPORT_USE_PDFIUM"_ustr.pData);
+});
+
+// Need to properly set the PDF export options
+aMediaDescriptor["FilterName"] <<= OUString("draw_pdf_Export");
+uno::Sequence aFilterData(
+comphelper::InitPropertySequence({ { "UseTaggedPDF", uno::Any(true) } 
}));
+aMediaDescriptor["FilterData"] <<= aFilterData;
+
+saveAsPDF(u"FilledUpForm.pdf");
+
+// Parse the round-tripped document with PDFium
+auto pPdfDocument = parsePDFExport();
+// Should be 1 page
+CPPUNIT_ASSERT_EQUAL(1, pPdfDocument->getPageCount());
+std::unique_ptr pPage = pPdfDocument->openPage(0);
+std::unique_ptr pPageObject = 
pPage->getObject(1);
+
+// 5 annotations means 5 form fields
+CPPUNIT_ASSERT_EQUAL(5, pPage->getAnnotationCount());
+
+// Check each form
+{
+std::unique_

core.git: sw/qa

2024-12-09 Thread Michael Stahl (via logerrit)
 sw/qa/extras/odfimport/data/tdf159549.fodt |  121 +
 sw/qa/extras/odfimport/odfimport.cxx   |   22 +
 2 files changed, 143 insertions(+)

New commits:
commit bfdba3c86301e9680204de0a66bfbfc6383494b9
Author: Michael Stahl 
AuthorDate: Mon Dec 9 14:42:44 2024 +0100
Commit: Michael Stahl 
CommitDate: Mon Dec 9 17:35:50 2024 +0100

tdf#159549 sw: add unit test

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

diff --git a/sw/qa/extras/odfimport/data/tdf159549.fodt 
b/sw/qa/extras/odfimport/data/tdf159549.fodt
new file mode 100644
index ..891b4ed9fc8e
--- /dev/null
+++ b/sw/qa/extras/odfimport/data/tdf159549.fodt
@@ -0,0 +1,121 @@
+
+http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:dc="http://purl.org/dc/eleme
 nts/1.1/" xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0
 " xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.2" 
office:mimetype="application/vnd.oasis.opendocument.text">
+ 
2024-12-09T13:36:04.1549200662024-12-09T14:09:04.311392385PT32M56S2CIB_OfficeDev/6.4.0.29$Linux_X86_64
 
LibreOffice_project/5374b230ff33d77a7f81d56046759f218a160036
+ 
+  
+  
+  
+ 
+ 
+  
+   
+   
+
+   
+   
+  
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+  
+   
+   
+  
+  
+  
+   
+  
+  
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+  
+  
+  
+  
+ 
+ 
+  
+   
+  
+  
+   
+
+   
+   
+   
+  
+ 
+ 
+  
+ 
+ 
+  
+   
+
+
+
+
+
+   
+   Text 
Body
+   DerivedFromTextBody
+   Body Text
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/odfimport/odfimport.cxx 
b/sw/qa/extras/odfimport/odfimport.cxx
index 014c4011cff1..dd22a4937ee2 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -1203,6 +1203,28 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf133459)
 CPPUNIT_ASSERT_EQUAL(u"QQ "_ustr, getProperty(xFormat, 
u"FormatString"_ustr));
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf159549)
+{
+createSwDoc("tdf159549.fodt");
+
+uno::Reference 
xParaStyles(getStyles(u"ParagraphStyles"_ustr));
+
+uno::Reference xStyleBuiltin(xParaStyles->getByName(
+u"Text body"_ustr), uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(float(32), getProperty(xStyleBuiltin, 
"CharHeight"));
+CPPUNIT_ASSERT_EQUAL(OUString("Standard"), 
xStyleBuiltin.queryThrow()->getParentStyle());
+
+uno::Reference xStyleDerived(xParaStyles->getByName(
+u"DerivedFromTextBody"_ustr), uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(float(32), getProperty(xStyleDerived, 
"CharHeight"));
+CPPUNIT_ASSERT_EQUAL(OUString("Text body"), 
xStyleDerived.queryThrow()->getParentStyle());
+
+uno::Reference xStyleCustom(xParaStyles-

core.git: sfx2/source

2024-12-09 Thread Andreas Heinisch (via logerrit)
 sfx2/source/dialog/filedlghelper.cxx |   12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 9f5040abbfdb6057fc2455cd6726398dc8ba7b9b
Author: Andreas Heinisch 
AuthorDate: Fri Oct 20 14:33:06 2023 +0200
Commit: Andreas Heinisch 
CommitDate: Mon Dec 9 18:46:03 2024 +0100

tdf#61358 - Remember the last "insert as link" state

Change-Id: I3fe88411092df159fa6dc39a8fb9eb3ab36eeb70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158254
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 
Reviewed-by: Andreas Heinisch 

diff --git a/sfx2/source/dialog/filedlghelper.cxx 
b/sfx2/source/dialog/filedlghelper.cxx
index 9ada2fe6c2a2..07325adf3085 100644
--- a/sfx2/source/dialog/filedlghelper.cxx
+++ b/sfx2/source/dialog/filedlghelper.cxx
@@ -20,6 +20,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -2081,10 +2082,19 @@ void FileDialogHelper_Impl::saveConfig()
 
 try
 {
+// tdf#61358 - remember the last "insert as link" state
+if (o3tl::IsRunningUITest())
+aValue <<= false;
+else
+aValue = 
xDlg->getValue(ExtendedFilePickerElementIds::CHECKBOX_LINK, 0);
+bool bLink = false;
+aValue >>= bLink;
+OUString aUserData(GRF_CONFIG_STR);
+SetToken(aUserData, 0, ' ', 
OUString::number(static_cast(bLink)));
+
 aValue = xDlg->getValue( 
ExtendedFilePickerElementIds::CHECKBOX_PREVIEW, 0 );
 bool bValue = false;
 aValue >>= bValue;
-OUString aUserData(GRF_CONFIG_STR);
 SetToken( aUserData, 1, ' ', OUString::number( 
static_cast(bValue) ) );
 
 INetURLObject aObj( getPath() );


core.git: vcl/source

2024-12-09 Thread Manish (via logerrit)
 vcl/source/font/PhysicalFontFamily.cxx |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit 8f7294223a654e0ca13f94cbc906e5c333e28308
Author: Manish 
AuthorDate: Mon Dec 9 19:27:48 2024 +0530
Commit: Ilmari Lauhakangas 
CommitDate: Mon Dec 9 19:34:58 2024 +0100

tdf#145538: Use range based for loops

Change-Id: I8b41b96775fdd26464122e47ec853b48bdd921d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178150
Reviewed-by: Skyler Grey 
Tested-by: Jenkins

diff --git a/vcl/source/font/PhysicalFontFamily.cxx 
b/vcl/source/font/PhysicalFontFamily.cxx
index 6956394a5912..e786c4be963e 100644
--- a/vcl/source/font/PhysicalFontFamily.cxx
+++ b/vcl/source/font/PhysicalFontFamily.cxx
@@ -63,9 +63,8 @@ static ImplFontAttrs lcl_IsCJKFont( std::u16string_view 
rFontName )
 {
 // Test, if Fontname includes CJK characters --> In this case we
 // mention that it is a CJK font
-for(size_t i = 0; i < rFontName.size(); i++)
+for (const sal_Unicode& ch : rFontName)
 {
-const sal_Unicode ch = rFontName[i];
 // japanese
 if ( ((ch >= 0x3040) && (ch <= 0x30FF)) ||
  ((ch >= 0x3190) && (ch <= 0x319F)) )


core.git: Branch 'libreoffice-25-2' - 3 commits - sw/inc sw/qa sw/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 sw/inc/SwStyleNameMapper.hxx  |2 -
 sw/qa/extras/layout/layout3.cxx   |2 -
 sw/qa/extras/ooxmlexport/ooxmlexport9.cxx |4 +--
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx  |2 -
 sw/qa/extras/rtfexport/rtfexport4.cxx |3 --
 sw/qa/extras/uiwriter/uiwriter2.cxx   |3 --
 sw/source/core/doc/SwStyleNameMapper.cxx  |   31 ++-
 sw/source/core/unocore/unostyle.cxx   |   39 +++---
 8 files changed, 56 insertions(+), 30 deletions(-)

New commits:
commit 49e0bd84563cc1349c8ecb11aa925cc620978f67
Author: Caolán McNamara 
AuthorDate: Sun Dec 8 11:42:12 2024 +
Commit: Michael Stahl 
CommitDate: Mon Dec 9 20:51:23 2024 +0100

cid#1636664 Dereference after null check

Change-Id: I916212471a80417a582192920427999ee6a425d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178078
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
(cherry picked from commit 46cfd8d2a7a06fb5c04c027ce641a766af8a337a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178140
Reviewed-by: Michael Stahl 

diff --git a/sw/source/core/unocore/unostyle.cxx 
b/sw/source/core/unocore/unostyle.cxx
index 44b710f6d8fc..098750ab418d 100644
--- a/sw/source/core/unocore/unostyle.cxx
+++ b/sw/source/core/unocore/unostyle.cxx
@@ -956,11 +956,11 @@ rtl::Reference 
SwXStyleFamily::getParagraphStyleByName(const OUString&
 rtl::Reference SwXStyleFamily::getStyleByName(const OUString& 
rName)
 {
 SolarMutexGuard aGuard;
+if(!m_pBasePool)
+throw uno::RuntimeException();
 OUString sStyleName;
 SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
 !m_pDocShell->GetDoc()->IsInWriterfilterImport());
-if(!m_pBasePool)
-throw uno::RuntimeException();
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
 if(!pBase)
 throw container::NoSuchElementException(rName);
@@ -1104,7 +1104,7 @@ void SwXStyleFamily::replaceByName(const OUString& rName, 
const uno::Any& rEleme
 throw uno::RuntimeException();
 OUString sStyleName;
 SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-m_pDocShell && !m_pDocShell->GetDoc()->IsInWriterfilterImport());
+!m_pDocShell->GetDoc()->IsInWriterfilterImport());
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
 // replacements only for userdefined styles
 if(!pBase)
commit 9c8c9a6cae41b867b5421e081c7f73a281fa7e02
Author: Caolán McNamara 
AuthorDate: Sat Dec 7 12:12:29 2024 +
Commit: Michael Stahl 
CommitDate: Mon Dec 9 20:51:16 2024 +0100

cid#1636579 Dereference after null check

and

cid#1636580 Dereference after null check
cid#1636581 Dereference after null check

Change-Id: I856876a99a0bbccf27055d2db0dd24f7f040d3af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178036
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit e92db94e19c869050140fc1df64c09b59e97cd67)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178139
Reviewed-by: Michael Stahl 

diff --git a/sw/source/core/unocore/unostyle.cxx 
b/sw/source/core/unocore/unostyle.cxx
index 67facb9fcf58..44b710f6d8fc 100644
--- a/sw/source/core/unocore/unostyle.cxx
+++ b/sw/source/core/unocore/unostyle.cxx
@@ -958,7 +958,7 @@ rtl::Reference 
SwXStyleFamily::getStyleByName(const OUString& rNam
 SolarMutexGuard aGuard;
 OUString sStyleName;
 SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-m_pDocShell && !m_pDocShell->GetDoc()->IsInWriterfilterImport());
+!m_pDocShell->GetDoc()->IsInWriterfilterImport());
 if(!m_pBasePool)
 throw uno::RuntimeException();
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
@@ -1026,7 +1026,7 @@ void SwXStyleFamily::insertStyleByName(const OUString& 
rName, const rtl::Referen
 throw uno::RuntimeException();
 OUString sStyleName;
 SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-m_pDocShell && !m_pDocShell->GetDoc()->IsInWriterfilterImport());
+!m_pDocShell->GetDoc()->IsInWriterfilterImport());
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
 if (pBase)
 throw container::ElementExistException();
@@ -1040,7 +1040,7 @@ void SwXStyleFamily::insertByName(const OUString& rName, 
const uno::Any& rElemen
 throw uno::RuntimeException();
 OUString sStyleName;
 SwStyleNameMapper::FillUIName(rName, sStyleName, m_rEntry.poolId(),
-m_pDocShell && !m_pDocShell->GetDoc()->IsInWriterfilterImport());
+!m_pDocShell->GetDoc()->IsInWriterfilterImport());
 SfxStyleSheetBase* pBase = m_pBasePool->Find(sStyleName, 
m_rEntry.family());
 if (pBase)
 throw container::ElementExistException();
commit

core.git: Branch 'libreoffice-25-2' - 2 commits - sw/inc sw/qa sw/source

2024-12-09 Thread Michael Stahl (via logerrit)
 sw/inc/SwStyleNameMapper.hxx   |2 
 sw/qa/extras/odfimport/data/tdf159549.fodt |  121 +
 sw/qa/extras/odfimport/odfimport.cxx   |   22 +
 sw/source/core/doc/SwStyleNameMapper.cxx   |3 
 sw/source/core/unocore/unostyle.cxx|   37 +++-
 5 files changed, 159 insertions(+), 26 deletions(-)

New commits:
commit 8a8244e019edd5c96311d705a4b4119a41417814
Author: Michael Stahl 
AuthorDate: Mon Dec 9 14:42:44 2024 +0100
Commit: Michael Stahl 
CommitDate: Mon Dec 9 20:52:37 2024 +0100

tdf#159549 sw: add unit test

Change-Id: I8b964d4436835b66f25acece9562516ed70473eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178148
Reviewed-by: Michael Stahl 
Tested-by: Jenkins
(cherry picked from commit bfdba3c86301e9680204de0a66bfbfc6383494b9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178165

diff --git a/sw/qa/extras/odfimport/data/tdf159549.fodt 
b/sw/qa/extras/odfimport/data/tdf159549.fodt
new file mode 100644
index ..891b4ed9fc8e
--- /dev/null
+++ b/sw/qa/extras/odfimport/data/tdf159549.fodt
@@ -0,0 +1,121 @@
+
+http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:dc="http://purl.org/dc/eleme
 nts/1.1/" xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0
 " xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.2" 
office:mimetype="application/vnd.oasis.opendocument.text">
+ 
2024-12-09T13:36:04.1549200662024-12-09T14:09:04.311392385PT32M56S2CIB_OfficeDev/6.4.0.29$Linux_X86_64
 
LibreOffice_project/5374b230ff33d77a7f81d56046759f218a160036
+ 
+  
+  
+  
+ 
+ 
+  
+   
+   
+
+   
+   
+  
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+  
+   
+   
+  
+  
+  
+   
+  
+  
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+   
+
+ 
+
+   
+  
+  
+  
+  
+ 
+ 
+  
+   
+  
+  
+   
+
+   
+   
+   
+  
+ 
+ 
+  
+ 
+ 
+  
+   
+
+
+
+
+
+   
+   Text 
Body
+   DerivedFromTextBody
+   Body Text
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/odfimport/odfimport.cxx 
b/sw/qa/extras/odfimport/odfimport.cxx
index 014c4011cff1..dd22a4937ee2 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -1203,6 +1203,28 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf133459)
 CPPUNIT_ASSERT_EQUAL(u"QQ "_ustr, getProperty(xFormat, 
u"FormatString"_ustr));
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf159549)
+{
+createSwDoc("tdf159549.fodt");
+
+uno::Reference 
xParaStyles(getStyles(u"ParagraphStyles"_ustr));
+
+uno::Reference xStyleBuiltin(xParaStyles->getByName(
+u"Text body"_ustr), uno::UNO_QUERY);
+CPPUNIT_ASSERT_EQUAL(float(32), getProperty(xStyleBuiltin, 
"CharHeight"));
+CPPUNIT_ASSERT_EQUAL(OUString("Standard"), 
xStyleBuiltin.queryThrow()->getParentStyle());
+
+uno::Reference xStyl

core.git: helpcontent2

2024-12-09 Thread Dione Maddern (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit adf11923692b5baf3750a6c5c5d3043772a68338
Author: Dione Maddern 
AuthorDate: Mon Dec 9 15:12:35 2024 -0500
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 21:12:35 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to f723cce6039b88b82380fbc8ebe9a2e18eaf3fd4
  - tdf#162504 Create help page for Alignment Sidebar panel

Create new file source/text/scalc/01/sidebar_alignment.xhp to explain
the features of the Alignment panel of the Properties sidebar.

In AllLangHelp_scalc.mk
- Add new file source/text/scalc/01/sidebar_alignment.xhp to the make
file
- Change the file path for
source/text/scalc/01/sidebar_number_format.xhp to show amended file
location.

In source/text/shared/01/05020700.xhp
- Add variable tag so that the file can easily be linked from other help
pages.

In source/text/shared/01/05100100.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/05340300.xhp
- Add section and variable tags so that content can be easily embedded
in other pages.
- Reformat the "reference_edge" section so that each option has its own
heading. This improves readability and consistency and allows the same
content to be re-used in the help page for the Alignment Sidebar panel.

In source/text/shared/01/LeftToRight.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/RightToLeft.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/scalc/sidebar_number_format.xhp
- Moved file to source/text/scalc/01/sidebar_number_format.xhp

In source/text/shared/01/sidebar_properties.xhp
- Embed description of Alignment sidebar panel
- Update file path for source/text/scalc/01/sidebar_number_format.xhp
- Add loc_false tags for embedded variables

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

diff --git a/helpcontent2 b/helpcontent2
index f45820f45e2c..f723cce6039b 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit f45820f45e2cf351d3f08238952d25de0f68337d
+Subproject commit f723cce6039b88b82380fbc8ebe9a2e18eaf3fd4


help.git: Branch 'libreoffice-25-2' - source/text

2024-12-09 Thread Olivier Hallot (via logerrit)
 source/text/shared/help/browserhelp.xhp |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 6bf0a0298fb11d8ddc0ebcaa2d13accf683c6632
Author: Olivier Hallot 
AuthorDate: Sun Dec 8 16:49:43 2024 -0300
Commit: Olivier Hallot 
CommitDate: Mon Dec 9 17:06:39 2024 +0100

Add Tagalog to online help dropdown list

Change-Id: Ie22b89529b3937a36806f87b3e9a049a14bc85b9
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178120
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 2fd0b5ff3a8599ee49a04b36c9203a03e6295f54)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178121

diff --git a/source/text/shared/help/browserhelp.xhp 
b/source/text/shared/help/browserhelp.xhp
index e77d39c143..1eb1b0c0f9 100644
--- a/source/text/shared/help/browserhelp.xhp
+++ b/source/text/shared/help/browserhelp.xhp
@@ -95,6 +95,7 @@
 Tajik
 Tamil
 Tibetan
+Tagalog
 Turkish
 Uyghur
 Ukrainian


core.git: sw/qa sw/source

2024-12-09 Thread Michael Weghorn (via logerrit)
 sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx |   31 +++
 sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt  |binary
 sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt|binary
 sw/source/core/access/AccessibilityCheck.cxx |   29 +-
 4 files changed, 59 insertions(+), 1 deletion(-)

New commits:
commit a4b03fce93fce7672be40b57d30797ac36ca67c9
Author: Michael Weghorn 
AuthorDate: Mon Dec 9 10:11:59 2024 +0100
Commit: Michael Weghorn 
CommitDate: Mon Dec 9 18:21:46 2024 +0100

tdf#164247 sw a11y check: Adhere to WCAG contrast threshold for large text

Quoting WCAG 2.2 "Success Criterion 1.4.3 Contrast (Minimum)" [1]:

> The visual presentation of text and images of text has a contrast
> ratio of at least 4.5:1, except for the following:
>
> Large Text
>
> Large-scale text and images of large-scale text have a contrast
> ratio of at least 3:1;

Regarding large text, the corresponding "Understanding SC 1.4.3" [2]
clarifies:

> Text that is larger and has wider character strokes is easier to read at
> lower contrast. The contrast requirement for larger text is therefore
> lower. This allows authors to use a wider range of color choices for
> large text, which is helpful for design of pages, particularly titles.
> 18 point text or 14 point bold text is judged to be large enough to
> require a lower contrast ratio.

Therefore, lower the text contrast requirement in
Writer's accessibility check from 4.5 to 3.0 for
text that is considered large according to that
specification.

Add a unit test with 2 test documents:

* one that adheres to the requirements and would have triggered false
  positives without this change in place
  (sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt)
* one that doesn't adhere to the requirements and still fails the
  check, as it should
  (sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt)

[1] https://www.w3.org/TR/WCAG22/#contrast-minimum
[2] https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html

Change-Id: I398f72aa5bdcd77c42834632575d6465a5ecd586
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178127
Reviewed-by: Michael Weghorn 
Tested-by: Jenkins
Reviewed-by: Balazs Varga 

diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx 
b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
index 1f820b47ed02..981cf03cd26b 100644
--- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
+++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
@@ -318,6 +318,37 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, 
testStylesWithHeader)
 CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[4]->m_eIssueID);
 }
 
+// Text contrast tests
+// see https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html
+CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTextContrast)
+{
+// first test doc has these issues:
+// * normal text with contrast < 4.5
+// * large text with contrast < 3.0
+// * bold text with font size 13 (i.e. not considered large) with contrast 
< 4.5
+createSwDoc("ContrastTestFail.odt");
+SwDoc* pDoc = getSwDoc();
+sw::AccessibilityCheck aCheck(pDoc);
+aCheck.check();
+auto& aIssues = aCheck.getIssueCollection().getIssues();
+CPPUNIT_ASSERT_EQUAL(size_t(3), aIssues.size());
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_CONTRAST, 
aIssues[0]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_CONTRAST, 
aIssues[1]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_CONTRAST, 
aIssues[2]->m_eIssueID);
+
+// second test doc has large text with contrast between 3.0 and 4.5,
+// which is sufficient for large text
+// both of these are considered large text according to the spec:
+// * non-bold text font with size 18
+// * bold text with font size 14
+createSwDoc("ContrastTestOK.odt");
+SwDoc* pDocOK = getSwDoc();
+sw::AccessibilityCheck aCheckOK(pDocOK);
+aCheckOK.check();
+auto& aIssuesOK = aCheckOK.getIssueCollection().getIssues();
+CPPUNIT_ASSERT_EQUAL(size_t(0), aIssuesOK.size());
+}
+
 namespace
 {
 std::vector>
diff --git a/sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt 
b/sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt
new file mode 100644
index ..4f898942e37f
Binary files /dev/null and 
b/sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt differ
diff --git a/sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt 
b/sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt
new file mode 100644
index ..2f47148838a2
Binary files /dev/null and 
b/sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt differ
diff --git a/sw/source/core/access/AccessibilityCheck.cxx 
b/sw/sourc

core.git: Branch 'feature/allo_contract45533b' - dictionaries

2024-12-09 Thread Samuel Mehrbrodt (via logerrit)
 dictionaries |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5acf965ba18b9d8092da9f75d54015bb73b6d9f6
Author: Samuel Mehrbrodt 
AuthorDate: Mon Dec 9 15:42:42 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 15:42:42 2024 +0100

Update git submodules

* Update dictionaries from branch 'feature/allo_contract45533b'
  to 49fcce75f5b989b4734617020de396642df03fd6
  - Add new word "Ratenvereinbarung"

And put "Rattenvereinbarung" on the blacklist

Change-Id: Ie4d7b8fd93c5758316b5a60539c2a42152725537
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/178143
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Samuel Mehrbrodt 

diff --git a/dictionaries b/dictionaries
index b37840175adc..49fcce75f5b9 16
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit b37840175adc3e12721d892d230ea257854f12bc
+Subproject commit 49fcce75f5b989b4734617020de396642df03fd6


dictionaries.git: Branch 'feature/allo_contract45533b' - de/de_AT_frami.dic de/de_DE_frami.dic

2024-12-09 Thread Samuel Mehrbrodt (via logerrit)
 de/de_AT_frami.dic |2 ++
 de/de_DE_frami.dic |2 ++
 2 files changed, 4 insertions(+)

New commits:
commit 49fcce75f5b989b4734617020de396642df03fd6
Author: Samuel Mehrbrodt 
AuthorDate: Mon Nov 6 21:44:48 2023 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 15:41:48 2024 +0100

Add new word "Ratenvereinbarung"

And put "Rattenvereinbarung" on the blacklist

Change-Id: Ie4d7b8fd93c5758316b5a60539c2a42152725537
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/178143
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Samuel Mehrbrodt 

diff --git a/de/de_AT_frami.dic b/de/de_AT_frami.dic
index af01bc7..7858516 100644
--- a/de/de_AT_frami.dic
+++ b/de/de_AT_frami.dic
@@ -73905,6 +73905,7 @@ Rattenplage/Nm
 Rattenplage/m
 Rattensparplan/dSTp
 Rattenzahlungsplan/dSTp
+Rattenvereinbarung/dSTp
 Ratterger�usch/EPSTm
 Rattern/S
 Ratzeburg/Sm
@@ -212030,6 +212031,7 @@ ratenzahlungspl
 ratenzahlungsplan/STozm
 ratenzahlungsvereinbarung/Pozm
 ratenzahlungszuschlag/STpozm
+ratenvereinbarung/Pozm
 ratespiel/EPSTozm
 ratewahrscheinlichkeit/Pozm
 ratgeber/FNSozm
diff --git a/de/de_DE_frami.dic b/de/de_DE_frami.dic
index 7e08137..3d02c29 100644
--- a/de/de_DE_frami.dic
+++ b/de/de_DE_frami.dic
@@ -74124,6 +74124,7 @@ Ratenzahlungspl
 Ratenzahlungsplan/STm
 Ratenzahlungsvereinbarung/Pm
 Ratenzahlungszuschlag/STpm
+ratenvereinbarung/Pm
 Ratespiel/EPSTm
 Ratewahrscheinlichkeit/Pm
 Ratgeber/FNSm
@@ -74229,6 +74230,7 @@ Rattenplage/Nm
 Rattenplage/m
 Rattensparplan/dSTp
 Rattenzahlungsplan/dSTp
+Rattenvereinbarung/dSTp
 Ratterger�usch/EPSTm
 Rattern/S
 Ratzeburg/Sm


dictionaries.git: Branch 'feature/allo_contract45533b' - 7 commits - hu_HU/hyph_hu_HU.dic sk_SK/description.xml sk_SK/README_en.txt sk_SK/README_sk.txt sk_SK/release_en.txt sk_SK/release_sk.txt sk_SK/

2024-12-09 Thread Christian Lohmaier (via logerrit)
 hu_HU/hyph_hu_HU.dic  |3 
 sk_SK/README_en.txt   |4 
 sk_SK/README_sk.txt   |4 
 sk_SK/description.xml |2 
 sk_SK/release_en.txt  |2 
 sk_SK/release_sk.txt  |2 
 sk_SK/sk_SK.aff   |2 
 sk_SK/sk_SK.dic   |  828 +
 uk_UA/description.xml |2 
 uk_UA/uk_UA.aff   |3 
 uk_UA/uk_UA.dic   | 2381 --
 11 files changed, 2216 insertions(+), 1017 deletions(-)

New commits:
commit 26a1bad72e6517210b3784e045c11c7cf7a2efab
Author: Christian Lohmaier 
AuthorDate: Mon Sep 2 15:39:51 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 16:18:22 2024 +0100

Version 24.2.6.2, tag libreoffice-24.2.6.2

Change-Id: Id01a03bb130a6a8936439d6912c7f74921038921
commit 4b3de2f0b965633c21c0c740ba227906a2ad4566
Author: Christian Lohmaier 
AuthorDate: Sun Aug 18 16:13:14 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 16:18:22 2024 +0100

Branch libreoffice-24-2-6

This is 'libreoffice-24-2-6' - the stable branch for the 24.2.6 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: Id8c7d95b9517f3e6c61cf76035c4ff9051023b0a
commit 9632e72d34039fa166c3de0fc35ada319fe5
Author: Christian Lohmaier 
AuthorDate: Tue Oct 29 12:14:30 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 16:18:22 2024 +0100

Version 24.2.7.2, tag libreoffice-24.2.7.2

Change-Id: Ifb135dd9069b25d58ac04073c068616dc7dc7224
commit ba3d09aea258ec6c5526c2f2d0a7543e4edb00d3
Author: Christian Lohmaier 
AuthorDate: Mon Oct 14 14:57:38 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 16:18:22 2024 +0100

Branch libreoffice-24-2-7

This is 'libreoffice-24-2-7' - the stable branch for the 24.2.7 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: I9b79b0a81d7a8a344e9f57630b46540e7b1c3ea8
commit 13b2c75104fe9eb0c8dfde21cb9887789a0e4da7
Author: Xisco Fauli 
AuthorDate: Tue Oct 8 11:21:37 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 16:18:22 2024 +0100

upgrade Ukrainian dictionaries to 6.5.3

Downloaded from 
https://github.com/brown-uk/dict_uk/releases/download/v6.5.3/hunspell-uk_UA_6.5.3.zip

Change-Id: I1ff9b5ca99fc855407b4982b202ceb840f8bab23
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/174690
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 
(cherry picked from commit 73ca477c42d6a67cfd6bbe819016f4b1b9f4c3ce)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/174668
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

diff --git a/uk_UA/description.xml b/uk_UA/description.xml
index f221da9..f60c18c 100644
--- a/uk_UA/description.xml
+++ b/uk_UA/description.xml
@@ -1,6 +1,6 @@
 
 http://openoffice.org/extensions/description/2006"; 
xmlns:d="http://openoffice.org/extensions/description/2006";  
xmlns:xlink="http://www.w3.org/1999/xlink";>
-
+
 
 
 Ukrainian spelling dictionary, hyphenation rules, 
and thesaurus
diff --git a/uk_UA/uk_UA.aff b/uk_UA/uk_UA.aff
index 2343c2a..4c45b4f 100644
--- a/uk_UA/uk_UA.aff
+++ b/uk_UA/uk_UA.aff
@@ -5201,7 +5201,7 @@ SFX n і 0 [^лнцс]і
 SFX n і ам [^лнцс]і
 SFX n і ами [^лнцс]і
 SFX n і ах [^лнцс]і
-SFX o Y 56
+SFX o Y 57
 SFX o и ям [аеєиіїоуюя][днстр]и
 SFX o и ях [аеєиіїоуюя][днстр]и
 SFX o і ями [лзнцт]і
@@ -5229,6 +5229,7 @@ SFX o і ам [^злнрцт]і
 SFX o і ах [^злнрцт]і
 SFX o і ей [аяеєиії]рі
 SFX o і ь и[нц]і
+SFX o ня нєй єня
 SFX o и ьми [аеєиіїоуюя][днст]и
 SFX o і ей [чшщт]і
 SFX o ьні ень льні
diff --git a/uk_UA/uk_UA.dic b/uk_UA/uk_UA.dic
index 2fc4d27..568ed22 100644
--- a/uk_UA/uk_UA.dic
+++ b/uk_UA/uk_UA.dic
@@ -1,4 +1,4 @@
-336673
+338164
 +cs=найсправжнісінький/j
 а
 АА
@@ -304,6 +304,7 @@
 Абрахам/19x
 Абрахамівна/%h
 Абрахамович/19
+абреакція/%
 абревіатура/%;
 абревіатурний/j
 абревіаційний/j
@@ -1328,8 +1329,6 @@
 автогонка/%<
 автогонник/19$
 автогонниця/%;h
-автогонщик/19$
-автогонщиця/%;h
 автогосподарство/RS
 автограбіжник/19$
 автогравюра/%;
@@ -1466,6 +1465,7 @@
 автозчеп/19
 автозчеплення/RS
 автозчеплювання/R
+автозчепний/j
 автозчіплювання/R
 автоімперія/%;
 автоімпорт/1
@@ -1762,6 +1762,7 @@
 автомобілебудування/R
 автомобілевиробник/19$
 автомобілевоз/19$
+автомобілекористування/R
 автомобілелітакобудування/R
 автомобілепідіймач/19$
 автомобілерозвантажувач/19$
@@ -2043,6 +2044,7 @@
 авторефрижераторний/j
 авторецензія/%;
 авторецепція/%;
+авторизаційний/j
 авторизаці

core.git: Branch 'feature/allo_contract45533b' - dictionaries

2024-12-09 Thread Christian Lohmaier (via logerrit)
 dictionaries |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9d780234b9870c41bea6d7768a51b5ff555c7bfa
Author: Christian Lohmaier 
AuthorDate: Mon Dec 9 17:18:39 2024 +0200
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 16:18:39 2024 +0100

Update git submodules

* Update dictionaries from branch 'feature/allo_contract45533b'
  to 26a1bad72e6517210b3784e045c11c7cf7a2efab
  - Version 24.2.6.2, tag libreoffice-24.2.6.2

Change-Id: Id01a03bb130a6a8936439d6912c7f74921038921

  - Branch libreoffice-24-2-6

This is 'libreoffice-24-2-6' - the stable branch for the 24.2.6 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: Id8c7d95b9517f3e6c61cf76035c4ff9051023b0a

  - Version 24.2.7.2, tag libreoffice-24.2.7.2

Change-Id: Ifb135dd9069b25d58ac04073c068616dc7dc7224

  - Branch libreoffice-24-2-7

This is 'libreoffice-24-2-7' - the stable branch for the 24.2.7 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: I9b79b0a81d7a8a344e9f57630b46540e7b1c3ea8

  - upgrade Ukrainian dictionaries to 6.5.3

Downloaded from 
https://github.com/brown-uk/dict_uk/releases/download/v6.5.3/hunspell-uk_UA_6.5.3.zip

Change-Id: I1ff9b5ca99fc855407b4982b202ceb840f8bab23
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/174690
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 
(cherry picked from commit 73ca477c42d6a67cfd6bbe819016f4b1b9f4c3ce)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/174668
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

  - Updated Slovak dictionaries to v2.4.8

Downloaded from 
https://github.com/sk-spell/hunspell-sk/archive/refs/tags/v2.4.8.zip

Change-Id: I369a4703c7accc635572a0f711c5c0304429e4e9
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/172738
Reviewed-by: Andras Timar 
Tested-by: Xisco Fauli 
(cherry picked from commit 75f5dff8c972fff4a32e4ea8434722c277f02a3f)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/173289
Reviewed-by: Christian Lohmaier 
Tested-by: Christian Lohmaier 

  - Fix Hungarian hyphenation

ké=rüg=ma, and not kér=üg=ma,
reported by Gellért Gyuris.

Change-Id: I2e34d93ab456c6180f80b94c136d32767717bf8e
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/172369
Reviewed-by: László Németh 
Tested-by: László Németh 
(cherry picked from commit 2ae8fab6fe32bbd3d9817d41a823dc3a9dc6a07f)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/172747
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 

diff --git a/dictionaries b/dictionaries
index 49fcce75f5b9..26a1bad72e65 16
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit 49fcce75f5b989b4734617020de396642df03fd6
+Subproject commit 26a1bad72e6517210b3784e045c11c7cf7a2efab


core.git: 2 commits - vcl/inc vcl/win

2024-12-09 Thread Michael Weghorn (via logerrit)
 vcl/inc/win/salinst.h |9 --
 vcl/win/app/salinst.cxx   |  115 --
 vcl/win/gdi/salnativewidgets-luna.cxx |3 
 3 files changed, 18 insertions(+), 109 deletions(-)

New commits:
commit 0bf5756b6aad1e15b00f0cdeea8546363b2c1cff
Author: Michael Weghorn 
AuthorDate: Mon Dec 9 10:40:48 2024 +
Commit: Michael Weghorn 
CommitDate: Mon Dec 9 17:46:11 2024 +0100

win: Reuse existing WinSalInstance::getWindowsBuildNumber

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

diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 7efff75887cd..3dad25b4da62 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -311,30 +311,7 @@ SalData::~SalData()
 
 bool OSSupportsDarkMode()
 {
-bool bRet = false;
-if (HMODULE h_ntdll = GetModuleHandleW(L"ntdll.dll"))
-{
-typedef LONG(WINAPI* RtlGetVersion_t)(PRTL_OSVERSIONINFOW);
-if (auto RtlGetVersion
-= reinterpret_cast(GetProcAddress(h_ntdll, 
"RtlGetVersion")))
-{
-RTL_OSVERSIONINFOW vi2{};
-vi2.dwOSVersionInfoSize = sizeof(vi2);
-if (RtlGetVersion(&vi2) == 0)
-{
-if (vi2.dwMajorVersion > 10)
-bRet = true;
-else if (vi2.dwMajorVersion == 10)
-{
-if (vi2.dwMinorVersion > 0)
-bRet = true;
-else if (vi2.dwBuildNumber >= 18362)
-bRet = true;
-}
-}
-}
-}
-return bRet;
+return WinSalInstance::getWindowsBuildNumber() >= 18362;
 }
 
 namespace {
commit 5f00b748cbcb2c37f3c3a11a86b4df85b8b9a213
Author: Michael Weghorn 
AuthorDate: Mon Dec 9 10:31:46 2024 +
Commit: Michael Weghorn 
CommitDate: Mon Dec 9 17:46:04 2024 +0100

vcl win: Use only Windows build number to identify version

Now that support for Windows versions earlier than Windows 10
was dropped in

commit b664c08a6d1096d279437c883e55735a0c431ac8
Date:   Sat Dec 7 14:46:24 2024 +0500

Drop support for Windows versions prior to Windows 10

, also drop handling for earlier versions from
`getOSVersionString`.

All still supported Windows versions (10, 11,
corresponding server versions) report a major/minor
version of 10.0 (see [1]), so rely on the build
version only and drop previous logic to retrieve
the major and minor version.

[1] 
https://learn.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version

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

diff --git a/vcl/inc/win/salinst.h b/vcl/inc/win/salinst.h
index 8bff74b865d5..cc02c8bad4a2 100644
--- a/vcl/inc/win/salinst.h
+++ b/vcl/inc/win/salinst.h
@@ -28,13 +28,6 @@
 
 class SalYieldMutex;
 
-struct WinOSVersionInfo
-{
-DWORD m_nMajorVersion = 0;
-DWORD m_nMinorVersion = 0;
-DWORD m_nBuildNumber = 0;
-};
-
 class WinSalInstance : public SalInstance
 {
 public:
@@ -80,7 +73,7 @@ public:
 virtual OUStringGetConnectionIdentifier() override;
 virtual voidAddToRecentDocumentList(const OUString& 
rFileUrl, const OUString& rMimeType, const OUString& rDocumentService) override;
 
-static WinOSVersionInfo getWinOSVersionInfo();
+static DWORD getWindowsBuildNumber();
 virtual OUStringgetOSVersion() override;
 virtual void BeforeAbort(const OUString&, bool) override;
 
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 8ef06b692457..7efff75887cd 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -1045,84 +1045,30 @@ static OUString getWinArch()
 }
 }
 
-static OUString getOSVersionString(DWORD nMajorVersion, DWORD nMinorVersion, 
DWORD nBuildNumber)
+static OUString getOSVersionString(DWORD nBuildNumber)
 {
 OUStringBuffer result = u"Windows";
-if (nMajorVersion == 6 && nMinorVersion == 1)
-result.append(" 7 Service Pack 1");
-else if (nMajorVersion == 6 && nMinorVersion == 2)
-result.append(" 8");
-else if (nMajorVersion == 6 && nMinorVersion == 3)
-result.append(" 8.1");
-else if (nMajorVersion == 10 && nMinorVersion == 0)
-{
-if (nBuildNumber >= 22000)
-result.append(" 11");
-else
-result.append(" 10");
-}
+if (nBuildNumber >= 22000)
+result.append(" 11");
+else if (nBuildNumber > 0)
+result.append(" 10");
 else // We don't know what Windows it is
 result.append(" unknown");
 
 result.append(getWinArch());
 
-if (nMajorVersion || nMinorVersion || nBuildNu

core.git: oox/source sd/qa

2024-12-09 Thread Vasily Melenchuk (via logerrit)
 oox/source/ppt/pptshapegroupcontext.cxx |2 +-
 sd/qa/unit/data/pptx/tdf158512.pptx |binary
 sd/qa/unit/import-tests2.cxx|   13 +
 3 files changed, 14 insertions(+), 1 deletion(-)

New commits:
commit 6c9055aaac77323b9446050dafb8dc8d492a6bd6
Author: Vasily Melenchuk 
AuthorDate: Thu Apr 11 11:10:37 2024 +0300
Commit: Gabor Kelemen 
CommitDate: Mon Dec 9 15:34:03 2024 +0100

tdf#158512: PPTX import: reset useBgFill flag when it is unused

Even if current fill is not "use background" we should reset useBgFill
explicitly, since this value could be set from master slide and was
nested in current shape.

It is somewhat confusing to have fillStyle as none and using slide
background at the same time. So better to clean it explicitly.

Change-Id: I0d817dc295785be7a6cb8f884d5023d316cd2ebf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165994
Reviewed-by: Gabor Kelemen 
Tested-by: Jenkins
Tested-by: Gabor Kelemen 

diff --git a/oox/source/ppt/pptshapegroupcontext.cxx 
b/oox/source/ppt/pptshapegroupcontext.cxx
index 26caf62ef67e..66b18c056872 100644
--- a/oox/source/ppt/pptshapegroupcontext.cxx
+++ b/oox/source/ppt/pptshapegroupcontext.cxx
@@ -108,10 +108,10 @@ ContextHandlerRef PPTShapeGroupContext::onCreateContext( 
sal_Int32 aElementToken
 {
 auto pShape = std::make_shared( meShapeLocation, 
u"com.sun.star.drawing.CustomShape"_ustr );
 bool bUseBgFill = rAttribs.getBool(XML_useBgFill, false);
+pShape->getFillProperties().moUseBgFill = bUseBgFill;
 if (bUseBgFill)
 {
 pShape->getFillProperties().moFillType = XML_noFill;
-pShape->getFillProperties().moUseBgFill = true;
 }
 pShape->setModelId(rAttribs.getStringDefaulted( XML_modelId ));
 return new PPTShapeContext( *this, mpSlidePersistPtr, 
mpGroupShapePtr, pShape );
diff --git a/sd/qa/unit/data/pptx/tdf158512.pptx 
b/sd/qa/unit/data/pptx/tdf158512.pptx
new file mode 100644
index ..96494ddf656a
Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf158512.pptx differ
diff --git a/sd/qa/unit/import-tests2.cxx b/sd/qa/unit/import-tests2.cxx
index 2ff83269d682..8e9b7f5f72b9 100644
--- a/sd/qa/unit/import-tests2.cxx
+++ b/sd/qa/unit/import-tests2.cxx
@@ -2149,6 +2149,19 @@ CPPUNIT_TEST_FIXTURE(SdImportTest2, testTdf161430)
 CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_NONE, eXFS);
 }
 
+CPPUNIT_TEST_FIXTURE(SdImportTest2, tdf158512)
+{
+// First shape on first slide should have no fill to avoid hiding 
background
+createSdImpressDoc("pptx/tdf158512.pptx");
+
+const SdrPage* pPage = GetPage(1);
+CPPUNIT_ASSERT_EQUAL(size_t(2), pPage->GetObjCount());
+CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_NONE,
+ 
pPage->GetObj(0)->GetMergedItem(XATTR_FILLSTYLE).GetValue());
+CPPUNIT_ASSERT_EQUAL(false,
+ 
pPage->GetObj(0)->GetMergedItem(XATTR_FILLUSESLIDEBACKGROUND).GetValue());
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


dictionaries.git: Changes to 'feature/allo_contract45533b'

2024-12-09 Thread Christian Lohmaier (via logerrit)
New branch 'feature/allo_contract45533b' available with the following commits:


core.git: sc/inc sc/source

2024-12-09 Thread Adesola Samuel (via logerrit)
 sc/inc/strings.hrc|1 +
 sc/source/ui/view/tabview.cxx |2 ++
 2 files changed, 3 insertions(+)

New commits:
commit 928081ac7288eecf7cafe0f1ac6e803dc611b39a
Author: Adesola Samuel 
AuthorDate: Sun Dec 8 16:06:52 2024 +0100
Commit: Heiko Tietze 
CommitDate: Mon Dec 9 16:44:49 2024 +0100

tdf#157747 Add tooltip to Calc select all rows

Added a tooltip that says "Click here to select all cells" to calc
select all rows corner. The report shows a tooltip
will suffice instead of an added icon

Change-Id: I33f9bcb48f9185267be760219f58b196e4d5874d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178092
Reviewed-by: Heiko Tietze 
Tested-by: Jenkins

diff --git a/sc/inc/strings.hrc b/sc/inc/strings.hrc
index 193061581938..50549907ade0 100644
--- a/sc/inc/strings.hrc
+++ b/sc/inc/strings.hrc
@@ -189,6 +189,7 @@
 #define SCSTR_QHELP_BTNEQUAL
NC_("SCSTR_QHELP_BTNEQUAL", "Formula")
 #define SCSTR_QHELP_EXPAND_FORMULA  
NC_("SCSTR_QHELP_EXPAND_FORMULA", "Expand Formula Bar")
 #define SCSTR_QHELP_COLLAPSE_FORMULA
NC_("SCSTR_QHELP_COLLAPSE_FORMULA", "Collapse Formula Bar")
+#define SCSTR_QHELP_SELECT_ALL_CELLS
NC_("SCSTR_QHELP_SELECT_ALL_CELLS", "Click here to select all cells")
 
 #define STR_UNKNOWN_USER_CONFLICT   
NC_("STR_UNKNOWN_USER_CONFLICT", "Unknown User")
 
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index 0761018fd089..03258c9fdaf2 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -41,6 +41,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -80,6 +81,7 @@ ScCornerButton::ScCornerButton( vcl::Window* pParent, 
ScViewData* pData ) :
 pViewData( pData )
 {
 ScCornerButton::EnableRTL( false );
+SetQuickHelpText(ScResId(SCSTR_QHELP_SELECT_ALL_CELLS));
 }
 
 ScCornerButton::~ScCornerButton()


core.git: .configurations/admin_java_and_deps.dsc.yaml .configurations/user_steps.dsc.yaml

2024-12-09 Thread Christian Lohmaier (via logerrit)
 .configurations/admin_java_and_deps.dsc.yaml |9 -
 .configurations/user_steps.dsc.yaml  |   12 
 2 files changed, 21 deletions(-)

New commits:
commit 5ba8f4f453f79b7beae750b42a3459d19b34cb44
Author: Christian Lohmaier 
AuthorDate: Sun Dec 8 12:35:03 2024 +0100
Commit: Christian Lohmaier 
CommitDate: Mon Dec 9 18:02:54 2024 +0100

f'up to "Windows 7-8.1 support was removed, prevent install on these old 
systems"

ucrts are no longer added to the installation sets and the corresponding
configure switch has been removed as well.

Change-Id: I484c65c6109572ddd31738e91fcc798575508a7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178076
Reviewed-by: Christian Lohmaier 
Tested-by: Jenkins

diff --git a/.configurations/admin_java_and_deps.dsc.yaml 
b/.configurations/admin_java_and_deps.dsc.yaml
index 2d1f0b7eac77..2a417623989a 100644
--- a/.configurations/admin_java_and_deps.dsc.yaml
+++ b/.configurations/admin_java_and_deps.dsc.yaml
@@ -61,15 +61,6 @@ properties:
 Uri: https://repo1.maven.org/maven2/junit/junit/4.10/junit-4.10.jar
 ChecksumType: SHA256
 Checksum: 
36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a
-- resource: xPSDesiredStateConfiguration/xRemoteFile
-  id: ucrt
-  directives:
-description: download ucrts
-  settings:
-DestinationPath: C:/Users/Public/Downloads
-Uri: 
https://download.microsoft.com/download/C/5/D/C5D68AA1-F62E-422A-9084-4AD85CEB8D4D/WindowsUCRT.zip
-ChecksumType: SHA256
-Checksum: 
3c9fff1e102adbab55e588ce58b4291db885a530b2ae3bcca851c2721c8be3e1
 - resource: xPSDesiredStateConfiguration/xMsiPackage
   id: JDK_x64
   directives:
diff --git a/.configurations/user_steps.dsc.yaml 
b/.configurations/user_steps.dsc.yaml
index 21646c12cc74..741ffcbbc050 100644
--- a/.configurations/user_steps.dsc.yaml
+++ b/.configurations/user_steps.dsc.yaml
@@ -18,7 +18,6 @@ properties:
 # the empty string element is so that each file can be specified with 
trailing comma
 TestScript: |
   $files = @(
-  "WindowsUCRT.zip",
   "apache-ant-1.10.15-bin.zip",
   "clang-format-5.0.0-win.exe",
   "jom_1_1_4.zip",
@@ -93,16 +92,6 @@ properties:
 TestScript: Test-Path -Path 
"$env:USERPROFILE/lo/apache-ant-1.10.15/bin/ant"
 GetScript:  Test-Path -Path 
"$env:USERPROFILE/lo/apache-ant-1.10.15/bin/ant"
 SetScript: Expand-Archive -LiteralPath 
"$env:PUBLIC/Downloads/apache-ant-1.10.15-bin.zip" -Destination 
"$env:USERPROFILE/lo/"
-- resource: xPSDesiredStateConfiguration/xScript
-  id: ucrt-extract
-  dependsOn:
-- lodir
-  directives:
-description: extract ucrts to the ~/lo directory
-  settings:
-TestScript: Test-Path -Path 
"$env:USERPROFILE/lo/ucrt/Windows8.1-KB2999226-x64.msu"
-GetScript:  Test-Path -Path 
"$env:USERPROFILE/lo/ucrt/Windows8.1-KB2999226-x64.msu"
-SetScript: Expand-Archive -LiteralPath 
"$env:PUBLIC/Downloads/WindowsUCRT.zip" -Destination "$env:USERPROFILE/lo/ucrt"
 - resource: xPSDesiredStateConfiguration/xScript
   id: spp-extract
   dependsOn:
@@ -172,7 +161,6 @@ properties:
   --with-ant-home=$env:USERPROFILE\lopache-ant-1.10.15
   --with-junit=$env:USERPROFILE\lo\junit-4.10.jar
   --with-doxygen=$env:USERPROFILE\lo\spp-  
--with-ucrt-dir=$env:USERPROFILE\lo\ucrt
   #--enable-odk
   #--disable-dependency-tracking
   #--enable-dbgutil


core.git: helpcontent2

2024-12-09 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 3dd137c50f94f2b0ae602eb7ed66827cf0d9af9d
Author: Olivier Hallot 
AuthorDate: Mon Dec 9 17:56:23 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 21:56:23 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 635f1dc3de1c1af8b6a99205d2237c0650084bea
  - tdf#155193 No indexing when indexer="excluded" in 

Use omindex property of HTML indexing. See

https://xapian.org/docs/omega/overview.html

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

diff --git a/helpcontent2 b/helpcontent2
index d1e72401e018..635f1dc3de1c 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit d1e72401e01866e317fa763f914d15ea9a277372
+Subproject commit 635f1dc3de1c1af8b6a99205d2237c0650084bea


help.git: help3xsl/online_transform.xsl

2024-12-09 Thread Olivier Hallot (via logerrit)
 help3xsl/online_transform.xsl |4 
 1 file changed, 4 insertions(+)

New commits:
commit 635f1dc3de1c1af8b6a99205d2237c0650084bea
Author: Olivier Hallot 
AuthorDate: Mon Dec 9 11:50:20 2024 -0300
Commit: Olivier Hallot 
CommitDate: Mon Dec 9 21:56:23 2024 +0100

tdf#155193 No indexing when indexer="excluded" in 

Use omindex property of HTML indexing. See

https://xapian.org/docs/omega/overview.html

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

diff --git a/help3xsl/online_transform.xsl b/help3xsl/online_transform.xsl
index 9ff7961409..22c84a4f0b 100644
--- a/help3xsl/online_transform.xsl
+++ b/help3xsl/online_transform.xsl
@@ -175,6 +175,10 @@
 
 
 
+
+
+
+
 
 
 


core.git: Branch 'feature/allo_contract45533b' - 16 commits - configmgr/source configure.ac desktop/source framework/source linguistic/source oox/source sfx2/source svl/source sw/qa sw/source vcl/sour

2024-12-09 Thread Tibor Nagy (via logerrit)
Rebased ref, commits from common ancestor:
commit 28d46bc9f69961cc4b953c34ee6b49bb632f056c
Author: Tibor Nagy 
AuthorDate: Mon May 6 10:43:34 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:26:29 2024 +0100

The previous behavior of using the TerminationVetoException has changed

"Since LibreOffice 5.3: Throwing this exception will only prevent 
termination. Exiting LibreOffice will close all the windows but the process 
will keep running."

Currently, the behavior is different, because not only is LibreOffice
prevented from terminating, but the last document cannot be closed either. 
The expected behavior is all windows should be closed, but the
process should be kept running when using a TerminationVetoException.

Change-Id: I8764aefccc4c9feec3ee0e45a54bf0aebcf16c5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167194
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Jenkins
(cherry picked from commit 64a50c65ee15c03f58ccf25308a70dfd24e791fe)

diff --git a/framework/source/services/desktop.cxx 
b/framework/source/services/desktop.cxx
index 237d35afc6a5..721c8fa1bf96 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -201,6 +201,8 @@ sal_Bool SAL_CALL Desktop::terminate()
 aGuard.clear();
 
 // Allow using of any UI ... because Desktop.terminate() was designed as 
UI functionality in the past.
+// try to close all open frames
+bool bFramesClosed = impl_closeFrames(!bRestartableMainLoop);
 
 // Ask normal terminate listener. They could veto terminating the process.
 Desktop::TTerminateListenerList lCalledTerminationListener;
@@ -210,8 +212,7 @@ sal_Bool SAL_CALL Desktop::terminate()
 return false;
 }
 
-// try to close all open frames
-if (!impl_closeFrames(!bRestartableMainLoop))
+if (!bFramesClosed)
 {
 impl_sendCancelTerminationEvent(lCalledTerminationListener);
 return false;
commit f01fd8903886c759d679c25f464a8a5f147bf245
Author: Stephan Bergmann 
AuthorDate: Wed Dec 13 13:11:03 2023 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:26:29 2024 +0100

Work around strange error seen at least with VS 2022 Preview 17.9.0 Preview 
2.0

> vcl/source/pdf/XmpMetadata.cxx(39): error C2440: '': 
cannot convert from 'initializer list' to 'rtl::OStringLiteral<55>'
> vcl/source/pdf/XmpMetadata.cxx(39): note: Invalid aggregate initialization
> vcl/source/pdf/XmpMetadata.cxx(39): note: too many initializers

(Smells like a bug in that compiler's u8"..." handling, where it maybe gets
tripped by the 3-byte UTF-8 encoding of \uFEFF?)

Change-Id: I1c6a856a67c8328ed5fcc2f2fa6bb26f16319f55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160681
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit 297a6673175308168669870882c016b496652a76)

diff --git a/vcl/source/pdf/XmpMetadata.cxx b/vcl/source/pdf/XmpMetadata.cxx
index 53bf3902ab2b..ddd638551bd5 100644
--- a/vcl/source/pdf/XmpMetadata.cxx
+++ b/vcl/source/pdf/XmpMetadata.cxx
@@ -8,6 +8,10 @@
  *
  */
 
+#include 
+
+#include 
+
 #include 
 #include 
 
@@ -35,8 +39,8 @@ void XmpMetadata::write()
 mpMemoryStream = std::make_unique(4096 /*Initial*/, 64 
/*Resize*/);
 
 // Header
-mpMemoryStream->WriteOString(
-OStringLiteral(u8"
"));
+mpMemoryStream->WriteOString(std::string_view(reinterpret_cast(
+u8"
")));
 
 {
 tools::XmlWriter aXmlWriter(mpMemoryStream.get());
commit f4f2d0c22de5a91b7a00c2cd7290fab0c73bcc27
Author: Stephan Bergmann 
AuthorDate: Tue Dec 3 14:18:21 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:26:29 2024 +0100

configmgr: Better handling of finalized vs. non-finalized in the same layer

When there are multiple competing configuration settings for the same
configuration layer (e.g., in xcu files of two different extensions from the
same extension layer), then the setting that is read last always won, even 
if
any of the settings read earlier is marked as finalized.  (The reason for
originally doing it that way was that it kept the code logic somewhat 
simple.)

However, esp. for a scenario of multiple extensions in one extension layer
(bundled, shared, or user), it can be unexpected by a user that a 
non-finalized
setting (that comes from the extension that happens to be read last) can win
over a finalized one.

Therefore, change the logic accordingly.  Now, if any of the competing 
settings
are finalized, the first finalized one that is read wins.

Change-Id: I22aeade543a5b26d95d49cfcb561f974cd7a5081
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177737
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit 7f927322d9b030ceb3b04ae09ea5641e98916f62)
Reviewed-on: https://gerrit.libreoffice.org/c

help.git: source/text

2024-12-09 Thread Bogdan Buzea (via logerrit)
 source/text/swriter/01/05090300.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit d1e72401e01866e317fa763f914d15ea9a277372
Author: Bogdan Buzea 
AuthorDate: Sat Dec 7 21:02:42 2024 +0100
Commit: Olivier Hallot 
CommitDate: Mon Dec 9 21:49:36 2024 +0100

tdf#156317 Explain: Use superordinate object settings

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

diff --git a/source/text/swriter/01/05090300.xhp 
b/source/text/swriter/01/05090300.xhp
index 9bff47c70d..b13f0e4afb 100644
--- a/source/text/swriter/01/05090300.xhp
+++ b/source/text/swriter/01/05090300.xhp
@@ -95,7 +95,7 @@
 Vertical (top to 
bottom)
 
 
-Use superordinate object 
settings
+Use superordinate object 
settings. The superordinate objects are pages and frames containing the table. 
They define how the table is positioned and behaves within its parent 
layout.
 
 
 Vertical (bottom to 
top)


core.git: helpcontent2

2024-12-09 Thread Bogdan Buzea (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 45aca23c11bb37b7e7c9fe33019c2fa5f4e64f81
Author: Bogdan Buzea 
AuthorDate: Mon Dec 9 21:49:37 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 21:49:37 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to d1e72401e01866e317fa763f914d15ea9a277372
  - tdf#156317 Explain: Use superordinate object settings

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

diff --git a/helpcontent2 b/helpcontent2
index f723cce6039b..d1e72401e018 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit f723cce6039b88b82380fbc8ebe9a2e18eaf3fd4
+Subproject commit d1e72401e01866e317fa763f914d15ea9a277372


help.git: Branch 'libreoffice-25-2' - help3xsl/online_transform.xsl

2024-12-09 Thread Olivier Hallot (via logerrit)
 help3xsl/online_transform.xsl |4 
 1 file changed, 4 insertions(+)

New commits:
commit fc7580e1f16fb1c9e51da105180db06156d0eb74
Author: Olivier Hallot 
AuthorDate: Mon Dec 9 11:50:20 2024 -0300
Commit: Olivier Hallot 
CommitDate: Mon Dec 9 22:21:54 2024 +0100

tdf#155193 No indexing when indexer="excluded" in 

Use omindex property of HTML indexing. See

https://xapian.org/docs/omega/overview.html

Change-Id: I9737d0111860da875e09f27814adf7b14104919b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178156
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 635f1dc3de1c1af8b6a99205d2237c0650084bea)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178179

diff --git a/help3xsl/online_transform.xsl b/help3xsl/online_transform.xsl
index 9ff7961409..22c84a4f0b 100644
--- a/help3xsl/online_transform.xsl
+++ b/help3xsl/online_transform.xsl
@@ -175,6 +175,10 @@
 
 
 
+
+
+
+
 
 
 


core.git: Branch 'libreoffice-25-2' - helpcontent2

2024-12-09 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 699730342af06f5f05b05ba76afb80252e42d0fa
Author: Olivier Hallot 
AuthorDate: Mon Dec 9 18:21:54 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 22:21:54 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-25-2'
  to fc7580e1f16fb1c9e51da105180db06156d0eb74
  - tdf#155193 No indexing when indexer="excluded" in 

Use omindex property of HTML indexing. See

https://xapian.org/docs/omega/overview.html

Change-Id: I9737d0111860da875e09f27814adf7b14104919b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178156
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 635f1dc3de1c1af8b6a99205d2237c0650084bea)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178179

diff --git a/helpcontent2 b/helpcontent2
index 6bf0a0298fb1..fc7580e1f16f 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 6bf0a0298fb11d8ddc0ebcaa2d13accf683c6632
+Subproject commit fc7580e1f16fb1c9e51da105180db06156d0eb74


core.git: Branch 'feature/allo_contract45533b' - 150 commits - android/source bin/attachment_mimetypes.py bin/generate-bash-completion.py canvas/source configmgr/source configure.ac connectivity/sourc

2024-12-09 Thread Tibor Nagy (via logerrit)
Rebased ref, commits from common ancestor:
commit 5e50e3330d902f5dca3d86c2a55b8e65beb53632
Author: Tibor Nagy 
AuthorDate: Mon May 6 10:43:34 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:21:20 2024 +0100

The previous behavior of using the TerminationVetoException has changed

"Since LibreOffice 5.3: Throwing this exception will only prevent 
termination. Exiting LibreOffice will close all the windows but the process 
will keep running."

Currently, the behavior is different, because not only is LibreOffice
prevented from terminating, but the last document cannot be closed either. 
The expected behavior is all windows should be closed, but the
process should be kept running when using a TerminationVetoException.

Change-Id: I8764aefccc4c9feec3ee0e45a54bf0aebcf16c5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167194
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Jenkins
(cherry picked from commit 64a50c65ee15c03f58ccf25308a70dfd24e791fe)

diff --git a/framework/source/services/desktop.cxx 
b/framework/source/services/desktop.cxx
index 237d35afc6a5..721c8fa1bf96 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -201,6 +201,8 @@ sal_Bool SAL_CALL Desktop::terminate()
 aGuard.clear();
 
 // Allow using of any UI ... because Desktop.terminate() was designed as 
UI functionality in the past.
+// try to close all open frames
+bool bFramesClosed = impl_closeFrames(!bRestartableMainLoop);
 
 // Ask normal terminate listener. They could veto terminating the process.
 Desktop::TTerminateListenerList lCalledTerminationListener;
@@ -210,8 +212,7 @@ sal_Bool SAL_CALL Desktop::terminate()
 return false;
 }
 
-// try to close all open frames
-if (!impl_closeFrames(!bRestartableMainLoop))
+if (!bFramesClosed)
 {
 impl_sendCancelTerminationEvent(lCalledTerminationListener);
 return false;
commit 2d360c828559cf2508b17bcc23afe56e1b998baa
Author: Stephan Bergmann 
AuthorDate: Wed Dec 13 13:11:03 2023 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:21:20 2024 +0100

Work around strange error seen at least with VS 2022 Preview 17.9.0 Preview 
2.0

> vcl/source/pdf/XmpMetadata.cxx(39): error C2440: '': 
cannot convert from 'initializer list' to 'rtl::OStringLiteral<55>'
> vcl/source/pdf/XmpMetadata.cxx(39): note: Invalid aggregate initialization
> vcl/source/pdf/XmpMetadata.cxx(39): note: too many initializers

(Smells like a bug in that compiler's u8"..." handling, where it maybe gets
tripped by the 3-byte UTF-8 encoding of \uFEFF?)

Change-Id: I1c6a856a67c8328ed5fcc2f2fa6bb26f16319f55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160681
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit 297a6673175308168669870882c016b496652a76)

diff --git a/vcl/source/pdf/XmpMetadata.cxx b/vcl/source/pdf/XmpMetadata.cxx
index 53bf3902ab2b..ddd638551bd5 100644
--- a/vcl/source/pdf/XmpMetadata.cxx
+++ b/vcl/source/pdf/XmpMetadata.cxx
@@ -8,6 +8,10 @@
  *
  */
 
+#include 
+
+#include 
+
 #include 
 #include 
 
@@ -35,8 +39,8 @@ void XmpMetadata::write()
 mpMemoryStream = std::make_unique(4096 /*Initial*/, 64 
/*Resize*/);
 
 // Header
-mpMemoryStream->WriteOString(
-OStringLiteral(u8"
"));
+mpMemoryStream->WriteOString(std::string_view(reinterpret_cast(
+u8"
")));
 
 {
 tools::XmlWriter aXmlWriter(mpMemoryStream.get());
commit e8f538afd510db09e448246ec6f59c9882bf1811
Author: Stephan Bergmann 
AuthorDate: Tue Dec 3 14:18:21 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:21:20 2024 +0100

configmgr: Better handling of finalized vs. non-finalized in the same layer

When there are multiple competing configuration settings for the same
configuration layer (e.g., in xcu files of two different extensions from the
same extension layer), then the setting that is read last always won, even 
if
any of the settings read earlier is marked as finalized.  (The reason for
originally doing it that way was that it kept the code logic somewhat 
simple.)

However, esp. for a scenario of multiple extensions in one extension layer
(bundled, shared, or user), it can be unexpected by a user that a 
non-finalized
setting (that comes from the extension that happens to be read last) can win
over a finalized one.

Therefore, change the logic accordingly.  Now, if any of the competing 
settings
are finalized, the first finalized one that is read wins.

Change-Id: I22aeade543a5b26d95d49cfcb561f974cd7a5081
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177737
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 
(cherry picked from commit 7f927322d9b030ceb3b04ae09ea5641e98916f62)
Reviewed-on: https://gerrit.libreoffice.org/c

core.git: Branch 'feature/allo_contract45533b' - dictionaries

2024-12-09 Thread Christian Lohmaier (via logerrit)
 dictionaries |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 1c5dd78e5dcaccf6ebb9164914a84d4dc674629d
Author: Christian Lohmaier 
AuthorDate: Mon Dec 9 22:34:06 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 22:34:06 2024 +0100

Update git submodules

* Update dictionaries from branch 'feature/allo_contract45533b'
  to b01e78ff9ab1a1e80878548f08e0cb189c9c6607
  - Version 24.2.7.2, tag libreoffice-24.2.7.2

Change-Id: Ifb135dd9069b25d58ac04073c068616dc7dc7224

  - Branch libreoffice-24-2-7

This is 'libreoffice-24-2-7' - the stable branch for the 24.2.7 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: I9b79b0a81d7a8a344e9f57630b46540e7b1c3ea8

  - Version 24.2.6.2, tag libreoffice-24.2.6.2

Change-Id: Id01a03bb130a6a8936439d6912c7f74921038921

  - Branch libreoffice-24-2-6

This is 'libreoffice-24-2-6' - the stable branch for the 24.2.6 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: Id8c7d95b9517f3e6c61cf76035c4ff9051023b0a

  - Version 24.2.7.2, tag libreoffice-24.2.7.2

Change-Id: Ifb135dd9069b25d58ac04073c068616dc7dc7224

  - Branch libreoffice-24-2-7

This is 'libreoffice-24-2-7' - the stable branch for the 24.2.7 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: I9b79b0a81d7a8a344e9f57630b46540e7b1c3ea8

  - upgrade Ukrainian dictionaries to 6.5.3

Downloaded from 
https://github.com/brown-uk/dict_uk/releases/download/v6.5.3/hunspell-uk_UA_6.5.3.zip

Change-Id: I1ff9b5ca99fc855407b4982b202ceb840f8bab23
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/174690
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 
(cherry picked from commit 73ca477c42d6a67cfd6bbe819016f4b1b9f4c3ce)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/174668
Tested-by: Christian Lohmaier 
Reviewed-by: Christian Lohmaier 

  - Updated Slovak dictionaries to v2.4.8

Downloaded from 
https://github.com/sk-spell/hunspell-sk/archive/refs/tags/v2.4.8.zip

Change-Id: I369a4703c7accc635572a0f711c5c0304429e4e9
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/172738
Reviewed-by: Andras Timar 
Tested-by: Xisco Fauli 
(cherry picked from commit 75f5dff8c972fff4a32e4ea8434722c277f02a3f)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/173289
Reviewed-by: Christian Lohmaier 
Tested-by: Christian Lohmaier 

  - Fix Hungarian hyphenation

ké=rüg=ma, and not kér=üg=ma,
reported by Gellért Gyuris.

Change-Id: I2e34d93ab456c6180f80b94c136d32767717bf8e
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/172369
Reviewed-by: László Németh 
Tested-by: László Németh 
(cherry picked from commit 2ae8fab6fe32bbd3d9817d41a823dc3a9dc6a07f)
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/172747
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 

  - Add new word "Ratenvereinbarung"

And put "Rattenvereinbarung" on the blacklist

Change-Id: Ie4d7b8fd93c5758316b5a60539c2a42152725537
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/178143
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Samuel Mehrbrodt 

  - Version 24.2.6.2, tag libreoffice-24.2.6.2

Change-Id: Id01a03bb130a6a8936439d6912c7f74921038921

  - Branch libreoffice-24-2-6

This is 'libreoffice-24-2-6' - the stable branch for the 24.2.6 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: Id8c7d95b9517f3e6c61cf76035c4ff9051023b0a

diff --git a/dictionaries b/dictionaries
index 21907bad6d6d..b01e78ff9ab1 16
--- a/diction

dictionaries.git: Branch 'feature/allo_contract45533b' - 2 commits -

2024-12-09 Thread Christian Lohmaier (via logerrit)
 0 files changed

New commits:
commit b01e78ff9ab1a1e80878548f08e0cb189c9c6607
Author: Christian Lohmaier 
AuthorDate: Tue Oct 29 12:14:30 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:33:46 2024 +0100

Version 24.2.7.2, tag libreoffice-24.2.7.2

Change-Id: Ifb135dd9069b25d58ac04073c068616dc7dc7224
commit 239c0b24831accc732285ef756a0280b8e2cf38b
Author: Christian Lohmaier 
AuthorDate: Mon Oct 14 14:57:38 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:33:46 2024 +0100

Branch libreoffice-24-2-7

This is 'libreoffice-24-2-7' - the stable branch for the 24.2.7 release.
Only very safe changes, reviewed by three people are allowed.

If you want to commit more complicated fix for the next 24.2.x release,
please use the 'libreoffice-24-2' branch.

If you want to build something cool, unstable, and risky, use master.

Change-Id: I9b79b0a81d7a8a344e9f57630b46540e7b1c3ea8


core.git: Branch 'feature/allo_contract45533b' - configure.ac

2024-12-09 Thread Samuel Mehrbrodt (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit faeb26b29b6f4877dc9b469b4a75a189ab66c9bf
Author: Samuel Mehrbrodt 
AuthorDate: Mon Dec 9 22:35:10 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Mon Dec 9 22:35:10 2024 +0100

Release 24.2.8.0

Change-Id: I37d64bae9b6ee919bba5a81584db2da84f16a274

diff --git a/configure.ac b/configure.ac
index 1d1a80ca09b0..671c86553b90 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for 
the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no 
idea.
 
-AC_INIT([LibreOffice],[24.2.7.2],[],[],[http://documentfoundation.org/])
+AC_INIT([LibreOffice],[24.2.8.0],[],[],[http://documentfoundation.org/])
 
 dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just 
fine if it is installed
 dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails 
hard


core.git: Branch 'libreoffice-25-2' - svl/qa svl/source

2024-12-09 Thread Eike Rathke (via logerrit)
 svl/qa/unit/svl.cxx |   21 -
 svl/source/numbers/zforfind.cxx |4 
 2 files changed, 16 insertions(+), 9 deletions(-)

New commits:
commit 4fabbc6b6d461472fa2f30a46c2a79f4d8a24b73
Author: Eike Rathke 
AuthorDate: Mon Dec 9 19:03:44 2024 +0100
Commit: Eike Rathke 
CommitDate: Mon Dec 9 23:19:49 2024 +0100

Resolves: tdf#164239 Can force Y-M-D to ISO 8601 if no date acceptance 
pattern

... was matched at all, even for a-b-c with MDY a<=12 or DMY a<=31.

Change-Id: Ie2d62c73c91794a96114b787d6ad2357c7affb2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178171
Reviewed-by: Eike Rathke 
Tested-by: Jenkins
(cherry picked from commit 47b4b1633a08dd4c97d66feabe8cd3290074dc0f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178173

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 1b90ee5c8b88..80ec80e0d87e 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1170,7 +1170,7 @@ void Test::testIsNumberFormat()
 { "Sept 1", true }, //tdf#127363
 { "5/d", false }, //tdf#143165
 { "Jan 1 2000", true },
-{ "5-12-14", false },
+{ "5-12-14", true }, // tdf#164239
 { "005-12-14", true },
 { "15-10-30", true },
 { "2015-10-30", true },
@@ -1232,26 +1232,28 @@ void checkSpecificNumberFormats( SvNumberFormatter& 
rFormatter,
 void Test::testIsNumberFormatSpecific()
 {
 {
-// en-US uses M/D/Y format, test that a-b-c input with a<=31 and b<=12
-// does not lead to a/b/c date output
+// en-US uses M/D/Y format, test that without Y-M-D pattern an a-b-c
+// input with a<=12 leads to ISO a-b-c date output.
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_ENGLISH_US);
 
 std::vector aIO = {
-{  "5-12-14", false, "", 0 },
-{ "32-12-14",  true, "1932-12-14", 0 }
+{ "005-12-14", true, "0005-12-14", 0 },
+{   "5-12-14", true, "2005-12-14", 0 },
+{  "32-12-14", true, "1932-12-14", 0 }
 };
 
 checkSpecificNumberFormats( aFormatter, aIO, "[en-US] date");
 }
 
 {
-// de-DE uses D.M.Y format, test that a-b-c input with a<=31 and b<=12
-// does not lead to a.b.c date output
+// de-DE uses D.M.Y format, test that without Y-M-D pattern an a-b-c
+// input with a<=31 leads to ISO a-b-c date output.
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_GERMAN);
 
 std::vector aIO = {
-{  "5-12-14", false, "", 0 },
-{ "32-12-14",  true, "1932-12-14", 0 }
+{ "005-12-14", true, "0005-12-14", 0 },
+{   "5-12-14", true, "2005-12-14", 0 },
+{  "32-12-14", true, "1932-12-14", 0 }
 };
 
 checkSpecificNumberFormats( aFormatter, aIO, "[de-DE] date");
@@ -1263,6 +1265,7 @@ void Test::testIsNumberFormatSpecific()
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_DUTCH);
 
 std::vector aIO = {
+{ "001-2-11",   true, "0001-02-11", 0 },
 { "22-11-1999", true, "22-11-99", 0 },  // if default YY 
changes to  adapt this
 { "1999-11-22", true, "1999-11-22", 0 },
 { "1-2-11", true, "01-02-11", 0 },  // if default YY 
changes to  adapt this
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 13cdcb3ca53b..2b91fa662845 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -1172,6 +1172,10 @@ bool ImpSvNumberInputScan::CanForceToIso8601( DateOrder 
eDateOrder )
 eDateOrder = GetDateOrder();
 }
 
+// No date pattern matched at all can be forced to ISO 8601 here as is.
+if (GetDatePatternNumbers() == 0)
+return true;
+
 nCanForceToIso8601 = 1;
 }
 


core.git: cui/uiconfig

2024-12-09 Thread Bogdan Buzea (via logerrit)
 cui/uiconfig/ui/numberingpositionpage.ui |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit a80b04058084826f28cfe58a66a96116383b1146
Author: Bogdan Buzea 
AuthorDate: Thu Dec 5 20:51:32 2024 +0100
Commit: Olivier Hallot 
CommitDate: Mon Dec 9 22:53:31 2024 +0100

tdf#161915 Wrong extended tip

Change-Id: I3c7be8f877f6ae0a505d6ec9a8bd786a0bd76745
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177902
Reviewed-by: Heiko Tietze 
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/cui/uiconfig/ui/numberingpositionpage.ui 
b/cui/uiconfig/ui/numberingpositionpage.ui
index 8b6cb954bccb..566c4a52f251 100644
--- a/cui/uiconfig/ui/numberingpositionpage.ui
+++ b/cui/uiconfig/ui/numberingpositionpage.ui
@@ -203,7 +203,7 @@
 2
 
   
-Enter the distance from 
the left page margin to the start of all lines in the numbered paragraph that 
follow the first line.
+Enter the distance from 
the left page margin at which the numbering symbol will be aligned.
   
 
   
@@ -275,7 +275,7 @@
 
 
   
-Enter the distance 
from the left page margin at which the numbering symbol will be 
aligned.
+Enter the distance 
from the left page margin to the start of all lines in the numbered paragraph 
that follow the first line.
   
 
   


core.git: 2 commits - vcl/CustomTarget_qt5_moc.mk vcl/CustomTarget_qt6_moc.mk vcl/inc vcl/Library_vclplug_qt5.mk vcl/Library_vclplug_qt6.mk vcl/qt5 vcl/qt6

2024-12-09 Thread Michael Weghorn (via logerrit)
 vcl/CustomTarget_qt5_moc.mk|1 
 vcl/CustomTarget_qt6_moc.mk|1 
 vcl/Library_vclplug_qt5.mk |1 
 vcl/Library_vclplug_qt6.mk |1 
 vcl/inc/qt5/QtInstanceBuilder.hxx  |4 
 vcl/inc/qt5/QtInstanceIconView.hxx |   76 +++
 vcl/inc/qt6/QtInstanceIconView.hxx |   12 ++
 vcl/qt5/QtBuilder.cxx  |8 +
 vcl/qt5/QtInstanceBuilder.cxx  |9 +
 vcl/qt5/QtInstanceIconView.cxx |  176 +
 vcl/qt5/QtInstanceTreeView.cxx |   10 +-
 vcl/qt6/QtInstanceIconView.cxx |   12 ++
 12 files changed, 304 insertions(+), 7 deletions(-)

New commits:
commit 995866ebfce1e219fe78805eea88bd4ea94cb835
Author: Michael Weghorn 
AuthorDate: Mon Dec 9 21:24:30 2024 +0100
Commit: Michael Weghorn 
CommitDate: Tue Dec 10 07:10:24 2024 +0100

tdf#130857 qt weld: Add QtInstanceIconView skeleton

Most of the logic still needs to be implemented.

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

diff --git a/vcl/CustomTarget_qt5_moc.mk b/vcl/CustomTarget_qt5_moc.mk
index 6e3d7dda89fd..f2b34a7a1c48 100644
--- a/vcl/CustomTarget_qt5_moc.mk
+++ b/vcl/CustomTarget_qt5_moc.mk
@@ -23,6 +23,7 @@ $(call gb_CustomTarget_get_target,vcl/qt5) : \
$(gb_CustomTarget_workdir)/vcl/qt5/QtInstanceDrawingArea.moc \
$(gb_CustomTarget_workdir)/vcl/qt5/QtInstanceEntry.moc \
$(gb_CustomTarget_workdir)/vcl/qt5/QtInstanceExpander.moc \
+   $(gb_CustomTarget_workdir)/vcl/qt5/QtInstanceIconView.moc \
$(gb_CustomTarget_workdir)/vcl/qt5/QtInstanceImage.moc \
$(gb_CustomTarget_workdir)/vcl/qt5/QtInstanceLabel.moc \
$(gb_CustomTarget_workdir)/vcl/qt5/QtInstanceLevelBar.moc \
diff --git a/vcl/CustomTarget_qt6_moc.mk b/vcl/CustomTarget_qt6_moc.mk
index a45846b37ea5..319c60434421 100644
--- a/vcl/CustomTarget_qt6_moc.mk
+++ b/vcl/CustomTarget_qt6_moc.mk
@@ -23,6 +23,7 @@ $(call gb_CustomTarget_get_target,vcl/qt6) : \
$(gb_CustomTarget_workdir)/vcl/qt6/QtInstanceDrawingArea.moc \
$(gb_CustomTarget_workdir)/vcl/qt6/QtInstanceEntry.moc \
$(gb_CustomTarget_workdir)/vcl/qt6/QtInstanceExpander.moc \
+   $(gb_CustomTarget_workdir)/vcl/qt6/QtInstanceIconView.moc \
$(gb_CustomTarget_workdir)/vcl/qt6/QtInstanceImage.moc \
$(gb_CustomTarget_workdir)/vcl/qt6/QtInstanceLabel.moc \
$(gb_CustomTarget_workdir)/vcl/qt6/QtInstanceLevelBar.moc \
diff --git a/vcl/Library_vclplug_qt5.mk b/vcl/Library_vclplug_qt5.mk
index 402698303f2d..e1597fe99d20 100644
--- a/vcl/Library_vclplug_qt5.mk
+++ b/vcl/Library_vclplug_qt5.mk
@@ -109,6 +109,7 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt5,\
 vcl/qt5/QtInstanceEntry \
 vcl/qt5/QtInstanceExpander \
 vcl/qt5/QtInstanceFrame \
+vcl/qt5/QtInstanceIconView \
 vcl/qt5/QtInstanceImage \
 vcl/qt5/QtInstanceLabel \
 vcl/qt5/QtInstanceLevelBar \
diff --git a/vcl/Library_vclplug_qt6.mk b/vcl/Library_vclplug_qt6.mk
index 293ab41d87a9..5c5d49cdc5eb 100644
--- a/vcl/Library_vclplug_qt6.mk
+++ b/vcl/Library_vclplug_qt6.mk
@@ -108,6 +108,7 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_qt6,\
 vcl/qt6/QtInstanceEntry \
 vcl/qt6/QtInstanceExpander \
 vcl/qt6/QtInstanceFrame \
+vcl/qt6/QtInstanceIconView \
 vcl/qt6/QtInstanceImage \
 vcl/qt6/QtInstanceLabel \
 vcl/qt6/QtInstanceLevelBar \
diff --git a/vcl/inc/qt5/QtInstanceBuilder.hxx 
b/vcl/inc/qt5/QtInstanceBuilder.hxx
index 547d7aec1b8e..0749eaee1e4c 100644
--- a/vcl/inc/qt5/QtInstanceBuilder.hxx
+++ b/vcl/inc/qt5/QtInstanceBuilder.hxx
@@ -65,8 +65,8 @@ public:
 virtual std::unique_ptr
 weld_entry_tree_view(const OUString&, const OUString&, const OUString&) 
override;
 virtual std::unique_ptr weld_tree_view(const OUString& 
rId) override;
-virtual std::unique_ptr weld_icon_view(const OUString&) 
override;
-virtual std::unique_ptr weld_label(const OUString&) override;
+virtual std::unique_ptr weld_icon_view(const OUString& 
rId) override;
+virtual std::unique_ptr weld_label(const OUString& rId) 
override;
 virtual std::unique_ptr weld_text_view(const OUString& 
rId) override;
 virtual std::unique_ptr weld_expander(const OUString& rId) 
override;
 virtual std::unique_ptr
diff --git a/vcl/inc/qt5/QtInstanceIconView.hxx 
b/vcl/inc/qt5/QtInstanceIconView.hxx
new file mode 100644
index ..e60f63ee946f
--- /dev/null
+++ b/vcl/inc/qt5/QtInstanceIconView.hxx
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
+/*
+ * 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

core.git: Branch 'libreoffice-24-8' - oox/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 oox/source/drawingml/fillproperties.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 0e5ad67de1516e3553cf787107316ddbdbeefc69
Author: Caolán McNamara 
AuthorDate: Mon Dec 9 10:14:57 2024 +
Commit: Xisco Fauli 
CommitDate: Tue Dec 10 04:16:34 2024 +0100

crashtesting: reimport of fdo61125-1.docx has negative image width

we probably shouldn't do that anyway, but the assumption at this
import check appears to be for >= 0

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

diff --git a/oox/source/drawingml/fillproperties.cxx 
b/oox/source/drawingml/fillproperties.cxx
index 061cab065849..d8337632d6d7 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -833,7 +833,7 @@ void GraphicProperties::pushToPropMap( PropertyMap& 
rPropMap, const GraphicHelpe
 {
 geometry::IntegerRectangle2D oClipRect( 
maBlipProps.moClipRect.value() );
 awt::Size aOriginalSize( rGraphicHelper.getOriginalSize( xGraphic 
) );
-if ( aOriginalSize.Width && aOriginalSize.Height )
+if (aOriginalSize.Width > 0 && aOriginalSize.Height > 0)
 {
 text::GraphicCrop aGraphCrop( 0, 0, 0, 0 );
 if ( oClipRect.X1 )


core.git: Branch 'libreoffice-25-2' - oox/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 oox/source/drawingml/fillproperties.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 425af802ab209dd3243cb795114fbeabae8c8418
Author: Caolán McNamara 
AuthorDate: Mon Dec 9 10:14:57 2024 +
Commit: Xisco Fauli 
CommitDate: Tue Dec 10 04:16:24 2024 +0100

crashtesting: reimport of fdo61125-1.docx has negative image width

we probably shouldn't do that anyway, but the assumption at this
import check appears to be for >= 0

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

diff --git a/oox/source/drawingml/fillproperties.cxx 
b/oox/source/drawingml/fillproperties.cxx
index ec2a10da02fe..eaeb0029c415 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -832,7 +832,7 @@ void GraphicProperties::pushToPropMap( PropertyMap& 
rPropMap, const GraphicHelpe
 {
 geometry::IntegerRectangle2D oClipRect( 
maBlipProps.moClipRect.value() );
 awt::Size aOriginalSize( rGraphicHelper.getOriginalSize( xGraphic 
) );
-if ( aOriginalSize.Width && aOriginalSize.Height )
+if (aOriginalSize.Width > 0 && aOriginalSize.Height > 0)
 {
 text::GraphicCrop aGraphCrop( 0, 0, 0, 0 );
 if ( oClipRect.X1 )


core.git: Branch 'libreoffice-24-8-4' - sw/qa sw/source

2024-12-09 Thread Andreas Heinisch (via logerrit)
 sw/qa/uitest/data/tdf163325.odt |binary
 sw/qa/uitest/writer_tests5/tdf163325.py |   35 
 sw/source/core/layout/sectfrm.cxx   |8 ---
 3 files changed, 40 insertions(+), 3 deletions(-)

New commits:
commit e5512ee6e637cd4fb8d0e2f2b469eba339e655c9
Author: Andreas Heinisch 
AuthorDate: Mon Nov 25 09:17:45 2024 +0100
Commit: Xisco Fauli 
CommitDate: Tue Dec 10 04:17:43 2024 +0100

tdf#163325 - Check Lower() frame during ToC preview

Change-Id: Ife0e974d66d5ddbe3c831c64e4da28442e476da4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177234
Reviewed-by: Andreas Heinisch 
Tested-by: Jenkins
(cherry picked from commit 2145204724049cad1585743c0b980ed2c6561212)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177529
Reviewed-by: Xisco Fauli 
(cherry picked from commit 2d57e13895703b541b918c0933b7dc5bbe25c300)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177666
Tested-by: Gabor Kelemen 
Reviewed-by: Michael Stahl 

diff --git a/sw/qa/uitest/data/tdf163325.odt b/sw/qa/uitest/data/tdf163325.odt
new file mode 100644
index ..3d2e6e8673cf
Binary files /dev/null and b/sw/qa/uitest/data/tdf163325.odt differ
diff --git a/sw/qa/uitest/writer_tests5/tdf163325.py 
b/sw/qa/uitest/writer_tests5/tdf163325.py
new file mode 100644
index ..391859cdb715
--- /dev/null
+++ b/sw/qa/uitest/writer_tests5/tdf163325.py
@@ -0,0 +1,35 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-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/.
+#
+
+import org.libreoffice.unotest
+from uitest.framework import UITestCase
+from uitest.uihelper.common import get_url_for_data_file, get_state_as_dict
+
+class tdf163325(UITestCase):
+
+def test_tdf163325_toc_preview_crash(self):
+with self.ui_test.load_file(get_url_for_data_file("tdf163325.odt")):
+# Open ToC dialog and check index preview
+with 
self.ui_test.execute_dialog_through_command(".uno:InsertMultiIndex") as 
xTocDialog:
+xShowExample = xTocDialog.getChild("showexample")
+xShowExample.executeAction("CLICK", tuple())
+self.assertEqual(get_state_as_dict(xShowExample)["Selected"], 
"true")
+
+# Save, reload and update all indexes in the document
+self.xUITest.executeCommand('.uno:Save')
+self.xUITest.executeCommand('.uno:Reload')
+# Without the fix in place, this test would have crashed here
+self.xUITest.executeCommand(".uno:UpdateAllIndexes")
+
+with self.ui_test.load_file(get_url_for_data_file("tdf163325.odt")) as 
document:
+# Check that the index is present
+xDocumentIndexes = document.DocumentIndexes
+self.assertEqual(len(xDocumentIndexes), 1)
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sw/source/core/layout/sectfrm.cxx 
b/sw/source/core/layout/sectfrm.cxx
index 33253dafbe54..803686e7e3d9 100644
--- a/sw/source/core/layout/sectfrm.cxx
+++ b/sw/source/core/layout/sectfrm.cxx
@@ -2755,7 +2755,8 @@ void SwSectionFrame::SwClientNotify(const SwModify& rMod, 
const SfxHint& rHint)
 }
 
 InvalidateFramesInSection(Lower());
-Lower()->HideAndShowObjects(); // recursive
+if (Lower())
+Lower()->HideAndShowObjects(); // recursive
 // Check if any page-breaks have been unhidden, create the new pages.
 // Call IsHiddenNow() because a parent section could still hide.
 if (!IsFollow() && IsInDocBody() && !IsInTab() && !IsHiddenNow())
@@ -2784,8 +2785,9 @@ void SwSectionFrame::SwClientNotify(const SwModify& rMod, 
const SfxHint& rHint)
 pFirstOnPage = pFirstOnPage->GetUpper();
 }
 assert(pFirstOnPage->IsContentFrame() || 
pFirstOnPage->IsTabFrame());
-SwColumnFrame * pColumn{Lower()->IsColumnFrame()
-? static_cast(Lower()) : nullptr};
+SwColumnFrame* pColumn{ Lower() && Lower()->IsColumnFrame()
+? static_cast(Lower())
+: nullptr };
 auto IterateLower = [&pColumn](SwFrame *const pLowerFrame) -> 
SwFrame*
 {
 if (pLowerFrame->GetNext())


core.git: Branch 'libreoffice-24-8' - svl/qa svl/source

2024-12-09 Thread Eike Rathke (via logerrit)
 svl/qa/unit/svl.cxx |   21 -
 svl/source/numbers/zforfind.cxx |4 
 2 files changed, 16 insertions(+), 9 deletions(-)

New commits:
commit 224c0bb32232a29d08611365d25be1c340032bc8
Author: Eike Rathke 
AuthorDate: Mon Dec 9 19:03:44 2024 +0100
Commit: Xisco Fauli 
CommitDate: Tue Dec 10 04:21:54 2024 +0100

Resolves: tdf#164239 Can force Y-M-D to ISO 8601 if no date acceptance 
pattern

... was matched at all, even for a-b-c with MDY a<=12 or DMY a<=31.

Change-Id: Ie2d62c73c91794a96114b787d6ad2357c7affb2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178171
Reviewed-by: Eike Rathke 
Tested-by: Jenkins
(cherry picked from commit 47b4b1633a08dd4c97d66feabe8cd3290074dc0f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178174
Reviewed-by: Xisco Fauli 

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 3a8f5f51b43e..0d303569489d 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1161,7 +1161,7 @@ void Test::testIsNumberFormat()
 { "Sept 1", true }, //tdf#127363
 { "5/d", false }, //tdf#143165
 { "Jan 1 2000", true },
-{ "5-12-14", false },
+{ "5-12-14", true }, // tdf#164239
 { "005-12-14", true },
 { "15-10-30", true },
 { "2015-10-30", true },
@@ -1223,26 +1223,28 @@ void checkSpecificNumberFormats( SvNumberFormatter& 
rFormatter,
 void Test::testIsNumberFormatSpecific()
 {
 {
-// en-US uses M/D/Y format, test that a-b-c input with a<=31 and b<=12
-// does not lead to a/b/c date output
+// en-US uses M/D/Y format, test that without Y-M-D pattern an a-b-c
+// input with a<=12 leads to ISO a-b-c date output.
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_ENGLISH_US);
 
 std::vector aIO = {
-{  "5-12-14", false, "", 0 },
-{ "32-12-14",  true, "1932-12-14", 0 }
+{ "005-12-14", true, "0005-12-14", 0 },
+{   "5-12-14", true, "2005-12-14", 0 },
+{  "32-12-14", true, "1932-12-14", 0 }
 };
 
 checkSpecificNumberFormats( aFormatter, aIO, "[en-US] date");
 }
 
 {
-// de-DE uses D.M.Y format, test that a-b-c input with a<=31 and b<=12
-// does not lead to a.b.c date output
+// de-DE uses D.M.Y format, test that without Y-M-D pattern an a-b-c
+// input with a<=31 leads to ISO a-b-c date output.
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_GERMAN);
 
 std::vector aIO = {
-{  "5-12-14", false, "", 0 },
-{ "32-12-14",  true, "1932-12-14", 0 }
+{ "005-12-14", true, "0005-12-14", 0 },
+{   "5-12-14", true, "2005-12-14", 0 },
+{  "32-12-14", true, "1932-12-14", 0 }
 };
 
 checkSpecificNumberFormats( aFormatter, aIO, "[de-DE] date");
@@ -1254,6 +1256,7 @@ void Test::testIsNumberFormatSpecific()
 SvNumberFormatter aFormatter(m_xContext, LANGUAGE_DUTCH);
 
 std::vector aIO = {
+{ "001-2-11",   true, "0001-02-11", 0 },
 { "22-11-1999", true, "22-11-99", 0 },  // if default YY 
changes to  adapt this
 { "1999-11-22", true, "1999-11-22", 0 },
 { "1-2-11", true, "01-02-11", 0 },  // if default YY 
changes to  adapt this
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 9db901463a71..584d98ed932d 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -1172,6 +1172,10 @@ bool ImpSvNumberInputScan::CanForceToIso8601( DateOrder 
eDateOrder )
 eDateOrder = GetDateOrder();
 }
 
+// No date pattern matched at all can be forced to ISO 8601 here as is.
+if (GetDatePatternNumbers() == 0)
+return true;
+
 nCanForceToIso8601 = 1;
 }
 


core.git: Branch 'libreoffice-24-8' - sw/source

2024-12-09 Thread Mike Kaganski (via logerrit)
 sw/source/core/txtnode/atrfld.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit c891e60b1fd936fe88d8d77e4de416abb7af58c5
Author: Mike Kaganski 
AuthorDate: Thu Dec 5 16:04:43 2024 +0500
Commit: Xisco Fauli 
CommitDate: Tue Dec 10 04:26:01 2024 +0100

Get SwFieldType after broadcast

A crash was reported in HasOnlyOneListener, with the following call stack:

 ntdll.dll!KiUserExceptionDispatch()
 swlo.dll!SwModify::HasOnlyOneListener() Line 204
 swlo.dll!SwFormatField::~SwFormatField() Line 142
 swlo.dll!SwHistorySetTextField::`scalar deleting destructor'(unsigned int)
 swlo.dll!std::default_delete::operator()(SwHistoryHint *) 
Line 3090
 
swlo.dll!std::unique_ptr>::{dtor}()
 Line 3198
 
swlo.dll!std::destroy_at(std::unique_ptr>
 * const) Line 311
 
swlo.dll!std::_Default_allocator_traits>>>::destroy(std::allocator>>
 &) Line 688
 
swlo.dll!std::_Destroy_range(std::unique_ptr>
 * _First, std::unique_ptr> * 
const) Line 905
 
swlo.dll!std::vector>,std::allocator>>>::_Destroy(std::unique_ptr>
 * _Last, std::unique_ptr> *) 
Line 1667
 
swlo.dll!std::vector>,std::allocator>>>::_Tidy()
 Line 1751
 
swlo.dll!std::vector>,std::allocator>>>::~vector>,std::allocator>>>()
 Line 699
 swlo.dll!SwUndoSaveContent::~SwUndoSaveContent() Line 740
 swlo.dll!SwUndoDelete::~SwUndoDelete() Line 633
 swlo.dll!SwUndoDelete::`scalar deleting destructor'(unsigned int)
 svllo.dll!std::default_delete::operator()(SfxUndoAction *) 
Line 3090
 
svllo.dll!std::unique_ptr>::{dtor}()
 Line 3198
 svllo.dll!std::destroy_at(MarkedUndoAction * const) Line 311
 
svllo.dll!std::_Default_allocator_traits>::destroy(std::allocator
 &) Line 688
 svllo.dll!std::_Destroy_range(MarkedUndoAction * _First, MarkedUndoAction 
* const) Line 905
 
svllo.dll!std::vector>::_Destroy(MarkedUndoAction
 * _Last, MarkedUndoAction *) Line 1667
 
svllo.dll!std::vector>::_Tidy()
 Line 1751
 
svllo.dll!std::vector>::~vector>()
 Line 699
 svllo.dll!SfxUndoArray::{dtor}() Line 1389
 svllo.dll!SfxListUndoAction::~SfxListUndoAction() Line 1318
 svllo.dll!SfxListUndoAction::`vector deleting destructor'(unsigned int)
 svllo.dll!std::default_delete::operator()(SfxUndoAction *) 
Line 3090
 
svllo.dll!std::unique_ptr>::{dtor}()
 Line 3198
 svllo.dll!std::destroy_at(MarkedUndoAction * const) Line 311
 
svllo.dll!std::_Default_allocator_traits>::destroy(std::allocator
 &) Line 688
 svllo.dll!std::_Destroy_range(MarkedUndoAction * _First, MarkedUndoAction 
* const) Line 905
 
svllo.dll!std::vector>::_Destroy(MarkedUndoAction
 * _Last, MarkedUndoAction *) Line 1667
 
svllo.dll!std::vector>::_Tidy()
 Line 1751
 
svllo.dll!std::vector>::~vector>()
 Line 699
 svllo.dll!SfxUndoArray::{dtor}() Line 1389
 svllo.dll!SfxListUndoAction::~SfxListUndoAction() Line 1318
 svllo.dll!SfxListUndoAction::`vector deleting destructor'(unsigned int)
 svllo.dll!std::default_delete::operator()(SfxUndoAction *) 
Line 3090
 
svllo.dll!std::unique_ptr>::{dtor}()
 Line 3198
 
svllo.dll!std::destroy_at(std::unique_ptr>
 * const) Line 311
 
svllo.dll!std::_Default_allocator_traits>>>::destroy(std::allocator>>
 &) Line 688
 
svllo.dll!std::_Destroy_range(std::unique_ptr>
 * _First, std::unique_ptr> * 
const) Line 905
 
svllo.dll!std::vector>,std::allocator>>>::_Destroy(std::unique_ptr>
 * _Last, std::unique_ptr> *) 
Line 1667
 
svllo.dll!std::vector>,std::allocator>>>::clear()
 Line 1442
 svllo.dll!svl::undo::impl::UndoManagerGuard::~UndoManagerGuard() Line 325
 svllo.dll!SfxUndoManager::ImplClearRedo_NoLock(const bool i_currentLevel) 
Line 468
 swlo.dll!sw::DocumentContentOperationsManager::InsertPoolItem(const SwPaM 
& rRg, const SfxPoolItem & rHt, const SetAttrMode nFlags, const SwRootFrame * 
pLayout, SwTextAttr * * ppNewTextAttr) Line 3694
 swlo.dll!SwXTextField::attach(const 
com::sun::star::uno::Reference & xTextRange) 
Line 1972
 swlo.dll!SwXText::insertTextContent(const 
com::sun::star::uno::Reference & xRange, 
const com::sun::star::uno::Reference & 
xContent, unsigned char bAbsorb) Line 606
 mscx_uno.dll!`anonymous 
namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, 
bridges::cpp_uno::shared::VtableSlot aVtableSlot, 
_typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, 
_typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, 
_uno_Any * * ppUnoExc) Line 214
 mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const 
_typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any 
* * ppException) Line 430
 
binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny 
* returnValue, 
std::vector> * 
outArguments) Line 239
 binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79
 binaryurplo.dll!request(void * pThreadSpecificDa

core.git: cui/source include/svx svx/source sw/qa

2024-12-09 Thread Justin Luth (via logerrit)
 cui/source/inc/cuitabarea.hxx   |2 
 cui/source/tabpages/tpbitmap.cxx|   50 ++-
 include/svx/XPropertyEntry.hxx  |4 +
 include/svx/xtable.hxx  |9 +++
 svx/source/xoutdev/XPropertyEntry.cxx   |1 
 svx/source/xoutdev/xtable.cxx   |   55 +
 sw/qa/uitest/data/paragraphAreaFill.odt |binary
 sw/qa/uitest/writer_tests8/tdf125969.py |   81 
 8 files changed, 187 insertions(+), 15 deletions(-)

New commits:
commit a366cd34a85a21210939482d229d6d2dd9c1087c
Author: Justin Luth 
AuthorDate: Thu Nov 7 15:52:53 2024 -0500
Commit: Justin Luth 
CommitDate: Tue Dec 10 00:07:59 2024 +0100

tdf#125969 cui: add in-use area image to bitmap list

This fixes a five year old (non-)easyhack with 3 duplicates.
Note the nice-to-have dependencies in the bug report(s).

When the document has a unique background (area) image,
it is now added to the list of available images
IF/WHEN the user looks in the area tab.
This allows the user to switch back after changing,
or re-use it in other places in the document.

Most of this patch ended up being plumbing to ensure that
this added image is ONLY available to the current document,
because it MUST NOT be saved to the user profile.

This change affects all apps and all types of areas: NICE
  -tested Writer pages, paragraphs, headers, textbox, sidebar(page)
  -tested Calc page style
  -tested Draw page, sidebar(page), textbox

Caveats:
-the bitmap list is NOT updated at the time of document import,
 only when area property inspected.
 (The bug requesting inclusion at the time of import is tdf#100832).

make -srj1 UITest_writer_tests8 \
UITEST_TEST_NAME=tdf125969.tdf125969.test_tdf125969 \
SAL_USE_VCLPLUGIN=gen

Change-Id: Ic9fea9b199602c4df1376e781d5df019526473d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176253
Tested-by: Jenkins
Reviewed-by: Justin Luth 

diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
index 7021a7aa7847..30feba7fe85f 100644
--- a/cui/source/inc/cuitabarea.hxx
+++ b/cui/source/inc/cuitabarea.hxx
@@ -551,6 +551,8 @@ private:
 void CalculateBitmapPresetSize();
 sal_Int32 SearchBitmapList(std::u16string_view rBitmapName);
 sal_Int32 SearchBitmapList(const GraphicObject& rGraphicObject);
+tools::Long AddBitmap(const GraphicObject& rGraphicObject, const OUString& 
rName,
+  bool bOnlyForThisDocument = false);
 
 public:
 SvxBitmapTabPage(weld::Container* pPage, weld::DialogController* 
pController, const SfxItemSet& rInAttrs);
diff --git a/cui/source/tabpages/tpbitmap.cxx b/cui/source/tabpages/tpbitmap.cxx
index 9e016879b4cb..a4154aa344c8 100644
--- a/cui/source/tabpages/tpbitmap.cxx
+++ b/cui/source/tabpages/tpbitmap.cxx
@@ -37,8 +37,10 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -167,9 +169,13 @@ void SvxBitmapTabPage::ActivatePage( const SfxItemSet& 
rSet )
 sal_Int32 nPos( 0 );
 if ( !aItem.isPattern() )
 {
-nPos = SearchBitmapList( aItem.GetGraphicObject() );
-if (nPos == -1)
+const GraphicObject& aGraphicObj = aItem.GetGraphicObject();
+if (aGraphicObj.GetType() != GraphicType::Bitmap)
 return;
+
+nPos = SearchBitmapList(aGraphicObj);
+if (nPos == -1)
+nPos = AddBitmap(aGraphicObj, aItem.GetName(), 
/*OnlyForThisDocument=*/true);
 }
 else
 {
@@ -781,18 +787,7 @@ IMPL_LINK_NOARG(SvxBitmapTabPage, ClickImportHdl, 
weld::Button&, void)
 pDlg.disposeAndClear();
 
 if( !nError )
-{
-m_pBitmapList->Insert(std::make_unique(aGraphic, 
aName), nCount);
-
-sal_Int32 nId = m_xBitmapLB->GetItemId( nCount - 1 );
-BitmapEx aBitmap = m_pBitmapList->GetBitmapForPreview( nCount, 
m_xBitmapLB->GetIconSize() );
-
-m_xBitmapLB->InsertItem( nId + 1, Image(aBitmap), aName );
-m_xBitmapLB->SelectItem( nId + 1 );
-m_nBitmapListState |= ChangeType::MODIFIED;
-
-ModifyBitmapHdl(m_xBitmapLB.get());
-}
+AddBitmap(aGraphic, aName);
 }
 else
 {
@@ -836,4 +831,31 @@ sal_Int32 
SvxBitmapTabPage::SearchBitmapList(std::u16string_view rBitmapName)
 return nPos;
 }
 
+tools::Long SvxBitmapTabPage::AddBitmap(const GraphicObject& rGraphicObject, 
const OUString& rName,
+bool bOnlyForThisDocument)
+{
+const tools::Long nLastPos = m_pBitmapList->Count();
+
+auto xBitmapEntry = std::make_unique(rGraphicObject, rName);
+if (bOnlyForThisDocument)
+xBitmapEntry->SetSavingAllowed(false);
+m_pBitmapList->Insert(std::move(xBitmapEntry), nLastPos);
+
+BitmapEx aBitmap = m_pBitmapList->GetBitmapF

core.git: sfx2/source sw/qa sw/source

2024-12-09 Thread Justin Luth (via logerrit)
 sfx2/source/doc/sfxbasemodel.cxx |   13 +++
 sw/qa/extras/ooxmlexport/ooxmlexport20.cxx   |   22 ---
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx |   16 +
 3 files changed, 48 insertions(+), 3 deletions(-)

New commits:
commit d97085cc6cd2bdc3b6723d1960d0ec5fa0a48165
Author: Justin Luth 
AuthorDate: Sat Dec 7 11:42:39 2024 -0500
Commit: Justin Luth 
CommitDate: Tue Dec 10 00:07:27 2024 +0100

tdf#164201 docx import: compat14+ cannot be ECMA_376_1ST_EDITION

This fixes a 7.6 regression
from commit e66ddcd4b66923bc835bd7c5f5c784a809a420a2.

At import, the base filter was treating too many documents
as if they were limited to Word 2007 format,
and thus reducing their compatibilityMode to 12 on export.

This import case is matched in a LOT of unit tests.
However, it doesn't manifest itself in
saveAndReload(mpFilter) (or DECLARE_OOXMLEXPORT_TEST)
because the mpFilter string set in the Test class with
SwModelTestBase(..."ooxmlexport/data/", "Office Open XML Text"),
forces saving in ISOIEC_29500_2008 mode
and thus unit tests basically NEVER round-trip as "MS Word 2007 XML".

However, the general user was almost always round-tripping
these as MS Word 2007 XML / compat12 since LO 7.6.

make CppunitTest_sw_ooxmlexport20 CPPUNIT_TEST_NAME=testTdf158855

Change-Id: If635866cc816e7b4734443f87b30410ac3bba951
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178048
Reviewed-by: Justin Luth 
Tested-by: Jenkins
Reviewed-by: Miklos Vajna 

diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 7ecfd1d9a60c..18dc4e87a1cb 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -1188,6 +1188,19 @@ void SAL_CALL SfxBaseModel::setArgs(const 
Sequence& aArgs)
 pMedium->GetItemSet().Put(SfxUnoAnyItem(SID_ENCRYPTIONDATA, 
rArg.Value));
 ok = true;
 }
+else if (rArg.Name == "FilterName")
+{
+// HACK: Needed a way to tweak the filter after loading has 
started,
+// but changing this must be avoided unless clearly intentional.
+if (aArgs.size() == 1)
+{
+if (rArg.Value >>= sValue)
+{
+pMedium->GetItemSet().Put(SfxStringItem(SID_FILTER_NAME, 
sValue));
+ok = true;
+}
+}
+}
 if (!ok)
 {
 throw lang::IllegalArgumentException("Setting property not 
supported: " + rArg.Name,
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport20.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport20.cxx
index c418c1904197..74f020e614f2 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport20.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport20.cxx
@@ -15,6 +15,9 @@
 #include 
 #include 
 
+#include 
+#include 
+
 #include 
 #include 
 #include 
@@ -1050,15 +1053,28 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf158855)
 // Check that the import doesn't produce an extra empty paragraph before a 
page break
 CPPUNIT_ASSERT_EQUAL(2, getPages()); // was 3
 CPPUNIT_ASSERT_EQUAL(2, getParagraphs()); // was 3
-uno::Reference(getParagraphOrTable(1), 
uno::UNO_QUERY_THROW);
+
+uno::Reference xTableImport(getParagraphOrTable(1), 
uno::UNO_QUERY_THROW);
 getParagraph(2, u"Next page"_ustr); // was empty, with the 3rd being "Next 
page"
 
-saveAndReload(mpFilter);
+// tdf#164201 the table was shifting to left of the page margin because it 
became compat12
+CPPUNIT_ASSERT_EQUAL(sal_Int32(9), getProperty(xTableImport, 
u"LeftMargin"_ustr));
+CPPUNIT_ASSERT_EQUAL(OUString("Office Open XML Text"),
+ 
getSwDocShell()->GetMedium()->GetFilter()->GetFilterName());
+
+saveAndReload(getSwDocShell()->GetMedium()->GetFilter()->GetFilterName());
 
 CPPUNIT_ASSERT_EQUAL(2, getPages());
 CPPUNIT_ASSERT_EQUAL(2, getParagraphs());
-uno::Reference(getParagraphOrTable(1), 
uno::UNO_QUERY_THROW);
+uno::Reference xTableExport(getParagraphOrTable(1), 
uno::UNO_QUERY_THROW);
 getParagraph(2, u"Next page"_ustr);
+
+// tdf#164201 instead of "From left: 0" (aka 9), it was "From Left: 
-0.19cm" (aka -191)
+CPPUNIT_ASSERT_EQUAL(sal_Int32(9), getProperty(xTableExport, 
u"LeftMargin"_ustr));
+
+xmlDocUniquePtr pXmlSettings = parseExport(u"word/settings.xml"_ustr);
+assertXPath(pXmlSettings, "//w:compat/w:compatSetting[1]", "name", 
u"compatibilityMode");
+assertXPath(pXmlSettings, "//w:compat/w:compatSetting[1]", "val", u"15");
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testTdf158971)
diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
index aab6be1833a6..d095afef0b35 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
+++ b/sw/source/writerfilter/dmapper/DomainM

core.git: Branch 'feature/cib_contract49d' - editeng/source include/editeng svx/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 editeng/source/outliner/outlin2.cxx |2 +-
 include/editeng/outliner.hxx|2 +-
 svx/source/svdraw/svdview.cxx   |2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 51f9e057a83b442f848dbcff1887b4fc59f26658
Author: Caolán McNamara 
AuthorDate: Sat Dec 7 12:08:25 2024 +
Commit: Nagy Tibor 
CommitDate: Mon Dec 9 23:47:57 2024 +0100

cid#1636582 Negative loop bound

Change-Id: Ib91ee62814837765f89f65a1204021e9d9610e53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178035
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit 88986086f9d785491f7430a66bbc255dd737738b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178175
Tested-by: allotropia jenkins 
Reviewed-by: Nagy Tibor 

diff --git a/editeng/source/outliner/outlin2.cxx 
b/editeng/source/outliner/outlin2.cxx
index 22723698d994..305706f0eeef 100644
--- a/editeng/source/outliner/outlin2.cxx
+++ b/editeng/source/outliner/outlin2.cxx
@@ -308,7 +308,7 @@ bool Outliner::IsInUndo() const
 return pEditEngine->IsInUndo();
 }
 
-sal_uInt32 Outliner::GetLineCount( sal_Int32 nParagraph ) const
+sal_Int32 Outliner::GetLineCount( sal_Int32 nParagraph ) const
 {
 return pEditEngine->GetLineCount( nParagraph );
 }
diff --git a/include/editeng/outliner.hxx b/include/editeng/outliner.hxx
index c5ed7dedd47e..5f326c801ad5 100644
--- a/include/editeng/outliner.hxx
+++ b/include/editeng/outliner.hxx
@@ -879,7 +879,7 @@ public:
 SAL_DLLPRIVATE const Link& GetEndMovingHdl() const {return 
aEndMovingHdl;}
 SAL_DLLPRIVATE voidSetEndMovingHdl( const 
Link& rLink){aEndMovingHdl=rLink;}
 
-sal_uInt32   GetLineCount( sal_Int32 nParagraph ) const;
+sal_Int32   GetLineCount( sal_Int32 nParagraph ) const;
 sal_Int32   GetLineLen( sal_Int32 nParagraph, sal_Int32 nLine ) 
const;
 sal_uInt32   GetLineHeight( sal_Int32 nParagraph, sal_Int32 nLine 
= 0 );
 
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index ccc4c01e5040..ff23cd4ec38e 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -1247,7 +1247,7 @@ OUString SdrView::GetStatusText()
 // At the end of a line of any multi-line paragraph, we display the
 // position of the next line of the same paragraph, if there is one.
 sal_uInt16 nParaLine = 0;
-sal_uInt32 nParaLineCount = 
mpTextEditOutliner->GetLineCount(aSel.end.nPara);
+sal_Int32 nParaLineCount = 
mpTextEditOutliner->GetLineCount(aSel.end.nPara);
 bool bBrk = false;
 while (!bBrk)
 {


core.git: helpcontent2

2024-12-09 Thread Bogdan Buzea (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 50a8b8e6e47d804358ba6cbf497a0d34ce4782b0
Author: Bogdan Buzea 
AuthorDate: Mon Dec 9 23:46:27 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Mon Dec 9 23:46:27 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'master'
  to 22c587639a5c06e9a61a390b4ea18da0cb0c0b68
  - tdf#131332: Replace custom date formats with ISO 8601

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

diff --git a/helpcontent2 b/helpcontent2
index 635f1dc3de1c..22c587639a5c 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 635f1dc3de1c1af8b6a99205d2237c0650084bea
+Subproject commit 22c587639a5c06e9a61a390b4ea18da0cb0c0b68


help.git: source/text

2024-12-09 Thread Bogdan Buzea (via logerrit)
 source/text/sbasic/shared/03030101.xhp |2 +-
 source/text/sbasic/shared/03100300.xhp |4 ++--
 source/text/sbasic/shared/03102300.xhp |2 +-
 source/text/scalc/01/02140600.xhp  |2 +-
 source/text/swriter/00/0404.xhp|2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit 22c587639a5c06e9a61a390b4ea18da0cb0c0b68
Author: Bogdan Buzea 
AuthorDate: Mon Dec 9 17:04:55 2024 +0100
Commit: Olivier Hallot 
CommitDate: Mon Dec 9 23:46:27 2024 +0100

tdf#131332: Replace custom date formats with ISO 8601

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

diff --git a/source/text/sbasic/shared/03030101.xhp 
b/source/text/sbasic/shared/03030101.xhp
index 0d5af98e14..b0a5aa4f79 100644
--- a/source/text/sbasic/shared/03030101.xhp
+++ b/source/text/sbasic/shared/03030101.xhp
@@ -49,7 +49,7 @@
 
 Day: Integer expression that indicates the day of the specified 
month. The accepted range is from 1-31. No error is returned when you enter a 
non-existing day for a month shorter than 31 days.see 
i69463
 The 
DateSerial function returns the number of days between December 
30,1899 and the given date. You can use this function to calculate the 
difference between two dates.
-The 
DateSerial function returns the data type Variant with VarType 7 
(Date). Internally, this value is stored as a Double value, so that when the 
given date is 1.1.1900, the returned value is 2. Negative values correspond to 
dates before December 30, 1899 (not inclusive).
+The 
DateSerial function returns the data type Variant with VarType 7 
(Date). Internally, this value is stored as a Double value, so that when the 
given date is 1900-01-01, the returned value is 2. Negative values correspond 
to dates before December 30, 1899 (not inclusive).
 If a date is 
defined that lies outside of the accepted range, $[officename] Basic returns an 
error message.
 Whereas you 
define the DateValue function as a string that contains the date, 
the DateSerial function evaluates each of the parameters (year, 
month, day) as separate numeric expressions.
 
diff --git a/source/text/sbasic/shared/03100300.xhp 
b/source/text/sbasic/shared/03100300.xhp
index 2308773913..0ea1043d6c 100644
--- a/source/text/sbasic/shared/03100300.xhp
+++ b/source/text/sbasic/shared/03100300.xhp
@@ -53,8 +53,8 @@
 
 
   Sub ExampleCDate
-  MsgBox cDate(1000.25) ' 09.26.1902 06:00:00
-  MsgBox cDate(1001.26) ' 09.27.1902 06:14:24
+  MsgBox cDate(1000.25) ' 1902-09-26 06:00:00
+  MsgBox cDate(1001.26) ' 1902-09-27 06:14:24
   End Sub
 
 
diff --git a/source/text/sbasic/shared/03102300.xhp 
b/source/text/sbasic/shared/03102300.xhp
index ff2a1f0b3f..d3a04b2e64 100644
--- a/source/text/sbasic/shared/03102300.xhp
+++ b/source/text/sbasic/shared/03102300.xhp
@@ -55,7 +55,7 @@
 
 Sub ExampleIsDate
 Dim sDateVar As String
-sDateVar = "12.12.1997"
+sDateVar = "1997-12-12"
 Print IsDate(sDateVar) ' True
 sDateVar = "12121997"
 Print IsDate(sDateVar) ' False
diff --git a/source/text/scalc/01/02140600.xhp 
b/source/text/scalc/01/02140600.xhp
index 15584eeb39..791573ffe3 100644
--- a/source/text/scalc/01/02140600.xhp
+++ b/source/text/scalc/01/02140600.xhp
@@ -81,7 +81,7 @@
 AutoFill
 Forms a series directly in the 
sheet. The AutoFill function takes account of customized 
lists. For example, by entering January in the first cell, the 
series is completed using the list defined under %PRODUCTNAME - Preferences
 Tools - 
Options - %PRODUCTNAME Calc - Sort 
Lists.
-AutoFill tries to complete a 
value series by using a defined pattern. The series 1,3,5 is automatically 
completed with 7,9,11,13, and so on. Date and time series are completed 
accordingly; for example, after 01.01.99 and 15.01.99, an interval of 14 days 
is used.
+AutoFill tries to complete a 
value series by using a defined pattern. The series 1,3,5 is automatically 
completed with 7,9,11,13, and so on. Date and time series are completed 
accordingly; for example, after 1999-01-01 and 1999-01-15, an interval of 14 
days is used.
 
 
 Unit of Time
diff --git a/source/text/swriter/00/0404.xhp 
b/source/text/swriter/00/0404.xhp
index 2c8bbed237..776a273133 100644
--- a/source/text/swriter/00/0404.xhp
+++ b/source/text/swriter/00/0404.xhp
@@ -35,7 +35,7 @@
 

Choose Insert 
- Field
-   Fields do not have context menus (15.01.20)
+   Fields do not have context menus

Open context menu - 
choose Edit Field (inserted fields)



help.git: Branch 'libreoffice-25-2' - source/text

2024-12-09 Thread Bogdan Buzea (via logerrit)
 source/text/swriter/01/05090300.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c67242bffd9fba199e6dd280b6605e5607fb5008
Author: Bogdan Buzea 
AuthorDate: Sat Dec 7 21:02:42 2024 +0100
Commit: Olivier Hallot 
CommitDate: Tue Dec 10 00:13:21 2024 +0100

tdf#156317 Explain: Use superordinate object settings

Change-Id: I24f55c9a28acb53d1f9af431e0d215a4a18d8637
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178059
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins
(cherry picked from commit d1e72401e01866e317fa763f914d15ea9a277372)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178183

diff --git a/source/text/swriter/01/05090300.xhp 
b/source/text/swriter/01/05090300.xhp
index 9bff47c70d..b13f0e4afb 100644
--- a/source/text/swriter/01/05090300.xhp
+++ b/source/text/swriter/01/05090300.xhp
@@ -95,7 +95,7 @@
 Vertical (top to 
bottom)
 
 
-Use superordinate object 
settings
+Use superordinate object 
settings. The superordinate objects are pages and frames containing the table. 
They define how the table is positioned and behaves within its parent 
layout.
 
 
 Vertical (bottom to 
top)


core.git: Branch 'libreoffice-25-2' - helpcontent2

2024-12-09 Thread Dione Maddern (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e35e4a16513eead6e01e96f44945c9db07bd9832
Author: Dione Maddern 
AuthorDate: Mon Dec 9 18:13:02 2024 -0500
Commit: Gerrit Code Review 
CommitDate: Tue Dec 10 00:13:02 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-25-2'
  to 86da4a6e1f4b02e5b5093ead59afb821d9a4c6fa
  - tdf#162504 Create help page for Alignment Sidebar panel

Create new file source/text/scalc/01/sidebar_alignment.xhp to explain
the features of the Alignment panel of the Properties sidebar.

In AllLangHelp_scalc.mk
- Add new file source/text/scalc/01/sidebar_alignment.xhp to the make
file
- Change the file path for
source/text/scalc/01/sidebar_number_format.xhp to show amended file
location.

In source/text/shared/01/05020700.xhp
- Add variable tag so that the file can easily be linked from other help
pages.

In source/text/shared/01/05100100.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/05340300.xhp
- Add section and variable tags so that content can be easily embedded
in other pages.
- Reformat the "reference_edge" section so that each option has its own
heading. This improves readability and consistency and allows the same
content to be re-used in the help page for the Alignment Sidebar panel.

In source/text/shared/01/LeftToRight.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/RightToLeft.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/scalc/sidebar_number_format.xhp
- Moved file to source/text/scalc/01/sidebar_number_format.xhp

In source/text/shared/01/sidebar_properties.xhp
- Embed description of Alignment sidebar panel
- Update file path for source/text/scalc/01/sidebar_number_format.xhp
- Add loc_false tags for embedded variables

Change-Id: Id9c232c18bab1cfab99eec83e796f8db25681898
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177707
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins
(cherry picked from commit f723cce6039b88b82380fbc8ebe9a2e18eaf3fd4)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178182

diff --git a/helpcontent2 b/helpcontent2
index fc7580e1f16f..86da4a6e1f4b 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit fc7580e1f16fb1c9e51da105180db06156d0eb74
+Subproject commit 86da4a6e1f4b02e5b5093ead59afb821d9a4c6fa


help.git: Branch 'libreoffice-25-2' - AllLangHelp_scalc.mk source/text

2024-12-09 Thread Dione Maddern (via logerrit)
 AllLangHelp_scalc.mk   |3 
 source/text/scalc/01/sidebar_alignment.xhp |  173 
 source/text/scalc/01/sidebar_number_format.xhp |4 
 source/text/shared/01/05020700.xhp |2 
 source/text/shared/01/05100100.xhp |4 
 source/text/shared/01/05340300.xhp |  347 +
 source/text/shared/01/LeftToRight.xhp  |4 
 source/text/shared/01/RightToLeft.xhp  |4 
 source/text/shared/01/sidebar_properties.xhp   |   13 
 9 files changed, 442 insertions(+), 112 deletions(-)

New commits:
commit 86da4a6e1f4b02e5b5093ead59afb821d9a4c6fa
Author: Dione Maddern 
AuthorDate: Mon Dec 2 14:39:37 2024 -0500
Commit: Olivier Hallot 
CommitDate: Tue Dec 10 00:13:02 2024 +0100

tdf#162504 Create help page for Alignment Sidebar panel

Create new file source/text/scalc/01/sidebar_alignment.xhp to explain
the features of the Alignment panel of the Properties sidebar.

In AllLangHelp_scalc.mk
- Add new file source/text/scalc/01/sidebar_alignment.xhp to the make
file
- Change the file path for
source/text/scalc/01/sidebar_number_format.xhp to show amended file
location.

In source/text/shared/01/05020700.xhp
- Add variable tag so that the file can easily be linked from other help
pages.

In source/text/shared/01/05100100.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/05340300.xhp
- Add section and variable tags so that content can be easily embedded
in other pages.
- Reformat the "reference_edge" section so that each option has its own
heading. This improves readability and consistency and allows the same
content to be re-used in the help page for the Alignment Sidebar panel.

In source/text/shared/01/LeftToRight.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/shared/01/RightToLeft.xhp
- Add section tags so that content can be easily embedded in other
pages.

In source/text/scalc/sidebar_number_format.xhp
- Moved file to source/text/scalc/01/sidebar_number_format.xhp

In source/text/shared/01/sidebar_properties.xhp
- Embed description of Alignment sidebar panel
- Update file path for source/text/scalc/01/sidebar_number_format.xhp
- Add loc_false tags for embedded variables

Change-Id: Id9c232c18bab1cfab99eec83e796f8db25681898
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/177707
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins
(cherry picked from commit f723cce6039b88b82380fbc8ebe9a2e18eaf3fd4)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178182

diff --git a/AllLangHelp_scalc.mk b/AllLangHelp_scalc.mk
index 4824307ddc..73614b1f50 100644
--- a/AllLangHelp_scalc.mk
+++ b/AllLangHelp_scalc.mk
@@ -346,7 +346,8 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,scalc,\
 helpcontent2/source/text/scalc/01/SheetCommentMenu \
 helpcontent2/source/text/scalc/01/sheet_tab_color \
 helpcontent2/source/text/scalc/01/ShowNote \
-helpcontent2/source/text/scalc/sidebar_number_format \
+helpcontent2/source/text/scalc/01/sidebar_alignment \
+helpcontent2/source/text/scalc/01/sidebar_number_format \
 helpcontent2/source/text/scalc/01/solver \
 helpcontent2/source/text/scalc/01/solver_options \
 helpcontent2/source/text/scalc/01/solver_options_algo \
diff --git a/source/text/scalc/01/sidebar_alignment.xhp 
b/source/text/scalc/01/sidebar_alignment.xhp
new file mode 100644
index 00..e16ac87abd
--- /dev/null
+++ b/source/text/scalc/01/sidebar_alignment.xhp
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+Alignment
+/text/scalc/01/sidebar_alignment.xhp
+
+
+
+
+sidebar;alignment
+alignment;sidebar
+alignment;cell
+cell;alignment
+cell;text orientation
+text orientation;cell
+cell;indent text
+indent text;cell
+cell;increase indent
+increase indent;cell
+cell;decrease indent
+decrease indent;cell
+cell;vertically stack text
+vertically stack text;cell
+cell;wrap text
+wrap text;cell
+cell;merge
+merge;cells
+cell;asian typography
+asian typography;cell
+
+
+
+Alignment
+
+Use the 
Alignment panel in the Properties 
sidebar deck to set alignment options for the contents of the current cell, or 
the selected cells.
+
+
+
+
+OptionAlt
 + 1
+
+Open the 
Properties sidebar deck and expand the 
Alignment panel.
+
+
+
+Align 
Left
+
+
+
+
+
+Align 
Center
+
+
+
+
+
+
+Align 
right
+
+
+
+
+
+
+Justified
+
+
+

help.git: Branch 'libreoffice-25-2' - source/text

2024-12-09 Thread Bogdan Buzea (via logerrit)
 source/text/sbasic/shared/03030101.xhp |2 +-
 source/text/sbasic/shared/03100300.xhp |4 ++--
 source/text/sbasic/shared/03102300.xhp |2 +-
 source/text/scalc/01/02140600.xhp  |2 +-
 source/text/swriter/00/0404.xhp|2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

New commits:
commit fc527bd75b13dff6c78f6103723f05fd3eaea75b
Author: Bogdan Buzea 
AuthorDate: Mon Dec 9 17:04:55 2024 +0100
Commit: Olivier Hallot 
CommitDate: Tue Dec 10 00:13:48 2024 +0100

tdf#131332: Replace custom date formats with ISO 8601

Change-Id: Idf08d44bb5287da44b281820e73e08c58e154f99
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178163
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 22c587639a5c06e9a61a390b4ea18da0cb0c0b68)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178184

diff --git a/source/text/sbasic/shared/03030101.xhp 
b/source/text/sbasic/shared/03030101.xhp
index 0d5af98e14..b0a5aa4f79 100644
--- a/source/text/sbasic/shared/03030101.xhp
+++ b/source/text/sbasic/shared/03030101.xhp
@@ -49,7 +49,7 @@
 
 Day: Integer expression that indicates the day of the specified 
month. The accepted range is from 1-31. No error is returned when you enter a 
non-existing day for a month shorter than 31 days.see 
i69463
 The 
DateSerial function returns the number of days between December 
30,1899 and the given date. You can use this function to calculate the 
difference between two dates.
-The 
DateSerial function returns the data type Variant with VarType 7 
(Date). Internally, this value is stored as a Double value, so that when the 
given date is 1.1.1900, the returned value is 2. Negative values correspond to 
dates before December 30, 1899 (not inclusive).
+The 
DateSerial function returns the data type Variant with VarType 7 
(Date). Internally, this value is stored as a Double value, so that when the 
given date is 1900-01-01, the returned value is 2. Negative values correspond 
to dates before December 30, 1899 (not inclusive).
 If a date is 
defined that lies outside of the accepted range, $[officename] Basic returns an 
error message.
 Whereas you 
define the DateValue function as a string that contains the date, 
the DateSerial function evaluates each of the parameters (year, 
month, day) as separate numeric expressions.
 
diff --git a/source/text/sbasic/shared/03100300.xhp 
b/source/text/sbasic/shared/03100300.xhp
index 2308773913..0ea1043d6c 100644
--- a/source/text/sbasic/shared/03100300.xhp
+++ b/source/text/sbasic/shared/03100300.xhp
@@ -53,8 +53,8 @@
 
 
   Sub ExampleCDate
-  MsgBox cDate(1000.25) ' 09.26.1902 06:00:00
-  MsgBox cDate(1001.26) ' 09.27.1902 06:14:24
+  MsgBox cDate(1000.25) ' 1902-09-26 06:00:00
+  MsgBox cDate(1001.26) ' 1902-09-27 06:14:24
   End Sub
 
 
diff --git a/source/text/sbasic/shared/03102300.xhp 
b/source/text/sbasic/shared/03102300.xhp
index ff2a1f0b3f..d3a04b2e64 100644
--- a/source/text/sbasic/shared/03102300.xhp
+++ b/source/text/sbasic/shared/03102300.xhp
@@ -55,7 +55,7 @@
 
 Sub ExampleIsDate
 Dim sDateVar As String
-sDateVar = "12.12.1997"
+sDateVar = "1997-12-12"
 Print IsDate(sDateVar) ' True
 sDateVar = "12121997"
 Print IsDate(sDateVar) ' False
diff --git a/source/text/scalc/01/02140600.xhp 
b/source/text/scalc/01/02140600.xhp
index 15584eeb39..791573ffe3 100644
--- a/source/text/scalc/01/02140600.xhp
+++ b/source/text/scalc/01/02140600.xhp
@@ -81,7 +81,7 @@
 AutoFill
 Forms a series directly in the 
sheet. The AutoFill function takes account of customized 
lists. For example, by entering January in the first cell, the 
series is completed using the list defined under %PRODUCTNAME - Preferences
 Tools - 
Options - %PRODUCTNAME Calc - Sort 
Lists.
-AutoFill tries to complete a 
value series by using a defined pattern. The series 1,3,5 is automatically 
completed with 7,9,11,13, and so on. Date and time series are completed 
accordingly; for example, after 01.01.99 and 15.01.99, an interval of 14 days 
is used.
+AutoFill tries to complete a 
value series by using a defined pattern. The series 1,3,5 is automatically 
completed with 7,9,11,13, and so on. Date and time series are completed 
accordingly; for example, after 1999-01-01 and 1999-01-15, an interval of 14 
days is used.
 
 
 Unit of Time
diff --git a/source/text/swriter/00/0404.xhp 
b/source/text/swriter/00/0404.xhp
index 2c8bbed237..776a273133 100644
--- a/source/text/swriter/00/0404.xhp
+++ b/source/text/swriter/00/0404.xhp
@@ -35,7 +35,7 @@
 

Choose Insert 
- Field
-   Fields do not have context menus (15.01.20)
+   Fields do not have context menus

Open context menu - 
choose Edit Field (inserted fields)



core.git: Branch 'libreoffice-25-2' - helpcontent2

2024-12-09 Thread Bogdan Buzea (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 6ae690dbe48218da8459976b63f69cd088b516ca
Author: Bogdan Buzea 
AuthorDate: Tue Dec 10 00:13:48 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Tue Dec 10 00:13:48 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-25-2'
  to fc527bd75b13dff6c78f6103723f05fd3eaea75b
  - tdf#131332: Replace custom date formats with ISO 8601

Change-Id: Idf08d44bb5287da44b281820e73e08c58e154f99
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178163
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 22c587639a5c06e9a61a390b4ea18da0cb0c0b68)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178184

diff --git a/helpcontent2 b/helpcontent2
index c67242bffd9f..fc527bd75b13 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit c67242bffd9fba199e6dd280b6605e5607fb5008
+Subproject commit fc527bd75b13dff6c78f6103723f05fd3eaea75b


core.git: Branch 'libreoffice-25-2' - helpcontent2

2024-12-09 Thread Bogdan Buzea (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 76a86b4c5f80d0aaee53681b6896ce5b92c1f2c7
Author: Bogdan Buzea 
AuthorDate: Tue Dec 10 00:13:21 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Tue Dec 10 00:13:21 2024 +0100

Update git submodules

* Update helpcontent2 from branch 'libreoffice-25-2'
  to c67242bffd9fba199e6dd280b6605e5607fb5008
  - tdf#156317 Explain: Use superordinate object settings

Change-Id: I24f55c9a28acb53d1f9af431e0d215a4a18d8637
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178059
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins
(cherry picked from commit d1e72401e01866e317fa763f914d15ea9a277372)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/178183

diff --git a/helpcontent2 b/helpcontent2
index 86da4a6e1f4b..c67242bffd9f 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 86da4a6e1f4b02e5b5093ead59afb821d9a4c6fa
+Subproject commit c67242bffd9fba199e6dd280b6605e5607fb5008


core.git: vcl/inc vcl/qt5

2024-12-09 Thread Michael Weghorn (via logerrit)
 vcl/inc/qt5/QtInstanceIconView.hxx |6 +--
 vcl/qt5/QtInstanceIconView.cxx |   65 +++--
 2 files changed, 59 insertions(+), 12 deletions(-)

New commits:
commit 06bc2dfc23da1b8ae6fe690b6d8e3557b7419f1e
Author: Michael Weghorn 
AuthorDate: Mon Dec 9 21:59:18 2024 +0100
Commit: Michael Weghorn 
CommitDate: Tue Dec 10 07:10:35 2024 +0100

tdf#130857 qt weld: Implement some QtInstanceIconView methods

Just enough to make Writer's "Insert" -> "Fontwork"
dialog generally work in a WIP branch where support for
that dialog is declared.

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

diff --git a/vcl/inc/qt5/QtInstanceIconView.hxx 
b/vcl/inc/qt5/QtInstanceIconView.hxx
index e60f63ee946f..fb1d762f5dfe 100644
--- a/vcl/inc/qt5/QtInstanceIconView.hxx
+++ b/vcl/inc/qt5/QtInstanceIconView.hxx
@@ -28,10 +28,10 @@ public:
 virtual int get_item_width() const override;
 virtual void set_item_width(int width) override;
 
-virtual void insert(int pos, const OUString* pStr, const OUString* pId,
+virtual void insert(int nPos, const OUString* pStr, const OUString* pId,
 const OUString* pIconName, weld::TreeIter* pRet) 
override;
 
-virtual void insert(int pos, const OUString* pStr, const OUString* pId,
+virtual void insert(int nPos, const OUString* pStr, const OUString* pId,
 const VirtualDevice* pIcon, weld::TreeIter* pRet) 
override;
 
 virtual void insert_separator(int pos, const OUString* pId) override;
@@ -45,7 +45,7 @@ public:
 virtual OUString get_selected_text() const override;
 
 virtual OUString get_id(int pos) const override;
-virtual void select(int pos) override;
+virtual void select(int nPos) override;
 virtual void unselect(int pos) override;
 virtual void set_image(int pos, VirtualDevice* pDevice) override;
 virtual void set_text(int pos, const OUString& rText) override;
diff --git a/vcl/qt5/QtInstanceIconView.cxx b/vcl/qt5/QtInstanceIconView.cxx
index 9c3c9f25e7e2..d8bb72d10473 100644
--- a/vcl/qt5/QtInstanceIconView.cxx
+++ b/vcl/qt5/QtInstanceIconView.cxx
@@ -12,6 +12,9 @@
 
 #include 
 
+// role used for the ID in the QStandardItem
+constexpr int ROLE_ID = Qt::UserRole + 1000;
+
 QtInstanceIconView::QtInstanceIconView(QListView* pListView)
 : QtInstanceWidget(pListView)
 , m_pListView(pListView)
@@ -43,10 +46,28 @@ void QtInstanceIconView::insert(int, const OUString*, const 
OUString*, const OUS
 assert(false && "Not implemented yet");
 }
 
-void QtInstanceIconView::insert(int, const OUString*, const OUString*, const 
VirtualDevice*,
-weld::TreeIter*)
+void QtInstanceIconView::insert(int nPos, const OUString* pStr, const 
OUString* pId,
+const VirtualDevice* pIcon, weld::TreeIter* 
pRet)
 {
-assert(false && "Not implemented yet");
+assert(!pRet && "Support for pRet param not implemented yet");
+(void)pRet;
+
+SolarMutexGuard g;
+
+GetQtInstance().RunInMainThread([&] {
+if (nPos == -1)
+nPos = m_pModel->rowCount();
+
+QStandardItem* pItem = new QStandardItem;
+if (pStr)
+pItem->setText(toQString(*pStr));
+if (pId)
+pItem->setData(toQString(*pId), ROLE_ID);
+if (pIcon)
+pItem->setIcon(QIcon(toQPixmap(*pIcon)));
+
+m_pModel->insertRow(nPos, pItem);
+});
 }
 
 void QtInstanceIconView::insert_separator(int, const OUString*)
@@ -56,11 +77,28 @@ void QtInstanceIconView::insert_separator(int, const 
OUString*)
 
 OUString QtInstanceIconView::get_selected_id() const
 {
-assert(false && "Not implemented yet");
-return OUString();
+SolarMutexGuard g;
+
+OUString sId;
+GetQtInstance().RunInMainThread([&] {
+const QModelIndexList aSelectedIndexes = 
m_pSelectionModel->selectedIndexes();
+if (aSelectedIndexes.empty())
+return;
+
+QVariant aIdData = aSelectedIndexes.first().data(ROLE_ID);
+if (aIdData.canConvert())
+sId = toOUString(aIdData.toString());
+});
+
+return sId;
 }
 
-void QtInstanceIconView::clear() { assert(false && "Not implemented yet"); }
+void QtInstanceIconView::clear()
+{
+SolarMutexGuard g;
+
+GetQtInstance().RunInMainThread([&] { m_pModel->clear(); });
+}
 
 int QtInstanceIconView::count_selected_items() const
 {
@@ -80,7 +118,12 @@ OUString QtInstanceIconView::get_id(int) const
 return OUString();
 }
 
-void QtInstanceIconView::select(int) { assert(false && "Not implemented yet"); 
}
+void QtInstanceIconView::select(int nPos)
+{
+SolarMutexGuard g;
+GetQtInstance().RunInMainThread(
+[&] { m_pSelectionModel->select(m_pModel->index(nPos, 0), 
QItemSelectionModel::Select); });
+}
 
 void QtInstanceIco

core.git: Branch 'distro/collabora/co-24.04' - tools/source

2024-12-09 Thread Caolán McNamara (via logerrit)
 tools/source/fsys/urlobj.cxx |   21 +++--
 1 file changed, 15 insertions(+), 6 deletions(-)

New commits:
commit e25d074b3163971d64d24976af1a9bd0634c8da5
Author: Caolán McNamara 
AuthorDate: Fri Dec 6 14:41:19 2024 +
Commit: Miklos Vajna 
CommitDate: Tue Dec 10 08:43:23 2024 +0100

look at 'embedded' protocols too

Change-Id: Ie99f5f5a390639bdc69397c831e0a32594a5030c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177981
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 
(cherry picked from commit 59891cd3985469bc44dbd05c9fc704eeb07f0c78)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177987
Reviewed-by: Stephan Bergmann 
(cherry picked from commit b63aa51c55244ee67410201fa5e7c003427b1009)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178164
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
index 23204f43375b..785fbd09404f 100644
--- a/tools/source/fsys/urlobj.cxx
+++ b/tools/source/fsys/urlobj.cxx
@@ -4882,12 +4882,21 @@ OUString INetURLObject::CutExtension()
 
 bool INetURLObject::IsExoticProtocol() const
 {
-return m_eScheme == INetProtocol::Slot ||
-   m_eScheme == INetProtocol::Macro ||
-   m_eScheme == INetProtocol::Uno ||
-   m_eScheme == INetProtocol::VndSunStarExpand ||
-   isSchemeEqualTo(u"vnd.sun.star.script") ||
-   isSchemeEqualTo(u"service");
+if (m_eScheme == INetProtocol::Slot ||
+m_eScheme == INetProtocol::Macro ||
+m_eScheme == INetProtocol::Uno ||
+m_eScheme == INetProtocol::VndSunStarExpand ||
+isSchemeEqualTo(u"vnd.sun.star.script") ||
+isSchemeEqualTo(u"service"))
+{
+return true;
+}
+if (isSchemeEqualTo(u"vnd.sun.star.pkg") || 
isSchemeEqualTo(u"vnd.sun.star.zip"))
+{
+OUString sPayloadURL = 
GetURLPath(INetURLObject::DecodeMechanism::WithCharset);
+return sPayloadURL.startsWith(u"//") && 
INetURLObject(sPayloadURL.subView(2)).IsExoticProtocol();
+}
+return false;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: Branch 'feature/cib_contract49d' - oox/source sd/qa

2024-12-09 Thread Vasily Melenchuk (via logerrit)
 oox/source/ppt/pptshapegroupcontext.cxx |2 +-
 sd/qa/unit/data/pptx/tdf158512.pptx |binary
 sd/qa/unit/import-tests2.cxx|   13 +
 3 files changed, 14 insertions(+), 1 deletion(-)

New commits:
commit 6687177f38f67c70789efb7a766c067dc56b8c33
Author: Vasily Melenchuk 
AuthorDate: Thu Apr 11 11:10:37 2024 +0300
Commit: Thorsten Behrens 
CommitDate: Tue Dec 10 08:48:29 2024 +0100

tdf#158512: PPTX import: reset useBgFill flag when it is unused

Even if current fill is not "use background" we should reset useBgFill
explicitly, since this value could be set from master slide and was
nested in current shape.

It is somewhat confusing to have fillStyle as none and using slide
background at the same time. So better to clean it explicitly.

Change-Id: I0d817dc295785be7a6cb8f884d5023d316cd2ebf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165994
Reviewed-by: Gabor Kelemen 
Tested-by: Jenkins
Tested-by: Gabor Kelemen 
(cherry picked from commit 6c9055aaac77323b9446050dafb8dc8d492a6bd6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178153
Reviewed-by: Thorsten Behrens 
Tested-by: allotropia jenkins 

diff --git a/oox/source/ppt/pptshapegroupcontext.cxx 
b/oox/source/ppt/pptshapegroupcontext.cxx
index 26caf62ef67e..66b18c056872 100644
--- a/oox/source/ppt/pptshapegroupcontext.cxx
+++ b/oox/source/ppt/pptshapegroupcontext.cxx
@@ -108,10 +108,10 @@ ContextHandlerRef PPTShapeGroupContext::onCreateContext( 
sal_Int32 aElementToken
 {
 auto pShape = std::make_shared( meShapeLocation, 
u"com.sun.star.drawing.CustomShape"_ustr );
 bool bUseBgFill = rAttribs.getBool(XML_useBgFill, false);
+pShape->getFillProperties().moUseBgFill = bUseBgFill;
 if (bUseBgFill)
 {
 pShape->getFillProperties().moFillType = XML_noFill;
-pShape->getFillProperties().moUseBgFill = true;
 }
 pShape->setModelId(rAttribs.getStringDefaulted( XML_modelId ));
 return new PPTShapeContext( *this, mpSlidePersistPtr, 
mpGroupShapePtr, pShape );
diff --git a/sd/qa/unit/data/pptx/tdf158512.pptx 
b/sd/qa/unit/data/pptx/tdf158512.pptx
new file mode 100644
index ..96494ddf656a
Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf158512.pptx differ
diff --git a/sd/qa/unit/import-tests2.cxx b/sd/qa/unit/import-tests2.cxx
index 9ee8c12bbea8..ec20d0c52946 100644
--- a/sd/qa/unit/import-tests2.cxx
+++ b/sd/qa/unit/import-tests2.cxx
@@ -2133,6 +2133,19 @@ CPPUNIT_TEST_FIXTURE(SdImportTest2, testTdf161430)
 CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_NONE, eXFS);
 }
 
+CPPUNIT_TEST_FIXTURE(SdImportTest2, tdf158512)
+{
+// First shape on first slide should have no fill to avoid hiding 
background
+createSdImpressDoc("pptx/tdf158512.pptx");
+
+const SdrPage* pPage = GetPage(1);
+CPPUNIT_ASSERT_EQUAL(size_t(2), pPage->GetObjCount());
+CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_NONE,
+ 
pPage->GetObj(0)->GetMergedItem(XATTR_FILLSTYLE).GetValue());
+CPPUNIT_ASSERT_EQUAL(false,
+ 
pPage->GetObj(0)->GetMergedItem(XATTR_FILLUSESLIDEBACKGROUND).GetValue());
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: Branch 'libreoffice-25-2' - sw/qa sw/source

2024-12-09 Thread Michael Weghorn (via logerrit)
 sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx |   31 +++
 sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt  |binary
 sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt|binary
 sw/source/core/access/AccessibilityCheck.cxx |   29 +-
 4 files changed, 59 insertions(+), 1 deletion(-)

New commits:
commit 7349fc1e469f3302e1bff38c8eb078e6f4712935
Author: Michael Weghorn 
AuthorDate: Mon Dec 9 10:11:59 2024 +0100
Commit: Michael Weghorn 
CommitDate: Tue Dec 10 07:20:01 2024 +0100

tdf#164247 sw a11y check: Adhere to WCAG contrast threshold for large text

Quoting WCAG 2.2 "Success Criterion 1.4.3 Contrast (Minimum)" [1]:

> The visual presentation of text and images of text has a contrast
> ratio of at least 4.5:1, except for the following:
>
> Large Text
>
> Large-scale text and images of large-scale text have a contrast
> ratio of at least 3:1;

Regarding large text, the corresponding "Understanding SC 1.4.3" [2]
clarifies:

> Text that is larger and has wider character strokes is easier to read at
> lower contrast. The contrast requirement for larger text is therefore
> lower. This allows authors to use a wider range of color choices for
> large text, which is helpful for design of pages, particularly titles.
> 18 point text or 14 point bold text is judged to be large enough to
> require a lower contrast ratio.

Therefore, lower the text contrast requirement in
Writer's accessibility check from 4.5 to 3.0 for
text that is considered large according to that
specification.

Add a unit test with 2 test documents:

* one that adheres to the requirements and would have triggered false
  positives without this change in place
  (sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt)
* one that doesn't adhere to the requirements and still fails the
  check, as it should
  (sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt)

[1] https://www.w3.org/TR/WCAG22/#contrast-minimum
[2] https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html

Change-Id: I398f72aa5bdcd77c42834632575d6465a5ecd586
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178127
Reviewed-by: Michael Weghorn 
Tested-by: Jenkins
Reviewed-by: Balazs Varga 
(cherry picked from commit a4b03fce93fce7672be40b57d30797ac36ca67c9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178168

diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx 
b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
index 1f820b47ed02..981cf03cd26b 100644
--- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
+++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
@@ -318,6 +318,37 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, 
testStylesWithHeader)
 CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[4]->m_eIssueID);
 }
 
+// Text contrast tests
+// see https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html
+CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTextContrast)
+{
+// first test doc has these issues:
+// * normal text with contrast < 4.5
+// * large text with contrast < 3.0
+// * bold text with font size 13 (i.e. not considered large) with contrast 
< 4.5
+createSwDoc("ContrastTestFail.odt");
+SwDoc* pDoc = getSwDoc();
+sw::AccessibilityCheck aCheck(pDoc);
+aCheck.check();
+auto& aIssues = aCheck.getIssueCollection().getIssues();
+CPPUNIT_ASSERT_EQUAL(size_t(3), aIssues.size());
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_CONTRAST, 
aIssues[0]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_CONTRAST, 
aIssues[1]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_CONTRAST, 
aIssues[2]->m_eIssueID);
+
+// second test doc has large text with contrast between 3.0 and 4.5,
+// which is sufficient for large text
+// both of these are considered large text according to the spec:
+// * non-bold text font with size 18
+// * bold text with font size 14
+createSwDoc("ContrastTestOK.odt");
+SwDoc* pDocOK = getSwDoc();
+sw::AccessibilityCheck aCheckOK(pDocOK);
+aCheckOK.check();
+auto& aIssuesOK = aCheckOK.getIssueCollection().getIssues();
+CPPUNIT_ASSERT_EQUAL(size_t(0), aIssuesOK.size());
+}
+
 namespace
 {
 std::vector>
diff --git a/sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt 
b/sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt
new file mode 100644
index ..4f898942e37f
Binary files /dev/null and 
b/sw/qa/core/accessibilitycheck/data/ContrastTestFail.odt differ
diff --git a/sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt 
b/sw/qa/core/accessibilitycheck/data/ContrastTestOK.odt
new file mode 100644
index ..2f47148838a2
Binary files /dev/null

core.git: Branch 'feature/cib_contract49d' - sd/uiconfig svx/source

2024-12-09 Thread Oliver Specht (via logerrit)
 sd/uiconfig/sdraw/popupmenu/table.xml|5 +
 sd/uiconfig/simpress/popupmenu/table.xml |5 +
 svx/source/table/tablecontroller.cxx |5 +
 3 files changed, 15 insertions(+)

New commits:
commit 90fcda6dc147a004f202ff21c2bc367e547d9678
Author: Oliver Specht 
AuthorDate: Thu Dec 5 11:14:13 2024 +0100
Commit: Thorsten Behrens 
CommitDate: Tue Dec 10 08:52:36 2024 +0100

tdf#164183 Add hyperlink entries to context menu of tables

Table objects in Draw/Impress now have Open/Edit/Copy/Remove hyperlink
entries in context menu of text in table objects.

Change-Id: Id3a5346eb3227871a06d2ea7fdb3ed38c07654c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178142
Tested-by: allotropia jenkins 
Reviewed-by: Thorsten Behrens 

diff --git a/sd/uiconfig/sdraw/popupmenu/table.xml 
b/sd/uiconfig/sdraw/popupmenu/table.xml
index 71ae6f2bd562..7ada41804675 100644
--- a/sd/uiconfig/sdraw/popupmenu/table.xml
+++ b/sd/uiconfig/sdraw/popupmenu/table.xml
@@ -49,6 +49,11 @@
   
   
   
+  
+  
+  
+  
+  
   
   
 
diff --git a/sd/uiconfig/simpress/popupmenu/table.xml 
b/sd/uiconfig/simpress/popupmenu/table.xml
index 71ae6f2bd562..7ada41804675 100644
--- a/sd/uiconfig/simpress/popupmenu/table.xml
+++ b/sd/uiconfig/simpress/popupmenu/table.xml
@@ -49,6 +49,11 @@
   
   
   
+  
+  
+  
+  
+  
   
   
 
diff --git a/svx/source/table/tablecontroller.cxx 
b/svx/source/table/tablecontroller.cxx
index 7cf50ef04d5c..782f7ec4b5b8 100644
--- a/svx/source/table/tablecontroller.cxx
+++ b/svx/source/table/tablecontroller.cxx
@@ -298,7 +298,12 @@ bool SvxTableController::onMouseButtonDown(const 
MouseEvent& rMEvt, vcl::Window*
 }
 
 if( rMEvt.IsRight() && eHit != TableHitKind::NONE )
+{
+OutlinerView* pOLV = mrView.GetTextEditOutlinerView();
+if( pOLV )
+pOLV->MouseButtonDown(rMEvt);
 return true; // right click will become context menu
+}
 
 // for cell selection with the mouse remember our first hit
 if( mbLeftButtonDown )