core.git: sfx2/source

2024-04-28 Thread Julien Nabet (via logerrit)
 sfx2/source/doc/objstor.cxx |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 45d2d90d2354a6a32297cde52c0041915499b19b
Author: Julien Nabet 
AuthorDate: Sun Apr 28 13:16:59 2024 +0200
Commit: Julien Nabet 
CommitDate: Sun Apr 28 20:10:30 2024 +0200

tdf#160827: fix crash when retrieving _MarkAsFinal value (docx) (take 2)

Change-Id: I3f2ad56a205877be54b0dbfe361b76db3436f5ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166798
Reviewed-by: Noel Grandin 
Reviewed-by: Julien Nabet 
Tested-by: Jenkins

diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 720e939e3885..e7538813cfdd 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -2741,7 +2741,11 @@ bool SfxObjectShell::ImportFrom(SfxMedium& rMedium,
 uno::Reference xPropertySetInfo = 
xPropertySet->getPropertySetInfo();
 if (xPropertySetInfo.is() && 
xPropertySetInfo->hasPropertyByName("_MarkAsFinal"))
 {
-if 
(xPropertySet->getPropertyValue("_MarkAsFinal").get())
+Any anyMarkAsFinal = 
xPropertySet->getPropertyValue("_MarkAsFinal");
+if (
+   ( (anyMarkAsFinal.getValueType() == 
cppu::UnoType::get()) && (anyMarkAsFinal.get()) ) ||
+   ( (anyMarkAsFinal.getValueType() == 
cppu::UnoType::get()) && (anyMarkAsFinal.get() == "true") )
+)
 {
 uno::Reference< lang::XMultiServiceFactory > 
xFactory(GetModel(), uno::UNO_QUERY);
 uno::Reference< beans::XPropertySet > 
xSettings(xFactory->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY);


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

2024-04-28 Thread Noel Grandin (via logerrit)
 sw/inc/unotxdoc.hxx  |3 ++
 sw/source/core/inc/unosection.hxx|3 +-
 sw/source/uibase/uno/unotxdoc.cxx|   15 ++
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx |   20 ---
 sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx |3 +-
 sw/source/writerfilter/dmapper/PropertyMap.cxx   |9 
 sw/source/writerfilter/dmapper/PropertyMap.hxx   |4 ++-
 sw/source/writerfilter/dmapper/SdtHelper.cxx |   12 +--
 8 files changed, 45 insertions(+), 24 deletions(-)

New commits:
commit 14ed2224269426ab68b6591c178c8a0d636e51a8
Author: Noel Grandin 
AuthorDate: Wed Apr 24 14:06:45 2024 +0200
Commit: Noel Grandin 
CommitDate: Sun Apr 28 18:57:59 2024 +0200

use more concrete UNO classes in writerfilter (SwXTextSection)

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

diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 477f2792912b..9c1e5e39b29c 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -108,6 +108,7 @@ class SwXRedlines;
 class SwXDocumentSettings;
 class SwXTextDefaults;
 class SwXBookmark;
+class SwXTextSection;
 namespace com::sun::star::container { class XNameContainer; }
 namespace com::sun::star::frame { class XController; }
 namespace com::sun::star::lang { struct Locale; }
@@ -514,6 +515,7 @@ public:
 SW_DLLPUBLIC rtl::Reference createTextDefaults();
 SW_DLLPUBLIC rtl::Reference createBookmark();
 SW_DLLPUBLIC rtl::Reference createFieldmark();
+SW_DLLPUBLIC rtl::Reference createTextSection();
 };
 
 class SwXLinkTargetSupplier final : public cppu::WeakImplHelper
diff --git a/sw/source/core/inc/unosection.hxx 
b/sw/source/core/inc/unosection.hxx
index ec235f03dfae..209b905e162a 100644
--- a/sw/source/core/inc/unosection.hxx
+++ b/sw/source/core/inc/unosection.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include 
 #include 
 #include 
 #include 
@@ -44,7 +45,7 @@ typedef ::cppu::ImplInheritanceHelper
 ,   css::text::XTextSection
 > SwXTextSection_Base;
 
-class SwXTextSection final
+class SW_DLLPUBLIC SwXTextSection final
 : public SwXTextSection_Base
 {
 
diff --git a/sw/source/uibase/uno/unotxdoc.cxx 
b/sw/source/uibase/uno/unotxdoc.cxx
index 400d9db8b805..0d5a46f692ef 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -176,6 +176,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 using namespace ::com::sun::star;
@@ -1682,6 +1683,13 @@ rtl::Reference< SwXBookmark > 
SwXTextDocument::createFieldmark()
 return SwXFieldmark::CreateXFieldmark(GetDocOrThrow(), nullptr);
 }
 
+rtl::Reference< SwXTextSection > SwXTextDocument::createTextSection()
+{
+SolarMutexGuard aGuard;
+ThrowIfInvalid();
+return SwXTextSection::CreateXTextSection(nullptr, false);
+}
+
 Reference< XInterface >  SwXTextDocument::createInstance(const OUString& 
rServiceName)
 {
 return create(rServiceName, nullptr);
diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
index 7f0b57ab483a..241783ab848c 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
@@ -135,6 +135,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #define REFFLDFLAG_STYLE_FROM_BOTTOM 0xc100
 #define REFFLDFLAG_STYLE_HIDE_NON_NUMERICAL 0xc200
@@ -3640,12 +3641,12 @@ static void copyAllProps(const 
css::uno::Reference& from,
 }
 }
 
-uno::Reference< beans::XPropertySet > 
DomainMapper_Impl::appendTextSectionAfter(
+rtl::Reference< SwXTextSection > DomainMapper_Impl::appendTextSectionAfter(
 uno::Reference< text::XTextRange > const & 
xBefore )
 {
-uno::Reference< beans::XPropertySet > xRet;
+rtl::Reference< SwXTextSection > xSection;
 if (m_aTextAppendStack.empty())
-return xRet;
+return xSection;
 uno::Reference< text::XTextAppend >  xTextAppend = 
m_aTextAppendStack.top().xTextAppend;
 if(xTextAppend.is())
 {
@@ -3672,13 +3673,11 @@ uno::Reference< beans::XPropertySet > 
DomainMapper_Impl::appendTextSectionAfter(
 // to the newly appended paragraph, which will be kept in the end.
 copyAllProps(xEndPara, xNewPara);
 
-uno::Reference< text::XTextContent > xSection( 
m_xTextDocument->createInstance("com.sun.star.text.TextSection"), 
uno::UNO_QUERY_THROW );
+xSection = m_xTextDocument->createTextSection();
 xSection->attach(xCursor);
 
 // Remove the extra paragraph (last inside the section)
 xEndPara->dispose();
-
-xRet.set(xSection, uno::UNO_QUERY );
 }
 catch(const uno::Exception&)
 {
@@ -3686,7 +3685,7 @@ uno::Reference< beans::XPropertySet 

core.git: sd/source

2024-04-28 Thread Gabor Kelemen (via logerrit)
 sd/source/core/CustomAnimationPreset.cxx |   12 ++--
 sd/source/core/TransitionPreset.cxx  |   13 ++---
 2 files changed, 4 insertions(+), 21 deletions(-)

New commits:
commit a83b7cd01cb804d6138b4ca7de0e1d7a8abfe31d
Author: Gabor Kelemen 
AuthorDate: Fri Apr 26 16:04:09 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Sun Apr 28 17:10:31 2024 +0200

Use less ConfigurationAccess in favor of officecfg

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

diff --git a/sd/source/core/CustomAnimationPreset.cxx 
b/sd/source/core/CustomAnimationPreset.cxx
index 1d63b5d217b9..8c4a3dcfc927 100644
--- a/sd/source/core/CustomAnimationPreset.cxx
+++ b/sd/source/core/CustomAnimationPreset.cxx
@@ -37,6 +37,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -252,17 +253,8 @@ void CustomAnimationPresets::importEffects()
 configuration::theDefaultProvider::get( xContext );
 
 // read path to transition effects files from config
-uno::Sequence aArgs(comphelper::InitAnyPropertySequence(
-{
-{"nodepath", 
uno::Any(OUString("/org.openoffice.Office.Impress/Misc"))}
-}));
-Reference xNameAccess(
-xConfigProvider->createInstanceWithArguments(
-"com.sun.star.configuration.ConfigurationAccess",
-aArgs ), UNO_QUERY_THROW );
 uno::Sequence< OUString > aFiles;
-xNameAccess->getByName( "EffectFiles" ) >>= aFiles;
-
+aFiles = officecfg::Office::Impress::Misc::EffectFiles::get();
 for (const auto& rFile : aFiles)
 {
 OUString aURL = comphelper::getExpandedUri(xContext, rFile);
diff --git a/sd/source/core/TransitionPreset.cxx 
b/sd/source/core/TransitionPreset.cxx
index 03adee6e79ff..b92f9ce5ca18 100644
--- a/sd/source/core/TransitionPreset.cxx
+++ b/sd/source/core/TransitionPreset.cxx
@@ -33,6 +33,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -329,18 +330,8 @@ bool TransitionPreset::importTransitionPresetList( 
TransitionPresetList& rList )
 configuration::theDefaultProvider::get( xContext );
 
 // read path to transition effects files from config
-uno::Sequence aArgs(comphelper::InitAnyPropertySequence(
-{
-{"nodepath", 
uno::Any(OUString("/org.openoffice.Office.Impress/Misc"))}
-}));
-Reference xNameAccess(
-xConfigProvider->createInstanceWithArguments(
-"com.sun.star.configuration.ConfigurationAccess",
-aArgs),
-UNO_QUERY_THROW );
 uno::Sequence< OUString > aFiles;
-xNameAccess->getByName("TransitionFiles") >>= aFiles;
-
+aFiles = officecfg::Office::Impress::Misc::TransitionFiles::get();
 for (const auto& rFile : aFiles)
 {
 OUString aURL = comphelper::getExpandedUri(xContext, rFile);


core.git: compilerplugins/clang sd/Library_sd.mk sd/source solenv/clang-format

2024-04-28 Thread Gabor Kelemen (via logerrit)
 compilerplugins/clang/unnecessarylocking.cxx |2 
 sd/Library_sd.mk |1 
 sd/source/ui/slidesorter/cache/SlsBitmapCache.cxx|7 
 sd/source/ui/slidesorter/cache/SlsCacheCompactor.cxx |   17 -
 sd/source/ui/slidesorter/cache/SlsCacheConfiguration.cxx |  144 ---
 sd/source/ui/slidesorter/cache/SlsCacheConfiguration.hxx |   68 ---
 sd/source/ui/tools/SdGlobalResourceContainer.cxx |4 
 solenv/clang-format/excludelist  |1 
 8 files changed, 8 insertions(+), 236 deletions(-)

New commits:
commit 924d7b64f07a3bd1d9d3195eb3ce923b616bfb45
Author: Gabor Kelemen 
AuthorDate: Fri Apr 26 13:39:44 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Sun Apr 28 17:08:29 2024 +0200

Drop CacheConfiguration in favor of officecfg

Also the key path was wrong in SlsCacheConfiguration.cxx:
MultiPaneGUI/SlideSorter/PreviewCache
but in Impress.xcs we have
MultiPaneGUI/SlideSorterBar/PreviewCache
hierarchy so this may actually now start to work :)

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

diff --git a/compilerplugins/clang/unnecessarylocking.cxx 
b/compilerplugins/clang/unnecessarylocking.cxx
index 40b15518571d..b578f8da229d 100644
--- a/compilerplugins/clang/unnecessarylocking.cxx
+++ b/compilerplugins/clang/unnecessarylocking.cxx
@@ -115,8 +115,6 @@ bool UnnecessaryLocking::VisitCompoundStmt(const 
CompoundStmt* compoundStmt)
 && !loplugin::isSamePathname(fn,
  SRCDIR 
"/desktop/source/deployment/gui/dp_gui_dialog2.cxx")
 && !loplugin::isSamePathname(fn, SRCDIR 
"/desktop/source/lib/init.cxx")
-&& !loplugin::isSamePathname(
-   fn, SRCDIR 
"/sd/source/ui/slidesorter/cache/SlsCacheConfiguration.cxx")
 
 // needs to lock around access to methods in vcl
 && !loplugin::isSamePathname(fn, SRCDIR 
"/basctl/source/basicide/unomodel.cxx")
diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk
index 12296242bedb..643cce60ff82 100644
--- a/sd/Library_sd.mk
+++ b/sd/Library_sd.mk
@@ -375,7 +375,6 @@ $(eval $(call gb_Library_add_exception_objects,sd,\
sd/source/ui/slidesorter/cache/SlsBitmapCompressor \
sd/source/ui/slidesorter/cache/SlsBitmapFactory \
sd/source/ui/slidesorter/cache/SlsCacheCompactor \
-   sd/source/ui/slidesorter/cache/SlsCacheConfiguration \
sd/source/ui/slidesorter/cache/SlsGenericPageCache \
sd/source/ui/slidesorter/cache/SlsPageCache \
sd/source/ui/slidesorter/cache/SlsPageCacheManager \
diff --git a/sd/source/ui/slidesorter/cache/SlsBitmapCache.cxx 
b/sd/source/ui/slidesorter/cache/SlsBitmapCache.cxx
index 89acdc564bf5..ca0bd8cf4b8b 100644
--- a/sd/source/ui/slidesorter/cache/SlsBitmapCache.cxx
+++ b/sd/source/ui/slidesorter/cache/SlsBitmapCache.cxx
@@ -17,12 +17,13 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include 
+
 #include 
 #include 
 #include "SlsBitmapCache.hxx"
 #include "SlsCacheCompactor.hxx"
 #include "SlsBitmapCompressor.hxx"
-#include "SlsCacheConfiguration.hxx"
 
 #include 
 
@@ -126,9 +127,7 @@ BitmapCache::BitmapCache ()
   mnMaximalNormalCacheSize(MAXIMAL_CACHE_SIZE),
   mbIsFull(false)
 {
-Any aCacheSize (CacheConfiguration::Instance()->GetValue("CacheSize"));
-if (aCacheSize.has())
-aCacheSize >>= mnMaximalNormalCacheSize;
+mnMaximalNormalCacheSize = 
officecfg::Office::Impress::MultiPaneGUI::SlideSorterBar::PreviewCache::CacheSize::get();
 
 mpCacheCompactor = CacheCompactor::Create(*this,mnMaximalNormalCacheSize);
 }
diff --git a/sd/source/ui/slidesorter/cache/SlsCacheCompactor.cxx 
b/sd/source/ui/slidesorter/cache/SlsCacheCompactor.cxx
index f5fa8690af20..74262f1f224c 100644
--- a/sd/source/ui/slidesorter/cache/SlsCacheCompactor.cxx
+++ b/sd/source/ui/slidesorter/cache/SlsCacheCompactor.cxx
@@ -22,11 +22,10 @@
 
 #include "SlsBitmapCompressor.hxx"
 #include "SlsBitmapCache.hxx"
-#include "SlsCacheConfiguration.hxx"
 
 #include 
 #include 
-#include 
+#include 
 #include 
 
 using namespace ::com::sun::star::uno;
@@ -86,27 +85,21 @@ namespace sd::slidesorter::cache {
 static const char sNone[] = "None";
 
 std::shared_ptr pCompressor;
-OUString sCompressionPolicy("PNGCompression");
-Any aCompressionPolicy 
(CacheConfiguration::Instance()->GetValue("CompressionPolicy"));
-if (aCompressionPolicy.has())
-aCompressionPolicy >>= sCompressionPolicy;
+OUString sCompressionPolicy = 
officecfg::Office::Impress::MultiPaneGUI::SlideSorterBar::PreviewCache::CompressionPolicy::get();
 if (sCompressionPolicy == sNone)
 pCompressor = std::make_shared();
 else if (sCompressionPolicy == "Erase")
 pCompressor = std::make_shared();
 

core.git: sw/inc sw/source

2024-04-28 Thread Noel Grandin (via logerrit)
 sw/inc/unotxdoc.hxx  |2 +
 sw/source/uibase/uno/unotxdoc.cxx|8 +++
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx |   20 ++-
 3 files changed, 17 insertions(+), 13 deletions(-)

New commits:
commit 6a11bf9f7bd209a082254c861d5a04c7f5729d68
Author: Noel Grandin 
AuthorDate: Wed Apr 24 13:16:25 2024 +0200
Commit: Noel Grandin 
CommitDate: Sun Apr 28 15:59:26 2024 +0200

use more concrete UNO classes in writerfilter (SwXBookmark)

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

diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 30edc2fb7c84..6a9b9de6fbe6 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -107,6 +107,7 @@ class SwXLinkTargetSupplier;
 class SwXRedlines;
 class SwXDocumentSettings;
 class SwXTextDefaults;
+class SwXBookmark;
 namespace com::sun::star::container { class XNameContainer; }
 namespace com::sun::star::frame { class XController; }
 namespace com::sun::star::lang { struct Locale; }
@@ -511,6 +512,7 @@ public:
 
 SW_DLLPUBLIC rtl::Reference createDocumentSettings();
 SW_DLLPUBLIC rtl::Reference createTextDefaults();
+SW_DLLPUBLIC rtl::Reference createBookmark();
 };
 
 class SwXLinkTargetSupplier final : public cppu::WeakImplHelper
diff --git a/sw/source/uibase/uno/unotxdoc.cxx 
b/sw/source/uibase/uno/unotxdoc.cxx
index 3bbaa1014aff..e72cf2a59ec5 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -1667,6 +1667,14 @@ rtl::Reference< SwXTextDefaults > 
SwXTextDocument::createTextDefaults()
 return new SwXTextDefaults(());
 }
 
+rtl::Reference< SwXBookmark > SwXTextDocument::createBookmark()
+{
+SolarMutexGuard aGuard;
+ThrowIfInvalid();
+return SwXBookmark::CreateXBookmark(GetDocOrThrow(), nullptr);
+}
+
+
 Reference< XInterface >  SwXTextDocument::createInstance(const OUString& 
rServiceName)
 {
 return create(rServiceName, nullptr);
diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
index db22d7f25fe6..103a836536bc 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
@@ -134,6 +134,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #define REFFLDFLAG_STYLE_FROM_BOTTOM 0xc100
 #define REFFLDFLAG_STYLE_HIDE_NON_NUMERICAL 0xc200
@@ -875,13 +876,8 @@ void DomainMapper_Impl::RemoveLastParagraph( )
 if (sBookmarkNameAfterRemoval.isEmpty())
 {
 // Yes, it was removed. Restore
-uno::Reference xBookmark(
-
m_xTextDocument->createInstance("com.sun.star.text.Bookmark"),
-uno::UNO_QUERY_THROW);
-
-uno::Reference xBkmNamed(xBookmark,
-
uno::UNO_QUERY_THROW);
-xBkmNamed->setName(sLastBookmarkName);
+rtl::Reference 
xBookmark(m_xTextDocument->createBookmark());
+xBookmark->setName(sLastBookmarkName);
 xTextAppend->insertTextContent(xCursor, xBookmark, 
!xCursor->isCollapsed());
 }
 }
@@ -8914,7 +8910,7 @@ void DomainMapper_Impl::StartOrEndBookmark( const 
OUString& rId )
 {
 if (m_xTextDocument)
 {
-uno::Reference< text::XTextContent > xBookmark( 
m_xTextDocument->createInstance( "com.sun.star.text.Bookmark" ), 
uno::UNO_QUERY_THROW );
+rtl::Reference xBookmark( 
m_xTextDocument->createBookmark() );
 uno::Reference< text::XTextCursor > xCursor;
 uno::Reference< text::XText > xText = 
aBookmarkIter->second.m_xTextRange->getText();
 if( aBookmarkIter->second.m_bIsStartOfText && 
!bIsAfterDummyPara)
@@ -8944,10 +8940,9 @@ void DomainMapper_Impl::StartOrEndBookmark( const 
OUString& rId )
 xCursor->gotoRange(xStart, true );
 }
 }
-uno::Reference< container::XNamed > xBkmNamed( xBookmark, 
uno::UNO_QUERY_THROW );
 SAL_WARN_IF(aBookmarkIter->second.m_sBookmarkName.isEmpty(), 
"writerfilter.dmapper", "anonymous bookmark");
 //todo: make sure the name is not used already!
-xBkmNamed->setName( aBookmarkIter->second.m_sBookmarkName );
+xBookmark->setName( aBookmarkIter->second.m_sBookmarkName );
 xTextAppend->insertTextContent( uno::Reference< 
text::XTextRange >( xCursor, uno::UNO_QUERY_THROW), xBookmark, 
!xCursor->isCollapsed() );
 }
 m_aBookmarkMap.erase( aBookmarkIter );
@@ -9088,9 +9083,8 @@ void 
DomainMapper_Impl::startOrEndPermissionRange(sal_Int32 

core.git: cui/source sw/qa

2024-04-28 Thread Julien Nabet (via logerrit)
 cui/source/tabpages/paragrph.cxx  |   10 ++
 sw/qa/uitest/writer_tests2/formatParagraph.py |2 +-
 2 files changed, 3 insertions(+), 9 deletions(-)

New commits:
commit 83236587bfca52513515b0b7a7dbfa18eed11503
Author: Julien Nabet 
AuthorDate: Sat Apr 27 10:52:29 2024 +0200
Commit: Julien Nabet 
CommitDate: Sun Apr 28 13:38:02 2024 +0200

tdf#159625: fix "allow to split paragraph"

2 pbs here:
1) bug described in the bugtracker, the uncheck isn't kept
=> just remove all the buggy GetOldItem stuff
2) after unchecked the option then saving the file and reloading the file, 
the option is still checked
=> change the buggy
rOutSet->Put( SvxFormatSplitItem( eState == TRISTATE_FALSE, _nWhich ) );
to
rOutSet->Put( SvxFormatSplitItem( eState == TRISTATE_TRUE, _nWhich ) );

In fact, I just mimicked the code used for "keep paragraphs" which works 
well.

Also change the QA test since "allow to split paragraph" is checked by 
default
so if the QA simulates a click on it, we expect the value to be false when 
dialog is opened again

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

diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index 11fefa11ed07..98ee3558f0dd 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -1799,14 +1799,8 @@ bool SvxExtParagraphTabPage::FillItemSet( SfxItemSet* 
rOutSet )
 
 if (m_xAllowSplitBox->get_state_changed_from_saved())
 {
-pOld = GetOldItem( *rOutSet, SID_ATTR_PARA_SPLIT );
-
-if ( !pOld || static_cast(pOld)->GetValue() 
!=
-  ( eState == TRISTATE_FALSE ) )
-{
-rOutSet->Put( SvxFormatSplitItem( eState == TRISTATE_FALSE, 
_nWhich ) );
-bModified = true;
-}
+rOutSet->Put( SvxFormatSplitItem( eState == TRISTATE_TRUE, _nWhich ) );
+bModified = true;
 }
 
 // keep paragraphs
diff --git a/sw/qa/uitest/writer_tests2/formatParagraph.py 
b/sw/qa/uitest/writer_tests2/formatParagraph.py
index e90d0fd7f980..bfa6eff48dc9 100644
--- a/sw/qa/uitest/writer_tests2/formatParagraph.py
+++ b/sw/qa/uitest/writer_tests2/formatParagraph.py
@@ -177,7 +177,7 @@ class formatParagraph(UITestCase):
 self.assertEqual(get_state_as_dict(xspinWidow)["Text"], "2")
 self.assertEqual(get_state_as_dict(xcheckWidow)["Selected"], 
"false")
 self.assertEqual(get_state_as_dict(xcheckOrphan)["Selected"], 
"false")
-
self.assertEqual(get_state_as_dict(xcheckSplitPara)["Selected"], "true")
+
self.assertEqual(get_state_as_dict(xcheckSplitPara)["Selected"], "false")
 
self.assertEqual(get_state_as_dict(xcheckKeepPara)["Selected"], "true")
 
 


core.git: sfx2/source

2024-04-28 Thread Julien Nabet (via logerrit)
 sfx2/source/doc/objstor.cxx |8 +---
 1 file changed, 1 insertion(+), 7 deletions(-)

New commits:
commit 5158104b9294ab85ab7a675b5b627469e303c345
Author: Julien Nabet 
AuthorDate: Sun Apr 28 13:09:34 2024 +0200
Commit: Julien Nabet 
CommitDate: Sun Apr 28 13:11:21 2024 +0200

Revert "tdf#160827: fix crash when retrieving _MarkAsFinal value (docx)"

As Noel advised in https://gerrit.libreoffice.org/c/core/+/166724, it's 
better to test type this way:
getValueType() == cppu::UnoType::get()

This reverts commit f49d74edf76097d014ed891d0025cb2e9b197c5a.

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

diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 441641d1c65c..720e939e3885 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -2741,13 +2741,7 @@ bool SfxObjectShell::ImportFrom(SfxMedium& rMedium,
 uno::Reference xPropertySetInfo = 
xPropertySet->getPropertySetInfo();
 if (xPropertySetInfo.is() && 
xPropertySetInfo->hasPropertyByName("_MarkAsFinal"))
 {
-Any anyMarkAsFinal = 
xPropertySet->getPropertyValue("_MarkAsFinal");
-const OUString strValueTypeName = 
anyMarkAsFinal.getValueTypeName();
-
-if (
-   ( (strValueTypeName == "boolean") && 
(anyMarkAsFinal.get()) ) ||
-   ( (strValueTypeName == "string") && 
(anyMarkAsFinal.get() == "true") )
-)
+if 
(xPropertySet->getPropertyValue("_MarkAsFinal").get())
 {
 uno::Reference< lang::XMultiServiceFactory > 
xFactory(GetModel(), uno::UNO_QUERY);
 uno::Reference< beans::XPropertySet > 
xSettings(xFactory->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY);


core.git: sfx2/source

2024-04-28 Thread Julien Nabet (via logerrit)
 sfx2/source/doc/objstor.cxx |8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

New commits:
commit f49d74edf76097d014ed891d0025cb2e9b197c5a
Author: Julien Nabet 
AuthorDate: Fri Apr 26 23:20:31 2024 +0200
Commit: Julien Nabet 
CommitDate: Sun Apr 28 11:39:38 2024 +0200

tdf#160827: fix crash when retrieving _MarkAsFinal value (docx)

xPropertySet->getPropertyValue("_MarkAsFinal") can retrieve an Any
containing a boolean or a string

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

diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 720e939e3885..441641d1c65c 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -2741,7 +2741,13 @@ bool SfxObjectShell::ImportFrom(SfxMedium& rMedium,
 uno::Reference xPropertySetInfo = 
xPropertySet->getPropertySetInfo();
 if (xPropertySetInfo.is() && 
xPropertySetInfo->hasPropertyByName("_MarkAsFinal"))
 {
-if 
(xPropertySet->getPropertyValue("_MarkAsFinal").get())
+Any anyMarkAsFinal = 
xPropertySet->getPropertyValue("_MarkAsFinal");
+const OUString strValueTypeName = 
anyMarkAsFinal.getValueTypeName();
+
+if (
+   ( (strValueTypeName == "boolean") && 
(anyMarkAsFinal.get()) ) ||
+   ( (strValueTypeName == "string") && 
(anyMarkAsFinal.get() == "true") )
+)
 {
 uno::Reference< lang::XMultiServiceFactory > 
xFactory(GetModel(), uno::UNO_QUERY);
 uno::Reference< beans::XPropertySet > 
xSettings(xFactory->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY);


core.git: chart2/qa connectivity/source dbaccess/source i18npool/source include/o3tl include/oox include/toolkit include/vbahelper sal/qa sax/source sc/qa svl/qa vbahelper/source vcl/workben

2024-04-28 Thread Stephan Bergmann (via logerrit)
 chart2/qa/extras/chart2dump/chart2dump.cxx|   10 ++---
 connectivity/source/drivers/hsqldb/HDriver.cxx|8 +---
 dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx |2 -
 i18npool/source/indexentry/indexentrysupplier_default.cxx |2 -
 include/o3tl/nonstaticstring.hxx  |   27 ++
 include/oox/core/relations.hxx|2 -
 include/toolkit/helper/macros.hxx |2 -
 include/vbahelper/vbahelperinterface.hxx  |2 -
 sal/qa/rtl/alloc/rtl_alloc.cxx|3 +
 sax/source/expatwrap/sax_expat.cxx|2 -
 sc/qa/unit/ucalc.cxx  |   11 +++--
 svl/qa/unit/svl.cxx   |   19 +
 vbahelper/source/vbahelper/vbafontbase.cxx|2 -
 vcl/workben/vcldemo.cxx   |2 -
 14 files changed, 61 insertions(+), 33 deletions(-)

New commits:
commit d98e014cf6d4cea7ebd7898cbc9124f6fba07684
Author: Stephan Bergmann 
AuthorDate: Fri Oct 6 16:51:17 2023 +0200
Commit: Stephan Bergmann 
CommitDate: Sun Apr 28 11:29:52 2024 +0200

Extended loplugin:ostr manual changes

I had done these a while ago, when I looked into extending loplugin:ostr to 
do
more automatic rewriting, and these were places where I needed to do 
something
manually, for one reason or another, because the automatic rewriting would 
not
pick it up correctly.

However, I got distracted, and a wholesale automatic rewrite would still run
into cases where an _ostr/_ustr instance from a library's .rodata would 
still be
referenced after the library has already been dlcose'd.  So I never came 
around
to finishing all that.

But there appears to be renewed interest in (automatic) rewritings here 
now, so
it probably makes sense if I share this part of my work anyway.

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

diff --git a/chart2/qa/extras/chart2dump/chart2dump.cxx 
b/chart2/qa/extras/chart2dump/chart2dump.cxx
index d13d768c032f..f8cf7ad2d1bd 100644
--- a/chart2/qa/extras/chart2dump/chart2dump.cxx
+++ b/chart2/qa/extras/chart2dump/chart2dump.cxx
@@ -32,7 +32,7 @@
 #define DECLARE_DUMP_TEST(TestName, BaseClass, DumpMode) \
 class TestName : public BaseClass { \
 protected:\
-virtual OUString getTestName() override { return #TestName; } \
+virtual OUString getTestName() override { return u"" #TestName 
""_ustr; } \
 public:\
 TestName() : BaseClass(DumpMode) {}; \
 CPPUNIT_TEST_SUITE(TestName); \
@@ -46,7 +46,7 @@
 
 #define CPPUNIT_DUMP_ASSERT_NUMBERS_EQUAL(aActual) \
 if(isInDumpMode()) \
-writeActual(OUString::number(aActual), #aActual); \
+writeActual(OUString::number(aActual), u"" #aActual ""_ustr); \
 else \
 { \
 OString sTestFileName = OUStringToOString(getTestFileName(), 
RTL_TEXTENCODING_UTF8); \
@@ -55,7 +55,7 @@
 
 #define CPPUNIT_DUMP_ASSERT_DOUBLES_EQUAL(aActual, EPS_) \
 if(isInDumpMode()) \
-writeActual(OUString::number(aActual), #aActual); \
+writeActual(OUString::number(aActual), u"" #aActual ""_ustr); \
 else \
 { \
 OString sTestFileName = OUStringToOString(getTestFileName(), 
RTL_TEXTENCODING_UTF8); \
@@ -64,7 +64,7 @@
 
 #define CPPUNIT_DUMP_ASSERT_STRINGS_EQUAL(aActual) \
 if(isInDumpMode()) \
-writeActual(aActual, #aActual); \
+writeActual(aActual, u"" #aActual ""_ustr); \
 else \
 { \
 OString sTestFileName = OUStringToOString(getTestFileName(), 
RTL_TEXTENCODING_UTF8); \
@@ -73,7 +73,7 @@
 
 #define CPPUNIT_DUMP_ASSERT_TRANSFORMATIONS_EQUAL(aActual, EPS_) \
 if(isInDumpMode()) \
-writeActualTransformation(aActual, #aActual); \
+writeActualTransformation(aActual, u"" #aActual ""_ustr); \
 else \
 { \
 OUString expectedTransform; \
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx 
b/connectivity/source/drivers/hsqldb/HDriver.cxx
index 19569dd77d61..234fc969db63 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -213,14 +213,12 @@ namespace connectivity
 aProperties.put( "JavaDriverClass",
 OUString(  "org.hsqldb.jdbcDriver"  ) );
 aProperties.put( "JavaDriverClassPath",
-OUString(
 #ifdef SYSTEM_HSQLDB
-HSQLDB_JAR
+u"" HSQLDB_JAR
 #else
-"vnd.sun.star.expand:$LO_JAVA_DIR/hsqldb.jar"
+u"vnd.sun.star.expand:$LO_JAVA_DIR/hsqldb.jar"
 #endif
-" 

core.git: sw/source

2024-04-28 Thread Stephan Bergmann (via logerrit)
 sw/source/writerfilter/filter/WriterFilter.cxx |1 -
 1 file changed, 1 deletion(-)

New commits:
commit 817d35eb829db00329ea5437d50e5c682139f505
Author: Stephan Bergmann 
AuthorDate: Sun Apr 28 09:44:14 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Sun Apr 28 11:29:29 2024 +0200

-Werror,-Wunused-variable

...after 87e0feafd3690a9b58890cc28f8ba0c521bfb557 "use more concrete UNO 
classes
in writerfilter (SwXDocumentSettings)"

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

diff --git a/sw/source/writerfilter/filter/WriterFilter.cxx 
b/sw/source/writerfilter/filter/WriterFilter.cxx
index 7aee1060ac39..413eb00c139c 100644
--- a/sw/source/writerfilter/filter/WriterFilter.cxx
+++ b/sw/source/writerfilter/filter/WriterFilter.cxx
@@ -301,7 +301,6 @@ void WriterFilter::setTargetDocument(const 
uno::Reference& xDo
 assert(m_xDstDoc);
 
 // Set some compatibility options that are valid for the DOCX format
-uno::Reference xFactory(xDoc, uno::UNO_QUERY);
 rtl::Reference xSettings = 
m_xDstDoc->createDocumentSettings();
 
 xSettings->setPropertyValue("UseOldNumbering", uno::Any(false));


core.git: bin/find-can-be-private-symbols.py bin/find-mergedlib-can-be-private.classes.results bin/find-mergedlib-can-be-private.py bin/find-mergedlib-can-be-private-symbols.classes.results bin/find-m

2024-04-27 Thread Noel Grandin (via logerrit)
 bin/find-can-be-private-symbols.py  |   24 
 bin/find-mergedlib-can-be-private-symbols.classes.results   |  250 
 bin/find-mergedlib-can-be-private-symbols.functions.results |16589 
 bin/find-mergedlib-can-be-private.classes.results   |  251 
 bin/find-mergedlib-can-be-private.py|  237 
 5 files changed, 17020 insertions(+), 331 deletions(-)

New commits:
commit 32d7935b3d506504e25737fe8ad8f0f5a2a75845
Author: Noel Grandin 
AuthorDate: Sat Apr 27 20:36:24 2024 +0200
Commit: Noel Grandin 
CommitDate: Sun Apr 28 06:21:43 2024 +0200

improve the mergedlib script

by copying the improvements from the normal find-can-be-private
script.

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

diff --git a/bin/find-can-be-private-symbols.py 
b/bin/find-can-be-private-symbols.py
index da28310196f7..e5d7175d4be7 100755
--- a/bin/find-can-be-private-symbols.py
+++ b/bin/find-can-be-private-symbols.py
@@ -23,18 +23,8 @@ exported_symbols1 = set()
 imported_symbols1 = set()
 exported_symbols2 = set() # decoded
 imported_symbols2 = set() # decoded
-# all names that exist in the source code
-#all_source_names = set()
 
 
-#subprocess_find_all_source_names = subprocess.Popen("git grep -oh -P 
'\b\w\w\w+\b' -- '*.h*' | sort -u",
-#stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
-#with subprocess_find_all_source_names.stdout as txt:
-#for line in txt:
-#line = line.strip()
-#all_source_names.add(line)
-#subprocess_find_all_source_names.terminate()
-
 # find all our shared libs
 subprocess_find = subprocess.Popen("find ./instdir -name *.so && find 
./workdir/LinkTarget/CppunitTest -name *.so",
 stdout=subprocess.PIPE, shell=True)
@@ -88,15 +78,6 @@ with subprocess_find.stdout as txt:
 imported_symbols1.add(sym)
 subprocess_find.terminate()
 
-#progress = 0;
-#for sym in sorted(imported_symbols - exported_symbols):
-#progress += 1
-#if (progress % 128 == 0): print( str(int(progress * 100 / len(diff))) + 
"%")
-#filtered_sym = subprocess.check_output(["c++filt", 
sym]).strip().decode("utf-8")
-#if filtered_sym.startswith("non-virtual thunk to "): filtered_sym = 
filtered_sym[21:]
-#elif filtered_sym.startswith("virtual thunk to "): filtered_sym = 
filtered_sym[17:]
-#print("Symbol imported but not exported? " + filtered_sym)
-
 # Now we have to symbolize before comparing because sometimes (due to thunks) 
two
 # different encoded names symbolize to the same method/func name
 #
@@ -123,11 +104,6 @@ print("exported   = " + str(len(exported_symbols2)))
 print("imported   = " + str(len(imported_symbols2)))
 print("unused_exports = " + str(len(unused_exports)))
 
-#def extractFunctionNameFromSignature(sym):
-#i = sym.find("(")
-#if i == -1: return sym
-#return sym[:i]
-
 # for each class, count how many symbols will become hidden if we mark the 
class as hidden
 can_be_hidden_count = dict()
 for sym in exported_symbols2:
diff --git a/bin/find-mergedlib-can-be-private-symbols.classes.results 
b/bin/find-mergedlib-can-be-private-symbols.classes.results
new file mode 100644
index ..1eaf49a0d2a7
--- /dev/null
+++ b/bin/find-mergedlib-can-be-private-symbols.classes.results
@@ -0,0 +1,250 @@
+118 SkCanvas
+108 GraphicsRenderTests
+97 SdrTextObj
+90 SkPath
+71 ScDocument
+70 lucene::index::IndexWriter
+67 StyleSettings
+67 SkMatrix
+66 QtFrame
+64 sdr::table::SdrTableObj
+61 vcl::Window
+61 SvtSearchOptions
+57 SvxRuler
+49 lucene::queryParser::QueryParser
+49 SdrObjCustomShape
+46 E3dScene
+44 GrDirectContext
+43 SmDocShell
+43 SdrPathObj
+41 SfxObjectShell
+38 ToolBox
+38 SvxEditEngineForwarder
+38 SfxMedium
+37 VCLXMenu
+36 StatusBar
+36 SkTypeface
+35 SkBitmap
+35 ListBox
+34 SvxShape
+34 SkNWayCanvas
+34 SdrObject
+34 SdrObjGroup
+34 Menu
+33 XMLTextImportHelper
+33 ThumbnailView
+33 SkPathBuilder
+33 SdrPaintView
+32 lucene::queryParser::QueryParserTokenManager
+32 framework::Desktop
+32 SkString
+31 lucene::util::Misc
+31 SplitWindow
+31 SkRegion
+31 SdrObjEditView
+31 ComboBox
+30 SvXMLImport
+30 SdrRectObj
+30 SdrOle2Obj
+29 lucene::util::StringBuffer
+29 SdrModel
+27 lucene::index::MultiReader
+27 libepubgen::EPUBTextGenerator
+27 SvxRTFParser
+27 E3dObject
+27 BrowseBox
+26 svx::FrameSelector
+26 lucene::index::IndexReader
+26 lucene::document::Field
+26 lucene::analysis::Token
+26 connectivity::file::OPreparedStatement
+26 SkiaSalBitmap
+25 lucene::store::FSDirectory
+25 StarBASIC
+25 SkFont
+24 sfx2::sidebar::SidebarController
+24 comphelper::BackupFileHelper
+24 SkPaintFilterCanvas
+23 oox::drawingml::Color
+23 SkTDStorage
+23 SkPaint
+23 SkMemoryStream
+23 SkColorSpace
+23 Application
+22 SwXTextTableCursor
+22 Hunspell
+21 lucene::index::IndexModifier
+21 formula::FormulaCompiler
+21 SvxRectCtl

core.git: comphelper/source

2024-04-27 Thread Mike Kaganski (via logerrit)
 comphelper/source/container/embeddedobjectcontainer.cxx |   39 
 comphelper/source/container/enumerablemap.cxx   |8 --
 comphelper/source/container/enumhelper.cxx  |2 
 comphelper/source/eventattachermgr/eventattachermgr.cxx |3 
 comphelper/source/misc/docpasswordhelper.cxx|9 --
 comphelper/source/misc/sequenceashashmap.cxx|   18 +
 comphelper/source/misc/xmlsechelper.cxx |8 --
 comphelper/source/property/ChainablePropertySet.cxx |   36 ---
 comphelper/source/property/MasterPropertySet.cxx|   32 --
 comphelper/source/property/genericpropertyset.cxx   |   14 +---
 comphelper/source/property/opropertybag.cxx |   31 +++---
 comphelper/source/property/propagg.cxx  |   30 +++--
 comphelper/source/property/propertysethelper.cxx|   49 
 comphelper/source/property/propertystatecontainer.cxx   |   44 +-
 comphelper/source/property/propshlp.cxx |3 
 comphelper/source/property/propstate.cxx|   19 ++
 16 files changed, 128 insertions(+), 217 deletions(-)

New commits:
commit 826e7e79f36de0248782213e0196baebc1653e85
Author: Mike Kaganski 
AuthorDate: Sun Apr 28 00:52:10 2024 +0500
Commit: Mike Kaganski 
CommitDate: Sun Apr 28 05:14:50 2024 +0200

Simplify a bit

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

diff --git a/comphelper/source/container/embeddedobjectcontainer.cxx 
b/comphelper/source/container/embeddedobjectcontainer.cxx
index a66ac2dec527..56b50c964823 100644
--- a/comphelper/source/container/embeddedobjectcontainer.cxx
+++ b/comphelper/source/container/embeddedobjectcontainer.cxx
@@ -1165,12 +1165,9 @@ bool EmbeddedObjectContainer::StoreAsChildren(bool 
_bOasisFormat,bool _bCreateEm
 try
 {
 comphelper::EmbeddedObjectContainer aCnt( _xStorage );
-const uno::Sequence < OUString > aNames = GetObjectNames();
-const OUString* pIter = aNames.getConstArray();
-const OUString* pEnd   = pIter + aNames.getLength();
-for(;pIter != pEnd;++pIter)
+for (auto& name : GetObjectNames())
 {
-uno::Reference < embed::XEmbeddedObject > xObj = 
GetEmbeddedObject( *pIter );
+uno::Reference xObj = 
GetEmbeddedObject(name);
 SAL_WARN_IF( !xObj.is(), "comphelper.container", "An empty entry 
in the embedded objects list!" );
 if ( xObj.is() )
 {
@@ -1209,13 +1206,13 @@ bool EmbeddedObjectContainer::StoreAsChildren(bool 
_bOasisFormat,bool _bCreateEm
 {
 // if it is an embedded object or the optimized 
inserting fails the normal inserting should be done
 if ( _bCreateEmbedded
-|| !aCnt.InsertGraphicStreamDirectly( xStream, 
*pIter, aMediaType ) )
-aCnt.InsertGraphicStream( xStream, *pIter, 
aMediaType );
+|| !aCnt.InsertGraphicStreamDirectly(xStream, 
name, aMediaType))
+aCnt.InsertGraphicStream(xStream, name, 
aMediaType);
 }
 else
 {
 // it is a linked object exported into SO7 format
-InsertStreamIntoPicturesStorage_Impl( _xStorage, 
xStream, *pIter );
+InsertStreamIntoPicturesStorage_Impl(_xStorage, 
xStream, name);
 }
 }
 }
@@ -1248,7 +1245,7 @@ bool EmbeddedObjectContainer::StoreAsChildren(bool 
_bOasisFormat,bool _bCreateEm
 }
 catch (const embed::WrongStateException&)
 {
-SAL_WARN("comphelper.container", "failed to store '" 
<< *pIter << "'");
+SAL_WARN("comphelper.container", "failed to store '" 
<< name << "'");
 }
 }
 
@@ -1290,14 +1287,11 @@ bool EmbeddedObjectContainer::StoreAsChildren(bool 
_bOasisFormat,bool _bCreateEm
 bool EmbeddedObjectContainer::StoreChildren(bool _bOasisFormat,bool 
_bObjectsOnly)
 {
 bool bResult = true;
-const uno::Sequence < OUString > aNames = GetObjectNames();
-const OUString* pIter = aNames.getConstArray();
-const OUString* pEnd   = pIter + aNames.getLength();
-for(;pIter != pEnd;++pIter)
+for (auto& name : GetObjectNames())
 {
 try
 {
-uno::Reference < embed::XEmbeddedObject > xObj = 
GetEmbeddedObject( *pIter );
+uno::Reference xObj = 
GetEmbeddedObject(name);
 SAL_WARN_IF( !xObj.is(), "comphelper.container", "An empty entry 
in the embedded objects 

core.git: sd/inc

2024-04-27 Thread Gabor Kelemen (via logerrit)
 sd/inc/glob.hxx |4 
 1 file changed, 4 deletions(-)

New commits:
commit 2f5ab5b8e7bd7dd06e00153abb77a69e5d192dd2
Author: Gabor Kelemen 
AuthorDate: Fri Apr 26 10:10:46 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Sat Apr 27 22:47:25 2024 +0200

Drop now unused option-stream identifiers

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

diff --git a/sd/inc/glob.hxx b/sd/inc/glob.hxx
index ad4ce9f3584c..5905601507b6 100644
--- a/sd/inc/glob.hxx
+++ b/sd/inc/glob.hxx
@@ -50,8 +50,4 @@
 // Separator between layout name and template name of presentation templates
 inline constexpr OUString SD_LT_SEPARATOR = u"~LT~"_ustr;
 
-// option-stream identifier
-#define SD_OPTION_MORPHING  u"Morph"
-#define SD_OPTION_VECTORIZE u"Vectorize"
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: chart2/qa chart2/source

2024-04-27 Thread Mike Kaganski (via logerrit)
 chart2/qa/extras/chart2export3.cxx |4 
 chart2/qa/unit/common_functor_test.cxx |4 
 chart2/source/controller/main/DrawCommandDispatch.cxx  |6 
 chart2/source/inc/CommonFunctors.hxx   |   65 
 chart2/source/model/filter/XMLFilter.cxx   |2 
 chart2/source/model/main/ChartModel_Persistence.cxx|   20 --
 chart2/source/tools/CachedDataSequence.cxx |   76 +
 chart2/source/tools/ColorPerPointHelper.cxx|4 
 chart2/source/tools/InternalDataProvider.cxx   |   99 +++--
 chart2/source/tools/MeanValueRegressionCurveCalculator.cxx |   18 --
 chart2/source/tools/UncachedDataSequence.cxx   |   14 -
 chart2/source/view/main/ChartView.cxx  |   22 +-
 12 files changed, 99 insertions(+), 235 deletions(-)

New commits:
commit faeb8adf4b12a62919fbf961f65181964cce5325
Author: Mike Kaganski 
AuthorDate: Sat Apr 27 20:49:13 2024 +0500
Commit: Mike Kaganski 
CommitDate: Sat Apr 27 20:50:48 2024 +0200

Simplify a bit

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

diff --git a/chart2/qa/extras/chart2export3.cxx 
b/chart2/qa/extras/chart2export3.cxx
index df96a70e8e1f..df70cd603d89 100644
--- a/chart2/qa/extras/chart2export3.cxx
+++ b/chart2/qa/extras/chart2export3.cxx
@@ -838,9 +838,9 @@ void checkCharacterProps(Reference 
const & xTitleProp)
 std::vector aValues = { "This", " is", "3", " a ", "custom", " 
erte1
", "2dfgd ch", "ar", "t ", "title" };
 for (sal_Int32 i = 0; i < xFormattedSubTitle.getLength(); i++)
 {
-const OUString aText = 
xFormattedSubTitle.getConstArray()[i]->getString();
+const OUString aText = xFormattedSubTitle[i]->getString();
 CPPUNIT_ASSERT_EQUAL(aValues[i], aText);
-Reference< beans::XPropertySet > 
xRunPropSet(xFormattedSubTitle.getConstArray()[i], uno::UNO_QUERY);
+Reference< beans::XPropertySet > xRunPropSet(xFormattedSubTitle[i], 
uno::UNO_QUERY);
 // common props
 uno::Any aAny = xRunPropSet->getPropertyValue("CharFontName");
 CPPUNIT_ASSERT_EQUAL(uno::Any(OUString("Aptos Narrow")), aAny);
diff --git a/chart2/qa/unit/common_functor_test.cxx 
b/chart2/qa/unit/common_functor_test.cxx
index b2e404e13508..a744945e6663 100644
--- a/chart2/qa/unit/common_functor_test.cxx
+++ b/chart2/qa/unit/common_functor_test.cxx
@@ -48,7 +48,7 @@ void CommonFunctorsTest::testAnyToString()
 
 std::vector aOutput;
 std::transform(aInput.begin(), aInput.end(),
-std::back_inserter(aOutput), chart::CommonFunctors::AnyToString());
+std::back_inserter(aOutput), chart::CommonFunctors::ToString());
 
 CPPUNIT_ASSERT_EQUAL(OUString("2"), aOutput[0]);
 CPPUNIT_ASSERT_EQUAL(OUString("10"), aOutput[1]);
@@ -65,7 +65,7 @@ void CommonFunctorsTest::testDoubleToString()
 
 std::vector aOutput;
 std::transform(aInput.begin(), aInput.end(),
-std::back_inserter(aOutput), 
chart::CommonFunctors::DoubleToOUString());
+std::back_inserter(aOutput), chart::CommonFunctors::ToString());
 
 CPPUNIT_ASSERT_EQUAL(OUString("2"), aOutput[0]);
 CPPUNIT_ASSERT_EQUAL(OUString("10"), aOutput[1]);
diff --git a/chart2/source/controller/main/DrawCommandDispatch.cxx 
b/chart2/source/controller/main/DrawCommandDispatch.cxx
index 01771f1e7763..516c2d2ec5f3 100644
--- a/chart2/source/controller/main/DrawCommandDispatch.cxx
+++ b/chart2/source/controller/main/DrawCommandDispatch.cxx
@@ -346,13 +346,11 @@ void DrawCommandDispatch::execute( const OUString& 
rCommand, const Sequence< bea
 pDrawViewWrapper->SetCreateMode();
 }
 
-const beans::PropertyValue* pIter = rArgs.getConstArray();
-const beans::PropertyValue* pEnd  = pIter + rArgs.getLength();
-const beans::PropertyValue* pKeyModifier = std::find_if(pIter, pEnd,
+const beans::PropertyValue* pKeyModifier = std::find_if(rArgs.begin(), 
rArgs.end(),
 [](const 
beans::PropertyValue& lhs)
 {return lhs.Name == 
"KeyModifier";} );
 sal_Int16 nKeyModifier = 0;
-if ( !(pKeyModifier != pEnd && ( pKeyModifier->Value >>= nKeyModifier ) && 
nKeyModifier == KEY_MOD1) )
+if ( !(pKeyModifier != rArgs.end() && ( pKeyModifier->Value >>= 
nKeyModifier ) && nKeyModifier == KEY_MOD1) )
 return;
 
 if ( eDrawMode != CHARTDRAW_INSERT )
diff --git a/chart2/source/inc/CommonFunctors.hxx 
b/chart2/source/inc/CommonFunctors.hxx
index 7bb776490cda..2d01e7ad27ae 100644
--- a/chart2/source/inc/CommonFunctors.hxx
+++ b/chart2/source/inc/CommonFunctors.hxx
@@ -21,9 +21,11 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include "charttoolsdllapi.hxx"
 
+#include 
 #include 

core.git: solenv/gbuild

2024-04-27 Thread Noel Grandin (via logerrit)
 solenv/gbuild/extensions/pre_MergedLibsList.mk |1 -
 1 file changed, 1 deletion(-)

New commits:
commit 47bebbdcf1bdca0ad6da48514a3befa473dd7d7b
Author: Noel Grandin 
AuthorDate: Sat Apr 27 19:27:44 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 20:45:28 2024 +0200

fix mergelibs build

since
commit 828c1999e08c5bfad0a1d0e6e5ab07ee8bbc427e
Author: Noel Grandin 
Date:   Wed Apr 10 16:50:51 2024 +0100
move writerfilter inside sw

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

diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk 
b/solenv/gbuild/extensions/pre_MergedLibsList.mk
index cc7b9d5e9d25..3c780ec65199 100644
--- a/solenv/gbuild/extensions/pre_MergedLibsList.mk
+++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk
@@ -184,7 +184,6 @@ gb_MERGE_LIBRARY_LIST += \
solver \
storagefd \
svgfilter \
-   sw_writerfilter \
t602filter \
textconversiondlgs \
$(call gb_Helper_optional,XMLHELP,ucpchelp1) \


core.git: include/vbahelper

2024-04-27 Thread Noel Grandin (via logerrit)
 include/vbahelper/vbashaperange.hxx |4 ++--
 include/vbahelper/vbashapes.hxx |4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 6c9f7050f60725b64c288179e9aacc5b5327c240
Author: Noel Grandin 
AuthorDate: Sat Apr 27 19:04:47 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 20:34:31 2024 +0200

reduce symbol visibility in vbahelper

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

diff --git a/include/vbahelper/vbashaperange.hxx 
b/include/vbahelper/vbashaperange.hxx
index dfcca6c82549..3dff675063aa 100644
--- a/include/vbahelper/vbashaperange.hxx
+++ b/include/vbahelper/vbashaperange.hxx
@@ -51,7 +51,7 @@ namespace ooo::vba {
 
 typedef CollTestImplHelper< ov::msforms::XShapeRange > ScVbaShapeRange_BASE;
 
-class VBAHELPER_DLLPUBLIC ScVbaShapeRange final : public ScVbaShapeRange_BASE
+class SAL_DLLPUBLIC_RTTI ScVbaShapeRange final : public ScVbaShapeRange_BASE
 {
 private:
 css::uno::Reference< css::drawing::XDrawPage > m_xDrawPage;
@@ -62,7 +62,7 @@ private:
 /// @throws css::uno::RuntimeException
 css::uno::Reference< css::drawing::XShapes > const & getShapes() ;
 public:
-ScVbaShapeRange( const css::uno::Reference< ov::XHelperInterface >& 
xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, 
const css::uno::Reference< css::container::XIndexAccess >& xShapes, 
css::uno::Reference< css::drawing::XDrawPage> xDrawShape, css::uno::Reference< 
css::frame::XModel > xModel );
+VBAHELPER_DLLPUBLIC ScVbaShapeRange( const css::uno::Reference< 
ov::XHelperInterface >& xParent, const css::uno::Reference< 
css::uno::XComponentContext >& xContext, const css::uno::Reference< 
css::container::XIndexAccess >& xShapes, css::uno::Reference< 
css::drawing::XDrawPage> xDrawShape, css::uno::Reference< css::frame::XModel > 
xModel );
 
 // Methods
 virtual void SAL_CALL Select(  ) override;
diff --git a/include/vbahelper/vbashapes.hxx b/include/vbahelper/vbashapes.hxx
index 7131d8118031..0367f16785c6 100644
--- a/include/vbahelper/vbashapes.hxx
+++ b/include/vbahelper/vbashapes.hxx
@@ -52,7 +52,7 @@ namespace ooo::vba {
 
 typedef CollTestImplHelper< ov::msforms::XShapes > ScVbaShapes_BASE;
 
-class VBAHELPER_DLLPUBLIC ScVbaShapes final : public ScVbaShapes_BASE
+class SAL_DLLPUBLIC_RTTI ScVbaShapes final : public ScVbaShapes_BASE
 {
 private:
 css::uno::Reference< css::drawing::XShapes > m_xShapes;
@@ -77,7 +77,7 @@ private:
 //css::awt::Point calculateTopLeftMargin( css::uno::Reference< 
ov::XHelperInterface > xDocument );
 
 public:
-ScVbaShapes( const css::uno::Reference< ov::XHelperInterface >& xParent, 
const css::uno::Reference< css::uno::XComponentContext >& xContext, const 
css::uno::Reference< css::container::XIndexAccess >& xShapes, 
css::uno::Reference< css::frame::XModel > xModel );
+VBAHELPER_DLLPUBLIC ScVbaShapes( const css::uno::Reference< 
ov::XHelperInterface >& xParent, const css::uno::Reference< 
css::uno::XComponentContext >& xContext, const css::uno::Reference< 
css::container::XIndexAccess >& xShapes, css::uno::Reference< 
css::frame::XModel > xModel );
 /// @throws css::uno::RuntimeException
 static void setDefaultShapeProperties( const css::uno::Reference< 
css::drawing::XShape >& xShape );
 static void setShape_NameProperty( const css::uno::Reference< 
css::drawing::XShape >& xShape, const OUString& sName );


core.git: sc/inc sc/source

2024-04-27 Thread Noel Grandin (via logerrit)
 sc/inc/arealink.hxx   |4 ++--
 sc/inc/autoform.hxx   |   24 
 sc/inc/cellvalue.hxx  |   18 +-
 sc/inc/colorscale.hxx |   16 
 sc/inc/conditio.hxx   |   22 +++---
 sc/inc/dpdimsave.hxx  |   14 +++---
 sc/inc/dpshttab.hxx   |6 +++---
 sc/inc/patattr.hxx|   34 +-
 sc/inc/postit.hxx |   16 
 sc/inc/rangeutl.hxx   |   14 +++---
 sc/inc/refdata.hxx|   34 +-
 sc/inc/stlpool.hxx|8 
 sc/inc/tabprotection.hxx  |   20 ++--
 sc/source/ui/inc/impex.hxx|   14 +++---
 sc/source/ui/inc/undobase.hxx |2 +-
 sc/source/ui/inc/undoblk.hxx  |8 
 16 files changed, 127 insertions(+), 127 deletions(-)

New commits:
commit 0eeb12b4243b7af92b99daddbce4eee0b828b6be
Author: Noel Grandin 
AuthorDate: Sat Apr 27 16:06:37 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 20:12:31 2024 +0200

reduce symbol visibility in sc

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

diff --git a/sc/inc/arealink.hxx b/sc/inc/arealink.hxx
index 5eff082b6b80..aabe8b8a8c7e 100644
--- a/sc/inc/arealink.hxx
+++ b/sc/inc/arealink.hxx
@@ -27,7 +27,7 @@
 class SfxObjectShell;
 class ScDocShell;
 
-class SC_DLLPUBLIC ScAreaLink final : public ::sfx2::SvBaseLink, public 
ScRefreshTimer
+class SAL_DLLPUBLIC_RTTI ScAreaLink final : public ::sfx2::SvBaseLink, public 
ScRefreshTimer
 {
 private:
 ScDocShell* m_pDocSh;
@@ -42,7 +42,7 @@ private:
 static bool FindExtRange( ScRange& rRange, const ScDocument& rSrcDoc, 
const OUString& rAreaName );
 
 public:
-ScAreaLink( ScDocShell* pShell, OUString aFile,
+SC_DLLPUBLIC ScAreaLink( ScDocShell* pShell, OUString aFile,
 OUString aFilter, OUString aOpt,
 OUString aArea, const ScRange& rDest, sal_Int32 
nRefreshDelaySeconds );
 virtual ~ScAreaLink() override;
diff --git a/sc/inc/autoform.hxx b/sc/inc/autoform.hxx
index b6facd437e12..923a8f0afd58 100644
--- a/sc/inc/autoform.hxx
+++ b/sc/inc/autoform.hxx
@@ -109,7 +109,7 @@ public:
 boolSave( SvStream& rStream, sal_uInt16 fileVersion );
 };
 
-class SC_DLLPUBLIC ScAutoFormatData
+class SAL_DLLPUBLIC_RTTI ScAutoFormatData
 {
 private:
 OUString   aName;
@@ -134,8 +134,8 @@ private:
 
 public:
 ScAutoFormatData();
-ScAutoFormatData( const ScAutoFormatData& rData );
-~ScAutoFormatData();
+SC_DLLPUBLIC ScAutoFormatData( const ScAutoFormatData& rData );
+SC_DLLPUBLIC ~ScAutoFormatData();
 
 voidSetName( const OUString& rName )  { aName = 
rName; nStrResId = USHRT_MAX; }
 const OUString& GetName() const { return aName; }
@@ -177,7 +177,7 @@ struct DefaultFirstEntry {
 bool operator() (const OUString& left, const OUString& right) const;
 };
 
-class SC_DLLPUBLIC ScAutoFormat
+class SAL_DLLPUBLIC_RTTI ScAutoFormat
 {
 typedef std::map, 
DefaultFirstEntry> MapType;
 MapType m_Data;
@@ -193,23 +193,23 @@ public:
 
 ScAutoFormat();
 void Load();
-bool Save();
+SC_DLLPUBLIC bool Save();
 
 void SetSaveLater( bool bSet );
 bool IsSaveLater() const { return mbSaveLater; }
 
 const ScAutoFormatData* findByIndex(size_t nIndex) const;
-ScAutoFormatData* findByIndex(size_t nIndex);
-iterator find(const OUString& rName);
+SC_DLLPUBLIC ScAutoFormatData* findByIndex(size_t nIndex);
+SC_DLLPUBLIC iterator find(const OUString& rName);
 
-iterator insert(std::unique_ptr pNew);
-void erase(const iterator& it);
+SC_DLLPUBLIC iterator insert(std::unique_ptr pNew);
+SC_DLLPUBLIC void erase(const iterator& it);
 
-size_t size() const;
+SC_DLLPUBLIC size_t size() const;
 const_iterator begin() const;
 const_iterator end() const;
-iterator begin();
-iterator end();
+SC_DLLPUBLIC iterator begin();
+SC_DLLPUBLIC iterator end();
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/inc/cellvalue.hxx b/sc/inc/cellvalue.hxx
index 03f8294c543c..d5a29c607c90 100644
--- a/sc/inc/cellvalue.hxx
+++ b/sc/inc/cellvalue.hxx
@@ -104,7 +104,7 @@ public:
  * this class any longer than necessary, and absolutely not after the
  * original cell has been destroyed.
  */
-struct SC_DLLPUBLIC ScRefCellValue
+struct SAL_DLLPUBLIC_RTTI ScRefCellValue
 {
 private:
 CellType meType;
@@ -116,8 +116,8 @@ private:
 };
 public:
 
-ScRefCellValue();
-ScRefCellValue( double fValue );
+SC_DLLPUBLIC ScRefCellValue();
+SC_DLLPUBLIC ScRefCellValue( double fValue );
 ScRefCellValue( const svl::SharedString* pString );
 ScRefCellValue( const EditTextObject* 

core.git: solenv/gdb

2024-04-27 Thread Miklos Vajna (via logerrit)
 solenv/gdb/libreoffice/sw_writerfilter.py |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit adaea5d10d157bacf858a31f611bf3f72ec881a2
Author: Miklos Vajna 
AuthorDate: Fri Apr 26 14:54:47 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 19:06:19 2024 +0200

solenv, gdb fix error while loading the sw_writerfilter pretty printer

Fixes:

Traceback (most recent call last):
  File 
"/home/vmiklos/git/libreoffice/core-clang/instdir/program/libsw_writerfilterlo.so-gdb.py",
 line 23, in 
module = importlib.import_module('libreoffice.' + mod)
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in 
import_module
return _bootstrap._gcd_import(name[level:], package, level)
  File "", line 994, in _gcd_import
  File "", line 971, in _find_and_load
  File "", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'libreoffice.sw_writerfilter'

When loading a DOCX file while gdb is attached to the soffice process.

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

diff --git a/solenv/gdb/libreoffice/writerfilter.py 
b/solenv/gdb/libreoffice/sw_writerfilter.py
similarity index 97%
rename from solenv/gdb/libreoffice/writerfilter.py
rename to solenv/gdb/libreoffice/sw_writerfilter.py
index 487263e92b99..53a5e9a56436 100644
--- a/solenv/gdb/libreoffice/writerfilter.py
+++ b/solenv/gdb/libreoffice/sw_writerfilter.py
@@ -72,7 +72,7 @@ printer = None
 def build_pretty_printers():
 global printer
 
-printer = printing.Printer("libreoffice/writerfilter")
+printer = printing.Printer("libreoffice/sw_writerfilter")
 printer.add('writerfilter::ooxml::OOXMLProperty', OOXMLPropertyPrinter)
 printer.add('writerfilter::ooxml::OOXMLPropertySet', 
OOXMLPropertySetPrinter)
 printer.add('writerfilter::ooxml::OOXMLPropertySetValue', 
OOXMLPropertySetValuePrinter)


core.git: vcl/skia

2024-04-27 Thread Patrick Luby (via logerrit)
 vcl/skia/gdiimpl.cxx |   20 
 1 file changed, 20 insertions(+)

New commits:
commit 05d3a99aa687ee4e1706f9403651379b7ebdad89
Author: Patrick Luby 
AuthorDate: Fri Apr 26 20:25:03 2024 -0400
Commit: Patrick Luby 
CommitDate: Sat Apr 27 16:35:56 2024 +0200

tdf#153306 prevent subpixel shifting of X coordinate

HACK: for some unknown reason, if the X coordinate of the
path's bounds is more than 1024, SkBlendMode::kExclusion will
shift by about a half a pixel to the right with Skia/Metal on
a Retina display. Weirdly, if the same polygon is repeatedly
drawn, the total shift is cumulative so if the drawn polygon
is more than a few pixels wide, the blinking cursor in Writer
will exhibit this bug but only for one thin vertical slice at
a time. Apparently, shifting drawing a very tiny amount to
the left seems to be enough to quell this runaway cumulative
X coordinate shift.

Change-Id: Ic1ac8a390df51c4aa1cc3183590dce72059af6b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166766
Reviewed-by: Patrick Luby 
Tested-by: Jenkins

diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index f90fbace9d69..4c34d9ab2870 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -1508,6 +1508,26 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon 
const& rPoly, SalInvert eFl
 aPaint.setShader(aBitmap.makeShader(SkTileMode::kRepeat, 
SkTileMode::kRepeat,
 SkSamplingOptions()));
 }
+
+#ifdef SK_METAL
+// tdf#153306 prevent subpixel shifting of X coordinate
+// HACK: for some unknown reason, if the X coordinate of the
+// path's bounds is more than 1024, SkBlendMode::kExclusion will
+// shift by about a half a pixel to the right with Skia/Metal on
+// a Retina display. Weirdly, if the same polygon is repeatedly
+// drawn, the total shift is cumulative so if the drawn polygon
+// is more than a few pixels wide, the blinking cursor in Writer
+// will exhibit this bug but only for one thin vertical slice at
+// a time. Apparently, shifting drawing a very tiny amount to
+// the left seems to be enough to quell this runaway cumulative
+// X coordinate shift.
+if (isGPU())
+{
+SkMatrix aMatrix;
+aMatrix.set(SkMatrix::kMTransX, -0.001);
+getDrawCanvas()->concat(aMatrix);
+}
+#endif
 }
 getDrawCanvas()->drawPath(aPath, aPaint);
 }


core.git: sd/inc sd/source

2024-04-27 Thread Noel Grandin (via logerrit)
 sd/inc/sdpage.hxx   |   20 ++--
 sd/source/ui/inc/DrawController.hxx |   10 +++---
 sd/source/ui/inc/DrawDocShell.hxx   |6 +++---
 sd/source/ui/inc/drawview.hxx   |2 +-
 sd/source/ui/inc/navigatr.hxx   |8 
 sd/source/ui/inc/unomodel.hxx   |   34 +-
 6 files changed, 42 insertions(+), 38 deletions(-)

New commits:
commit 6f61cb4b6333b88282978f7472d91c3c86bc628f
Author: Noel Grandin 
AuthorDate: Fri Apr 26 19:56:38 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 16:08:42 2024 +0200

reduce symbol visibility in sd

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

diff --git a/sd/inc/sdpage.hxx b/sd/inc/sdpage.hxx
index 3903a59b23ed..efaf3fa876bf 100644
--- a/sd/inc/sdpage.hxx
+++ b/sd/inc/sdpage.hxx
@@ -88,7 +88,7 @@ namespace sd {
 class UndoAttrObject;
 }
 
-class SD_DLLPUBLIC SdPage final : public FmFormPage, public SdrObjUserCall
+class SAL_DLLPUBLIC_RTTI SdPage final : public FmFormPage, public 
SdrObjUserCall
 {
 SdPage& operator=(const SdPage&) = delete;
 SdPage(const SdPage&) = delete;
@@ -163,10 +163,10 @@ public:
 sd::ShapeList&  GetPresentationShapeList() { return 
maPresentationShapeList; }
 
 void EnsureMasterPageDefaultBackground();
-SdrObject* CreatePresObj(PresObjKind eObjKind, bool bVertical, const 
::tools::Rectangle& rRect);
-rtl::Reference CreateDefaultPresObj(PresObjKind eObjKind);
-voidDestroyDefaultPresObj(PresObjKind eObjKind);
-SdrObject*  GetPresObj(PresObjKind eObjKind, int nIndex = 1, bool 
bFuzzySearch = false );
+SD_DLLPUBLIC SdrObject* CreatePresObj(PresObjKind eObjKind, bool 
bVertical, const ::tools::Rectangle& rRect);
+SD_DLLPUBLIC rtl::Reference CreateDefaultPresObj(PresObjKind 
eObjKind);
+SD_DLLPUBLIC void DestroyDefaultPresObj(PresObjKind eObjKind);
+SD_DLLPUBLIC SdrObject* GetPresObj(PresObjKind eObjKind, int nIndex = 1, 
bool bFuzzySearch = false );
 PresObjKind GetPresObjKind(SdrObject* pObj) const;
 OUStringGetPresObjText(PresObjKind eObjKind) const;
 SfxStyleSheet* GetStyleSheetForMasterPageBackground() const;
@@ -183,7 +183,7 @@ public:
 /** inserts the given SdrObject into the presentation object list */
 voidInsertPresObj(SdrObject* pObj, PresObjKind eKind );
 
-voidSetAutoLayout(AutoLayout eLayout, bool bInit=false, bool 
bCreate=false);
+SD_DLLPUBLIC void SetAutoLayout(AutoLayout eLayout, bool bInit=false, bool 
bCreate=false);
 AutoLayout  GetAutoLayout() const { return meAutoLayout; }
 voidCreateTitleAndLayout(bool bInit=false, bool bCreate=false);
 SdrObject*  InsertAutoLayoutShape(SdrObject* pObj, PresObjKind 
eObjKind, bool bVertical, const ::tools::Rectangle& rRect, bool bInit);
@@ -262,7 +262,7 @@ public:
 voidScaleObjects(const Size& rNewPageSize, const 
::tools::Rectangle& rNewBorderRect,
  bool bScaleAllObj);
 
-const OUString& GetName() const;
+SD_DLLPUBLIC const OUString& GetName() const;
 OUString const & GetRealName() const { return FmFormPage::GetName(); };
 
 voidSetPresentationLayout(std::u16string_view rLayoutName,
@@ -313,10 +313,10 @@ public:
 
 /** Set the name of the page and broadcast a model change.
 */
-void SetName (const OUString& rName);
+SD_DLLPUBLIC void SetName(const OUString& rName);
 
-const sd::HeaderFooterSettings& getHeaderFooterSettings() const;
-void setHeaderFooterSettings( const sd::HeaderFooterSettings& rNewSettings 
);
+SD_DLLPUBLIC const sd::HeaderFooterSettings& getHeaderFooterSettings() 
const;
+SD_DLLPUBLIC void setHeaderFooterSettings( const sd::HeaderFooterSettings& 
rNewSettings );
 
 /**
 @return true if the object from the ViewObjectContact should
diff --git a/sd/source/ui/inc/DrawController.hxx 
b/sd/source/ui/inc/DrawController.hxx
index 940efff5bf18..c935888fa92c 100644
--- a/sd/source/ui/inc/DrawController.hxx
+++ b/sd/source/ui/inc/DrawController.hxx
@@ -74,7 +74,7 @@ class ViewShellBase;
 The implementation of the XControllerManager interface is not yet in its
 final form.
 */
-class SD_DLLPUBLIC DrawController final
+class SAL_DLLPUBLIC_RTTI DrawController final
 : public DrawControllerInterfaceBase,
   private BroadcastHelperOwner,
   public ::cppu::OPropertySetHelper
@@ -160,7 +160,11 @@ public:
 */
 void ReleaseViewShellBase();
 
-DECLARE_XINTERFACE()
+// XInterface
+virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType 
) override;
+SD_DLLPUBLIC virtual void SAL_CALL acquire() noexcept override;
+SD_DLLPUBLIC virtual void SAL_CALL release() noexcept override;
+
 DECLARE_XTYPEPROVIDER()
 
 // XComponent
@@ 

core.git: sw/inc sw/Library_sw_writerfilter.mk sw/source

2024-04-27 Thread Noel Grandin (via logerrit)
 sw/Library_sw_writerfilter.mk|1 +
 sw/inc/unotxdoc.hxx  |2 ++
 sw/source/core/inc/SwXTextDefaults.hxx   |3 ++-
 sw/source/uibase/uno/unotxdoc.cxx|8 
 sw/source/writerfilter/dmapper/DomainMapper.cxx  |4 ++--
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx |3 ++-
 sw/source/writerfilter/dmapper/StyleSheetTable.cxx   |7 +++
 7 files changed, 20 insertions(+), 8 deletions(-)

New commits:
commit a77caf28bac50fe8e3592416d5dedf894a02cbbb
Author: Noel Grandin 
AuthorDate: Wed Apr 24 12:26:00 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 15:56:28 2024 +0200

use more concrete UNO classes in writerfilter (SwXTextDefaults)

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

diff --git a/sw/Library_sw_writerfilter.mk b/sw/Library_sw_writerfilter.mk
index 3be1a2d937c6..c48e727a5b85 100644
--- a/sw/Library_sw_writerfilter.mk
+++ b/sw/Library_sw_writerfilter.mk
@@ -20,6 +20,7 @@ $(eval $(call 
gb_Library_set_precompiled_header,sw_writerfilter,sw/inc/pch/preco
 $(eval $(call gb_Library_set_include,sw_writerfilter,\
 $$(INCLUDE) \
 -I$(SRCDIR)/sw/inc \
+-I$(SRCDIR)/sw/source/core/inc \
 -I$(SRCDIR)/sw/source/uibase/uno/ \
 -I$(SRCDIR)/sw/source/writerfilter/inc \
 -I$(SRCDIR)/sw/source/writerfilter \
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index ab655c6019c4..30edc2fb7c84 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -106,6 +106,7 @@ class SwXReferenceMarks;
 class SwXLinkTargetSupplier;
 class SwXRedlines;
 class SwXDocumentSettings;
+class SwXTextDefaults;
 namespace com::sun::star::container { class XNameContainer; }
 namespace com::sun::star::frame { class XController; }
 namespace com::sun::star::lang { struct Locale; }
@@ -509,6 +510,7 @@ public:
 SwDocShell* GetDocShell() {return m_pDocShell;}
 
 SW_DLLPUBLIC rtl::Reference createDocumentSettings();
+SW_DLLPUBLIC rtl::Reference createTextDefaults();
 };
 
 class SwXLinkTargetSupplier final : public cppu::WeakImplHelper
diff --git a/sw/source/core/inc/SwXTextDefaults.hxx 
b/sw/source/core/inc/SwXTextDefaults.hxx
index 0acab2a7d257..87743eb0cee7 100644
--- a/sw/source/core/inc/SwXTextDefaults.hxx
+++ b/sw/source/core/inc/SwXTextDefaults.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include 
 #include 
 #include 
 #include 
@@ -27,7 +28,7 @@
 class SwDoc;
 class SfxItemPropertySet;
 
-class SwXTextDefaults final :  public cppu::WeakImplHelper
+class SW_DLLPUBLIC SwXTextDefaults final :  public cppu::WeakImplHelper
 <
 css::beans::XPropertyState,
 css::beans::XPropertySet,
diff --git a/sw/source/uibase/uno/unotxdoc.cxx 
b/sw/source/uibase/uno/unotxdoc.cxx
index f93d7438f363..3bbaa1014aff 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -175,6 +175,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::text;
@@ -1659,6 +1660,13 @@ rtl::Reference< SwXDocumentSettings > 
SwXTextDocument::createDocumentSettings()
 return new SwXDocumentSettings(this);
 }
 
+rtl::Reference< SwXTextDefaults > SwXTextDocument::createTextDefaults()
+{
+SolarMutexGuard aGuard;
+ThrowIfInvalid();
+return new SwXTextDefaults(());
+}
+
 Reference< XInterface >  SwXTextDocument::createInstance(const OUString& 
rServiceName)
 {
 return create(rServiceName, nullptr);
diff --git a/sw/source/writerfilter/dmapper/DomainMapper.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper.cxx
index 5a9f84aa3b0d..7d48b265f079 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper.cxx
@@ -92,6 +92,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace ::com::sun::star;
 using namespace oox;
@@ -172,8 +173,7 @@ DomainMapper::DomainMapper( const uno::Reference< 
uno::XComponentContext >& xCon
 // the intended font to provide best layout match.
 try
 {
-uno::Reference< beans::XPropertySet > 
xDefProps(GetTextDocument()->createInstance("com.sun.star.text.Defaults"),
-uno::UNO_QUERY_THROW);
+rtl::Reference 
xDefProps(GetTextDocument()->createTextDefaults());
 xDefProps->setPropertyValue(getPropertyName(PROP_CHAR_FONT_NAME), 
css::uno::Any(OUString("Calibri")));
 xDefProps->setPropertyValue(getPropertyName(PROP_CHAR_HEIGHT), 
css::uno::Any(double(11)));
 }
diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
index c9f8e4d2b077..db22d7f25fe6 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
+++ 

core.git: bin/find-can-be-private-symbols.classes.results bin/find-can-be-private-symbols.functions.results

2024-04-27 Thread Noel Grandin (via logerrit)
 bin/find-can-be-private-symbols.classes.results   |   49 -
 bin/find-can-be-private-symbols.functions.results |  709 --
 2 files changed, 436 insertions(+), 322 deletions(-)

New commits:
commit 1528564ffd6832e19ba3065d20ba7969e6697486
Author: Noel Grandin 
AuthorDate: Sat Apr 27 12:54:48 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 15:42:07 2024 +0200

update can-be-private results file

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

diff --git a/bin/find-can-be-private-symbols.classes.results 
b/bin/find-can-be-private-symbols.classes.results
index b2dc20a8b1c2..382030a5f7e9 100644
--- a/bin/find-can-be-private-symbols.classes.results
+++ b/bin/find-can-be-private-symbols.classes.results
@@ -1,48 +1,43 @@
 117 SkCanvas
 106 GraphicsRenderTests
-90 SkPath
+92 SkPath
 72 accessibility::AccessibleEditableTextPara
 72 SvTreeListBox
-71 ScDocument
+72 ScDocument
 70 lucene::index::IndexWriter
 66 QtFrame
 65 SkMatrix
-63 SdrEdgeObj
-60 SdrTextObj
+59 SdrTextObj
 57 sdr::table::SdrTableObj
 57 SvxRuler
 57 SdPage
 50 SvHeaderTabListBox
 49 lucene::queryParser::QueryParser
-48 SdrMeasureObj
-44 GrDirectContext
+45 GrDirectContext
 43 SmDocShell
 43 SdrPathObj
-41 SdrMarkView
 41 SdXImpressDocument
 41 E3dScene
 39 SvTreeList
+39 SfxObjectShell
 38 sd::DrawDocShell
 38 SvxEditEngineForwarder
-37 SfxObjectShell
 37 SfxMedium
 37 DbGridControl
 36 SkTypeface
-35 SkBitmap
+36 SkBitmap
 34 chart::ChartModel
+34 SkString
 34 SkNWayCanvas
-34 SdrGrafObj
 33 XMLTextImportHelper
 33 SkPathBuilder
 33 SdrObjGroup
 32 lucene::queryParser::QueryParserTokenManager
 32 framework::Desktop
 32 SvxShape
-32 SkString
+32 SkRegion
 32 ScVbaShapeRange
 31 lucene::util::Misc
-31 SkRegion
-31 SdrEditView
 31 ScConditionEntry
 30 SdrPaintView
 30 SdrObject
@@ -52,15 +47,17 @@
 27 libepubgen::EPUBTextGenerator
 27 SvxRTFParser
 27 SvXMLImport
+27 SkiaSalBitmap
 26 lucene::index::IndexReader
 26 lucene::document::Field
 26 lucene::analysis::Token
-26 SkiaSalBitmap
 26 E3dObject
 25 sd::DrawController
 25 lucene::store::FSDirectory
+25 SvtIconChoiceCtrl
 25 SkFont
-24 SvtIconChoiceCtrl
+25 ScPatternAttr
+24 sfx2::sidebar::SidebarController
 24 SkPaintFilterCanvas
 23 oox::drawingml::Color
 23 VCLXMenu
@@ -72,11 +69,9 @@
 22 SwXTextTableCursor
 22 SvListView
 22 Hunspell
-21 sfx2::sidebar::SidebarController
 21 lucene::index::IndexModifier
 21 formula::FormulaCompiler
 21 SvxMSDffManager
-21 ScPatternAttr
 20 sdr::contact::ObjectContact
 20 chart::ChartView
 20 SkiaSalGraphicsImpl
@@ -106,6 +101,7 @@
 17 Storage
 17 SkRRect
 17 SkPicture
+17 GrBackendFormat
 17 BrowseBox
 16 sdr::properties::DefaultProperties
 16 chart::Axis
@@ -116,26 +112,25 @@
 15 oox::drawingml::Shape
 15 lucene::util::ScorerDocQueue
 15 lucene::search::Explanation
-15 dbaui::OGenericUnoController
 15 connectivity::sdbcx::OKey
 15 SvTreeListEntry
+15 SkImageInfo
 15 SkFILEStream
+15 SkDynamicMemoryWStream
 15 SdrOle2Obj
 15 ScSingleRefData
 15 SbxVariable
 15 SbxObject
 15 NumericFormatter
-15 GrBackendFormat
 15 FixedText
 14 sfx2::sidebar::Panel
 14 lucene::store::RAMDirectory
 14 lucene::queryParser::legacy::QueryParserBase
+14 dbaui::OGenericUnoController
+14 SwContentIndex
 14 SvxPixelCtl
 14 SvTabListBox
-14 SvNumberformat
 14 SkPixmap
-14 SkImageInfo
-14 SkDynamicMemoryWStream
 14 SfxInterface
 14 SdrSnapView
 14 ScImportExport
@@ -150,12 +145,12 @@
 13 connectivity::sdbcx::OGroup
 13 chart::DataSeries
 13 SvxBmpMask
+13 SvNumberformat
 13 SpinButton
 13 SkTextBlobBuilder
 13 SkCodec
 13 SfxViewShell
 13 SfxApplication
-13 SdrCreateView
 13 ScPostIt
 13 QtInstance
 13 MyThes
@@ -180,9 +175,8 @@
 12 SfxListUndoAction
 12 SdrVirtObj
 12 SdrRectObj
-12 SdrDragView
-12 SdrDragMethod
 12 ScVbaShapes
+12 ScSheetDPData
 12 NotebookBar
 12 MenuButton
 12 GrBackendTexture
@@ -192,7 +186,6 @@
 11 rptui::OOle2Obj
 11 property::OPropertySet
 11 oox::shape::ShapeContextHandler
-11 oox::AttributeList
 11 lucene::store::BufferedIndexInput
 11 lucene::search::SortField
 11 lucene::search::PhraseQuery
@@ -214,7 +207,6 @@
 11 SfxDispatcher
 11 SdrPageObj
 11 ScSimpleUndo
-11 ScSheetDPData
 11 ScRefCellValue
 11 ScRangePairList
 11 GrContext_Base
@@ -238,13 +230,14 @@
 10 VCLXWindow
 10 ToolBox
 10 TabControl
+10 SwUserField
 10 SvxZoomSliderControl
 10 SvXMLExport
-10 SvNumberFormatter
 10 SkWStream
 10 SkUTF
 10 SkTextBlob
 10 SkRuntimeEffect
+10 SkPathMeasure
 10 SkDrawable
 10 SfxDocumentInfoItem
 10 SdrText
diff --git a/bin/find-can-be-private-symbols.functions.results 
b/bin/find-can-be-private-symbols.functions.results
index 4080a49fb984..566bd25ab31b 100644
--- a/bin/find-can-be-private-symbols.functions.results
+++ b/bin/find-can-be-private-symbols.functions.results
@@ -41,7 +41,6 @@ BitmapFilterStackBlur::execute(BitmapEx const&) const
 BitmapHelper::BitmapHelper(SalBitmap const&, bool)
 

core.git: cppuhelper/qa cppuhelper/source cppu/qa cppu/source

2024-04-27 Thread Noel Grandin (via logerrit)
 cppu/qa/cppumaker/test_cppumaker.cxx|7 +-
 cppu/qa/test_any.cxx|   84 
 cppu/qa/test_unotype.cxx|   58 +++---
 cppu/qa/typelib.cxx |   17 +++---
 cppu/source/threadpool/current.cxx  |   12 ++--
 cppu/source/typelib/static_types.cxx|   36 ++---
 cppu/source/typelib/typelib.cxx |   30 +--
 cppu/source/uno/EnvStack.cxx|2 
 cppu/source/uno/cascade_mapping.cxx |2 
 cppu/source/uno/lbenv.cxx   |2 
 cppu/source/uno/lbmap.cxx   |4 -
 cppuhelper/qa/misc/test_misc.cxx|4 -
 cppuhelper/source/access_control.cxx|6 +-
 cppuhelper/source/bootstrap.cxx |   34 ++--
 cppuhelper/source/component_context.cxx |8 +--
 cppuhelper/source/defaultbootstrap.cxx  |   18 +++---
 cppuhelper/source/exc_thrower.cxx   |   20 +++
 cppuhelper/source/factory.cxx   |   16 +++---
 cppuhelper/source/paths.cxx |4 -
 cppuhelper/source/propertysetmixin.cxx  |   54 ++--
 cppuhelper/source/propshlp.cxx  |2 
 cppuhelper/source/servicemanager.cxx|   46 -
 cppuhelper/source/shlib.cxx |   16 +++---
 cppuhelper/source/tdmgr.cxx |   30 +--
 cppuhelper/source/typemanager.cxx   |   20 +++
 cppuhelper/source/unourl.cxx|   20 +++
 26 files changed, 275 insertions(+), 277 deletions(-)

New commits:
commit 60728712f0f8bf72662da0b0e446ab416e9bf347
Author: Noel Grandin 
AuthorDate: Fri Apr 26 15:25:01 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 15:11:25 2024 +0200

loplugin:ostr in cppu,cppuhelper

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

diff --git a/cppu/qa/cppumaker/test_cppumaker.cxx 
b/cppu/qa/cppumaker/test_cppumaker.cxx
index 22e0b81e19b6..7d611ab10a52 100644
--- a/cppu/qa/cppumaker/test_cppumaker.cxx
+++ b/cppu/qa/cppumaker/test_cppumaker.cxx
@@ -474,8 +474,7 @@ void Test::testBigStruct() {
 
 void Test::testPolyStruct() {
 CPPUNIT_ASSERT_EQUAL(
-OUString(
-"test.codemaker.cppumaker.Struct"),
+u"test.codemaker.cppumaker.Struct"_ustr,
 (css::uno::Any(
 test::codemaker::cppumaker::Struct< sal_Unicode, sal_Int16 >()).
  getValueType().getTypeName()));
@@ -494,7 +493,7 @@ void Test::testExceptions() {
 aEmptySequence;
 
 test::codemaker::cppumaker::TestException1 e11(
-"abc", nullptr, 1,
+u"abc"_ustr, nullptr, 1,
 css::uno::Any(123.0),
 test::codemaker::cppumaker::HelperEnum_ONE,
 test::codemaker::cppumaker::Struct(5, 
aEmptySequence), 2);
@@ -504,7 +503,7 @@ void Test::testExceptions() {
 e13 = e11;
 CPPUNIT_ASSERT_EQUAL(e11, e13);
 test::codemaker::cppumaker::TestException2 e21(
-"abc", nullptr, 1,
+u"abc"_ustr, nullptr, 1,
 css::uno::Any(123.0),
 test::codemaker::cppumaker::HelperEnum_ONE,
 test::codemaker::cppumaker::Struct(5, 
aEmptySequence), 2);
diff --git a/cppu/qa/test_any.cxx b/cppu/qa/test_any.cxx
index 757040314844..9b54462a5fd2 100644
--- a/cppu/qa/test_any.cxx
+++ b/cppu/qa/test_any.cxx
@@ -284,9 +284,9 @@ void Test::testVoid() {
 CPPUNIT_ASSERT_EQUAL_MESSAGE("sal_Unicode", u'2', b);
 }
 {
-OUString b("2");
+OUString b(u"2"_ustr);
 CPPUNIT_ASSERT_MESSAGE( "OUString", !(a >>= b) );
-CPPUNIT_ASSERT_EQUAL_MESSAGE( "OUString", OUString("2"), b );
+CPPUNIT_ASSERT_EQUAL_MESSAGE( "OUString", u"2"_ustr, b );
 }
 {
 css::uno::Type b(cppu::UnoType::get());
@@ -393,9 +393,9 @@ void Test::testBoolean() {
 CPPUNIT_ASSERT_EQUAL_MESSAGE("sal_Unicode", u'2', b);
 }
 {
-OUString b("2");
+OUString b(u"2"_ustr);
 CPPUNIT_ASSERT_MESSAGE( "OUString", !(a >>= b) );
-CPPUNIT_ASSERT_EQUAL_MESSAGE( "OUString", OUString("2"), b );
+CPPUNIT_ASSERT_EQUAL_MESSAGE( "OUString", u"2"_ustr, b );
 }
 {
 css::uno::Type b(cppu::UnoType::get());
@@ -504,9 +504,9 @@ void Test::testByte() {
 CPPUNIT_ASSERT_EQUAL_MESSAGE("sal_Unicode", u'2', b);
 }
 {
-OUString b("2");
+OUString b(u"2"_ustr);
 CPPUNIT_ASSERT_MESSAGE( "OUString", !(a >>= b) );
-CPPUNIT_ASSERT_EQUAL_MESSAGE( "OUString", OUString("2"), b );
+CPPUNIT_ASSERT_EQUAL_MESSAGE( "OUString", u"2"_ustr, b );
 }
 {
 css::uno::Type b(cppu::UnoType::get());
@@ -615,9 +615,9 @@ void Test::testShort() {
 CPPUNIT_ASSERT_EQUAL_MESSAGE("sal_Unicode", u'2', b);
 }
 {
-OUString b("2");
+OUString b(u"2"_ustr);
 CPPUNIT_ASSERT_MESSAGE( "OUString", !(a >>= b) );
-

core.git: sw/inc sw/Library_sw_writerfilter.mk sw/source

2024-04-27 Thread Noel Grandin (via logerrit)
 sw/Library_sw_writerfilter.mk|1 
 sw/inc/unotxdoc.hxx  |3 +
 sw/source/uibase/uno/SwXDocumentSettings.hxx |4 +
 sw/source/uibase/uno/unotxdoc.cxx|7 ++
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx |7 +-
 sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx |6 +-
 sw/source/writerfilter/dmapper/SettingsTable.cxx |   49 +++
 sw/source/writerfilter/dmapper/SettingsTable.hxx |4 +
 sw/source/writerfilter/filter/WriterFilter.cxx   |4 -
 9 files changed, 46 insertions(+), 39 deletions(-)

New commits:
commit 87e0feafd3690a9b58890cc28f8ba0c521bfb557
Author: Noel Grandin 
AuthorDate: Wed Apr 24 12:11:46 2024 +0200
Commit: Noel Grandin 
CommitDate: Sat Apr 27 12:47:57 2024 +0200

use more concrete UNO classes in writerfilter (SwXDocumentSettings)

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

diff --git a/sw/Library_sw_writerfilter.mk b/sw/Library_sw_writerfilter.mk
index 447752dabd43..3be1a2d937c6 100644
--- a/sw/Library_sw_writerfilter.mk
+++ b/sw/Library_sw_writerfilter.mk
@@ -20,6 +20,7 @@ $(eval $(call 
gb_Library_set_precompiled_header,sw_writerfilter,sw/inc/pch/preco
 $(eval $(call gb_Library_set_include,sw_writerfilter,\
 $$(INCLUDE) \
 -I$(SRCDIR)/sw/inc \
+-I$(SRCDIR)/sw/source/uibase/uno/ \
 -I$(SRCDIR)/sw/source/writerfilter/inc \
 -I$(SRCDIR)/sw/source/writerfilter \
 ))
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 018784174cbb..ab655c6019c4 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -105,6 +105,7 @@ class SwXLineNumberingProperties;
 class SwXReferenceMarks;
 class SwXLinkTargetSupplier;
 class SwXRedlines;
+class SwXDocumentSettings;
 namespace com::sun::star::container { class XNameContainer; }
 namespace com::sun::star::frame { class XController; }
 namespace com::sun::star::lang { struct Locale; }
@@ -506,6 +507,8 @@ public:
 css::uno::Reference< 
css::uno::XInterface > const & xLastResult);
 
 SwDocShell* GetDocShell() {return m_pDocShell;}
+
+SW_DLLPUBLIC rtl::Reference createDocumentSettings();
 };
 
 class SwXLinkTargetSupplier final : public cppu::WeakImplHelper
diff --git a/sw/source/uibase/uno/SwXDocumentSettings.hxx 
b/sw/source/uibase/uno/SwXDocumentSettings.hxx
index 3d722e40ba80..067e2e8fbc1b 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.hxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.hxx
@@ -19,7 +19,9 @@
 
 #pragma once
 
+#include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -30,7 +32,7 @@ class SwDocShell;
 class SwDoc;
 class SfxPrinter;
 
-class SwXDocumentSettings final :
+class SW_DLLPUBLIC SwXDocumentSettings final :
 public comphelper::MasterPropertySet,
 public css::lang::XServiceInfo,
 public css::lang::XTypeProvider,
diff --git a/sw/source/uibase/uno/unotxdoc.cxx 
b/sw/source/uibase/uno/unotxdoc.cxx
index d2641b6c4db4..f93d7438f363 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -1652,6 +1652,13 @@ css::uno::Reference 
SwXTextDocument::create(
 return xTmp;
 }
 
+rtl::Reference< SwXDocumentSettings > SwXTextDocument::createDocumentSettings()
+{
+SolarMutexGuard aGuard;
+ThrowIfInvalid();
+return new SwXDocumentSettings(this);
+}
+
 Reference< XInterface >  SwXTextDocument::createInstance(const OUString& 
rServiceName)
 {
 return create(rServiceName, nullptr);
diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
index aab27ef1a4bc..c9f8e4d2b077 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
@@ -132,6 +132,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #define REFFLDFLAG_STYLE_FROM_BOTTOM 0xc100
 #define REFFLDFLAG_STYLE_HIDE_NON_NUMERICAL 0xc200
@@ -523,11 +524,11 @@ uno::Reference< text::XText > const & 
DomainMapper_Impl::GetBodyText()
 }
 
 
-uno::Reference< beans::XPropertySet > const & 
DomainMapper_Impl::GetDocumentSettings()
+rtl::Reference const & 
DomainMapper_Impl::GetDocumentSettings()
 {
 if( !m_xDocumentSettings.is() && m_xTextDocument.is())
 {
-m_xDocumentSettings.set( 
m_xTextDocument->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY );
+m_xDocumentSettings = m_xTextDocument->createDocumentSettings();
 }
 return m_xDocumentSettings;
 }
@@ -9592,7 +9593,7 @@ void DomainMapper_Impl::ApplySettingsTable()
 m_xTextDocument->setViewData(xBox);
 }
 
-uno::Reference< beans::XPropertySet > 
xSettings(m_xTextDocument->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY);
+rtl::Reference 

core.git: config_host.mk.in configure.ac

2024-04-27 Thread Christian Lohmaier (via logerrit)
 config_host.mk.in |6 +++---
 configure.ac  |   12 +++-
 2 files changed, 10 insertions(+), 8 deletions(-)

New commits:
commit 9d7548dafb44c1f0af82771a597db1404659af66
Author: Christian Lohmaier 
AuthorDate: Fri Apr 26 13:03:49 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Sat Apr 27 10:16:39 2024 +0200

fix some hardcoded use of wsl.exe and fix some typos

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

diff --git a/config_host.mk.in b/config_host.mk.in
index 70d73f0a32f5..3ffe88380180 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -792,8 +792,8 @@ include @SRC_ROOT@/download.lst
 
 KEEP_AWAKE_CMD=@KEEP_AWAKE_CMD@
 
-# prep for WSL-as-helper-builds where build runs from within git-bash/MSYS 
that would otherwise
-# messes with anything that looks like a path (starts with /) but it cannot 
resolve
+# used for WSL-as-helper-builds where the build runs from within git-bash/MSYS 
that otherwise would
+# mess with anything that looks like a path (starts with a /) but cannot be 
resolved to a target
 export MSYS_NO_PATHCONV=1
 STRAWBERRY_PERL=@STRAWBERRY_PERL@
-WSL=@WSL@
\ No newline at end of file
+WSL=@WSL@
diff --git a/configure.ac b/configure.ac
index 1650686382ef..e04f4a846642 100644
--- a/configure.ac
+++ b/configure.ac
@@ -337,7 +337,8 @@ if test -n "$WSL_DISTRO_NAME" && $(echo $PATH |grep -q 
mingw64); then
 STRAWBERRY_PERL="$formatted_path/perl/bin/perl.exe"
 AC_ARG_WITH([wsl-command],
 [AS_HELP_STRING([--with-wsl-command],
-[Specify your wsl distro command if it isn't the default/the one 
used with just wsl.exe])],
+[Specify your wsl distro command if it isn't the default/the one 
used with just wsl.exe –
+ for example: wsl.exe -d MyDistro -u NonDefaultUser])],
 [],
 [with_wsl_command="wsl.exe"])
 WSL="$with_wsl_command"
@@ -15468,10 +15469,11 @@ if test -n "$WSL_ONLY_AS_HELPER"; then
 PERL="perl.exe"
 # use flex, gperf and nasm from wsl-container
 # if using absolute path, would need to use double-leading slash for the 
msys path mangling
-FLEX="wsl.exe $FLEX"
-NASM="wsl.exe $NASM"
-# some externals (libebook) checks with AC_PATH_PROGS, and that requires 
argument to begin with slash...
-GPERF="/c/Windows/system32/wsl.exe gperf"
+FLEX="$WSL $FLEX"
+NASM="$WSL $NASM"
+# some externals (libebook) check for it with AC_PATH_PROGS, and that only 
accepts overrides
+# with an absolute path/requires the value to begin with a slash
+GPERF="/c/Windows/system32/$WSL gperf"
 # append strawberry tools dir to PATH (for e.g. windres, ar)
 LO_PATH="$LO_PATH:$STRAWBERRY_TOOLS"
 # temp-dir needs to be in windows realm, hardcode for now


core.git: cui/uiconfig

2024-04-27 Thread Samuel Mehrbrodt (via logerrit)
 cui/uiconfig/ui/hyperlinkdialog.ui |  222 ++---
 1 file changed, 63 insertions(+), 159 deletions(-)

New commits:
commit 535391b31abafb02e5a4451e30a14a5605d05ff4
Author: Samuel Mehrbrodt 
AuthorDate: Fri Apr 26 10:09:06 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Sat Apr 27 09:29:14 2024 +0200

Save with newer Glade version

Change-Id: If36d812ba976bc3331086b5beb5493f20c0556ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166701
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Jenkins

diff --git a/cui/uiconfig/ui/hyperlinkdialog.ui 
b/cui/uiconfig/ui/hyperlinkdialog.ui
index c598e02093e4..b8819f74d31a 100644
--- a/cui/uiconfig/ui/hyperlinkdialog.ui
+++ b/cui/uiconfig/ui/hyperlinkdialog.ui
@@ -1,33 +1,33 @@
 
-
+
 
   
   
-False
+False
 True
 True
-6
+6
 Hyperlink
-0
-0
-dialog
+0
+0
+dialog
 
   
-False
+False
 True
 True
 vertical
 6
 
   
-False
-end
+False
+end
 
   
 Reset
 True
-True
-True
+True
+True
 
   
 Resets the 
entries in the dialog to their original state.
@@ -44,8 +44,8 @@
   
 Apply
 True
-True
-True
+True
+True
 
   
 Applies the 
data to your document.
@@ -62,10 +62,10 @@
   
 _OK
 True
-True
-True
-True
-True
+True
+True
+True
+True
 True
   
   
@@ -78,8 +78,8 @@
   
 _Cancel
 True
-True
-True
+True
+True
 True
 
   
@@ -97,8 +97,8 @@
   
 _Help
 True
-True
-True
+True
+True
 True
   
   
@@ -112,46 +112,22 @@
   
 False
 True
-end
+end
 0
   
 
 
   
 True
-True
+True
 True
 True
-left
+left
 
   
   
 True
-False
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
+False
 
   
 
@@ -160,14 +136,14 @@
 
   
 True
-False
+False
 vertical
 
   
 True
-False
-This is where you 
create a hyperlink to a Web page.
-res/hlinettp.png
+False
+This is where you 
create a hyperlink to a Web page.
+res/hlinettp.png
 6
   
   
@@ -179,10 +155,10 @@
 
   
 True
-False
+False
 _Internet
-True
-internet
+True
+internet
   
   
 False
@@ -192,38 +168,14 @@
 
   
   
-False
+False
   
 
 
   
   
 True
-False
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
+False
 
   
 

core.git: xmlsecurity/source

2024-04-27 Thread Moritz Duge (via logerrit)
 xmlsecurity/source/gpg/CertificateImpl.cxx |   60 +
 xmlsecurity/source/gpg/CertificateImpl.hxx |3 -
 xmlsecurity/source/gpg/SecurityEnvironment.cxx |4 -
 xmlsecurity/source/gpg/SecurityEnvironment.hxx |2 
 4 files changed, 37 insertions(+), 32 deletions(-)

New commits:
commit 906e5d44f26e97830c0d005c12521a22002c01b5
Author: Moritz Duge 
AuthorDate: Fri Apr 26 10:07:54 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Sat Apr 27 08:29:15 2024 +0200

Lazy load additional GPG key data.

Change-Id: I7f52b318b083535422202dacbee928333cb3ac78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166639
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 

diff --git a/xmlsecurity/source/gpg/CertificateImpl.cxx 
b/xmlsecurity/source/gpg/CertificateImpl.cxx
index 697b2d67c6f8..894c924a9840 100644
--- a/xmlsecurity/source/gpg/CertificateImpl.cxx
+++ b/xmlsecurity/source/gpg/CertificateImpl.cxx
@@ -119,6 +119,36 @@ Reference< XCertificateExtension > SAL_CALL 
CertificateImpl::findCertificateExte
 
 Sequence< sal_Int8 > SAL_CALL CertificateImpl::getEncoded()
 {
+if (m_aBits.hasElements())
+return m_aBits;
+
+// lazy init: extract key data, store into m_aBits
+GpgME::Data data_out;
+m_pContext->setArmor(false); // caller will base64-encode anyway
+GpgME::Error err = m_pContext->exportPublicKeys(  // "exportPublicKeys" is 
slow!
+m_pKey.primaryFingerprint(),
+data_out,
+officecfg::Office::Common::Security::OpenPGP::MinimalKeyExport::get()
+ ? GpgME::Context::ExportMinimal : 0
+);
+
+if (err)
+throw RuntimeException("The GpgME library failed to retrieve the 
public key");
+
+off_t result = data_out.seek(0,SEEK_SET);
+(void) result;
+assert(result == 0);
+int len=0, curr=0; char buf;
+while( (curr=data_out.read(, 1)) )
+len += curr;
+
+// write bits to sequence of bytes
+m_aBits.realloc(len);
+result = data_out.seek(0,SEEK_SET);
+assert(result == 0);
+if( data_out.read(m_aBits.getArray(), len) != len )
+throw RuntimeException("The GpgME library failed to read the key");
+
 // Export key to base64Empty for gpg
 return m_aBits;
 }
@@ -190,36 +220,10 @@ sal_Int32 SAL_CALL CertificateImpl::getCertificateUsage()
 return KeyUsage::DIGITAL_SIGNATURE | KeyUsage::NON_REPUDIATION  | 
KeyUsage::KEY_ENCIPHERMENT | KeyUsage::DATA_ENCIPHERMENT;
 }
 
-void CertificateImpl::setCertificate(GpgME::Context* ctx, const GpgME::Key& 
key)
+void CertificateImpl::setCertificate(std::shared_ptr ctx, 
const GpgME::Key& key)
 {
 m_pKey = key;
-
-// extract key data, store into m_aBits
-GpgME::Data data_out;
-ctx->setArmor(false); // caller will base64-encode anyway
-GpgME::Error err = ctx->exportPublicKeys(
-key.primaryFingerprint(),
-data_out,
-officecfg::Office::Common::Security::OpenPGP::MinimalKeyExport::get()
- ? GpgME::Context::ExportMinimal : 0
-);
-
-if (err)
-throw RuntimeException("The GpgME library failed to retrieve the 
public key");
-
-off_t result = data_out.seek(0,SEEK_SET);
-(void) result;
-assert(result == 0);
-int len=0, curr=0; char buf;
-while( (curr=data_out.read(, 1)) )
-len += curr;
-
-// write bits to sequence of bytes
-m_aBits.realloc(len);
-result = data_out.seek(0,SEEK_SET);
-assert(result == 0);
-if( data_out.read(m_aBits.getArray(), len) != len )
-throw RuntimeException("The GpgME library failed to read the key");
+m_pContext = ctx;
 }
 
 const GpgME::Key* CertificateImpl::getCertificate() const
diff --git a/xmlsecurity/source/gpg/CertificateImpl.hxx 
b/xmlsecurity/source/gpg/CertificateImpl.hxx
index b0856ca0109f..d15dec47a058 100644
--- a/xmlsecurity/source/gpg/CertificateImpl.hxx
+++ b/xmlsecurity/source/gpg/CertificateImpl.hxx
@@ -36,6 +36,7 @@ class CertificateImpl : public cppu::WeakImplHelper< 
css::security::XCertificate
 {
 private:
 GpgME::Key m_pKey;
+std::shared_ptr m_pContext;
 css::uno::Sequence< sal_Int8 > m_aBits;
 
 public:
@@ -81,7 +82,7 @@ public:
 virtual css::security::CertificateKind SAL_CALL getCertificateKind() 
override;
 
 // Helper methods
-void setCertificate(GpgME::Context* ctx, const GpgME::Key& key);
+void setCertificate(std::shared_ptr ctx, const GpgME::Key& 
key);
 const GpgME::Key* getCertificate() const;
 
 // XServiceInfo
diff --git a/xmlsecurity/source/gpg/SecurityEnvironment.cxx 
b/xmlsecurity/source/gpg/SecurityEnvironment.cxx
index db36415591ff..1fed32d5399e 100644
--- a/xmlsecurity/source/gpg/SecurityEnvironment.cxx
+++ b/xmlsecurity/source/gpg/SecurityEnvironment.cxx
@@ -119,7 +119,7 @@ Sequence< Reference < XCertificate > > 
SecurityEnvironmentGpg::getCertificatesIm
 int i = 0;
 for (auto const& key : keyList) {
 rtl::Reference xCert = new CertificateImpl();
-

core.git: xmlsecurity/source

2024-04-27 Thread Moritz Duge (via logerrit)
 xmlsecurity/source/gpg/SecurityEnvironment.cxx |   13 -
 1 file changed, 4 insertions(+), 9 deletions(-)

New commits:
commit 7c0a776f3a26adc3e83d304990b05133d77d05a8
Author: Moritz Duge 
AuthorDate: Fri Apr 26 10:07:53 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Sat Apr 27 08:26:52 2024 +0200

Locally simplify getCertificatesImpl.

Change-Id: I13117b36bb063b0afc498ef237b9255c0a900131
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166638
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Jenkins

diff --git a/xmlsecurity/source/gpg/SecurityEnvironment.cxx 
b/xmlsecurity/source/gpg/SecurityEnvironment.cxx
index fb105ef5449f..db36415591ff 100644
--- a/xmlsecurity/source/gpg/SecurityEnvironment.cxx
+++ b/xmlsecurity/source/gpg/SecurityEnvironment.cxx
@@ -99,7 +99,6 @@ OUString 
SecurityEnvironmentGpg::getSecurityEnvironmentInformation()
 Sequence< Reference < XCertificate > > 
SecurityEnvironmentGpg::getCertificatesImpl( bool bPrivateOnly )
 {
 std::vector< GpgME::Key > keyList;
-std::vector< rtl::Reference > certsList;
 
 m_ctx->setKeyListMode(GPGME_KEYLIST_MODE_LOCAL);
 GpgME::Error err = m_ctx->startKeyListing("", bPrivateOnly );
@@ -115,17 +114,13 @@ Sequence< Reference < XCertificate > > 
SecurityEnvironmentGpg::getCertificatesIm
 }
 m_ctx->endKeyListing();
 
+Sequence< Reference< XCertificate > > xCertificateSequence(keyList.size());
+auto xCertificateSequenceRange = asNonConstRange(xCertificateSequence);
+int i = 0;
 for (auto const& key : keyList) {
 rtl::Reference xCert = new CertificateImpl();
 xCert->setCertificate(m_ctx.get(),key);
-certsList.push_back(xCert);
-}
-
-Sequence< Reference< XCertificate > > 
xCertificateSequence(certsList.size());
-auto xCertificateSequenceRange = asNonConstRange(xCertificateSequence);
-int i = 0;
-for (const auto& cert : certsList) {
-xCertificateSequenceRange[i++] = cert;
+xCertificateSequenceRange[i++] = xCert;  // fills xCertificateSequence
 }
 
 return xCertificateSequence;


core.git: sw/qa xmloff/source

2024-04-26 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/odfexport/data/midnight_redline.fodt |   19 +++
 sw/qa/extras/odfexport/odfexport2.cxx |   15 +++
 xmloff/source/text/XMLRedlineExport.cxx   |4 ++--
 3 files changed, 36 insertions(+), 2 deletions(-)

New commits:
commit 60f65e63b4b52891c7725a151f3aeedc3a9de4ac
Author: Mike Kaganski 
AuthorDate: Fri Apr 26 19:17:09 2024 +0500
Commit: Mike Kaganski 
CommitDate: Sat Apr 27 06:21:58 2024 +0200

Fix dc:date export for midnight time

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

diff --git a/sw/qa/extras/odfexport/data/midnight_redline.fodt 
b/sw/qa/extras/odfexport/data/midnight_redline.fodt
new file mode 100644
index ..9d75a32f811c
--- /dev/null
+++ b/sw/qa/extras/odfexport/data/midnight_redline.fodt
@@ -0,0 +1,19 @@
+
+
+http://purl.org/dc/elements/1.1/; 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+ 
+  
+   
+
+ 
+  
+   John Doe
+   2001-01-01T00:00:00
+  
+ 
+
+   
+   Deleted 
text
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/odfexport/odfexport2.cxx 
b/sw/qa/extras/odfexport/odfexport2.cxx
index 01016b5b8ad2..d196dc3d 100644
--- a/sw/qa/extras/odfexport/odfexport2.cxx
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
@@ -1609,6 +1609,21 @@ CPPUNIT_TEST_FIXTURE(Test, 
testDeletedTableAutostylesExport)
 loadAndReload("deleted_table.fodt");
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testMidnightRedlineDatetime)
+{
+// Given a document with a tracked change with a midnight datetime:
+// make sure that it succeeds export and import validation. Before the 
fix, this failed:
+// - Error: "2001-01-01" does not satisfy the "dateTime" type
+// because "2001-01-01T00:00:00" became "2001-01-01" on roundtrip.
+loadAndReload("midnight_redline.fodt");
+
+xmlDocUniquePtr pXmlDoc = parseExport("content.xml");
+assertXPathContent(pXmlDoc,
+   
"//office:body/office:text/text:tracked-changes/text:changed-region/"
+   "text:deletion/office:change-info/dc:date"_ostr,
+   u"2001-01-01T00:00:00"_ustr);
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/xmloff/source/text/XMLRedlineExport.cxx 
b/xmloff/source/text/XMLRedlineExport.cxx
index 69664f818644..bff3a772779b 100644
--- a/xmloff/source/text/XMLRedlineExport.cxx
+++ b/xmloff/source/text/XMLRedlineExport.cxx
@@ -469,7 +469,7 @@ void XMLRedlineExport::ExportChangeInfo(
 OUStringBuffer sBuf;
 ::sax::Converter::convertDateTime(sBuf, bRemovePersonalInfo
 ? util::DateTime(0, 0, 0, 0, 1, 1, 1970, true) // Epoch time
-: aDateTime, nullptr);
+: aDateTime, nullptr, true);
 SvXMLElementExport aDateElem( rExport, XML_NAMESPACE_DC,
   XML_DATE, true,
   false );
@@ -521,7 +521,7 @@ void XMLRedlineExport::ExportChangeInfo(
 OUStringBuffer sBuf;
 ::sax::Converter::convertDateTime(sBuf, bRemovePersonalInfo
 ? util::DateTime(0, 0, 0, 0, 1, 1, 
1970, true) // Epoch time
-: aDateTime, nullptr);
+: aDateTime, nullptr, true);
 SvXMLElementExport aDateElem( rExport, XML_NAMESPACE_DC,
   XML_DATE, true,
   false );


core.git: config_host.mk.in configure.ac Makefile.in

2024-04-26 Thread Christian Lohmaier (via logerrit)
 Makefile.in   |   16 
 config_host.mk.in |2 ++
 configure.ac  |   41 +
 3 files changed, 51 insertions(+), 8 deletions(-)

New commits:
commit f5c3ec505b83a20d272a66305bca565e9ff38b04
Author: Christian Lohmaier 
AuthorDate: Fri Apr 26 14:49:59 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 23:10:22 2024 +0200

add --with-keep-awake switch to prevent going into sleep/suspend

if used defaults to Awake for Windows and caffeinate for macOS

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

diff --git a/Makefile.in b/Makefile.in
index f55e92c94405..ac3e8aafb529 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -91,19 +91,19 @@ define gb_Top_GbuildModuleRules
 .PHONY: $(1).allbuild $(1).buildall $(1).allcheck $(1).checkall
 
 $(1): bootstrap fetch
-   cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS)
+   $(KEEP_AWAKE_CMD) cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) 
$(GMAKE_OPTIONS)
 
 $(1).build $(1).check $(1).coverage $(foreach 
target,$(gb_Top_MODULE_CHECK_TARGETS),$(1).$(target)): bootstrap fetch
-   cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) 
$$(patsubst $(1).%,%,$$@)
+   $(KEEP_AWAKE_CMD) cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) 
$(GMAKE_OPTIONS) $$(patsubst $(1).%,%,$$@)
 
 $(1).clean $(1).showdeliverables:
cd $(SRCDIR)/$(2) && $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) 
$$(patsubst $(1).%,%,$$@)
 
 $(1).allbuild $(1).buildall: bootstrap fetch
-   $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1)
+   $(KEEP_AWAKE_CMD) $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1)
 
 $(1).allcheck $(1).checkall: bootstrap fetch
-   $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) 
$(WORKDIR)/Module/slowcheck/$(1)
+   $(KEEP_AWAKE_CMD) $$(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) 
$(WORKDIR)/Module/slowcheck/$(1)
 
 $(1).all:
@echo "'make $(1).all' was renamed to 'make $(1).allcheck' (or use 
'make $(1).allbuild' to build without unit tests)"
@@ -170,10 +170,10 @@ gbuild_TARGETS := AllLangHelp \
 
 # build a generic gbuild target
 $(foreach target,$(gbuild_TARGETS),$(target)_% $(foreach 
module,$(gbuild_modules),$(target)_$(module)/%)) UIConfig_modules/% %.genpatch: 
bootstrap fetch
-   $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
 
 $(gbuild_TARGETS):
-   $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $@
 
 #
 # Clean
@@ -291,9 +291,9 @@ bootstrap: check-if-root compilerplugins
 #
 build: bootstrap fetch $(if 
$(CROSS_COMPILING),cross-toolset,install-gdb-printers) \
 $(if $(filter check,$(MAKECMDGOALS)),$(if $(COMPILER_PLUGINS),$(if 
$(LODE_HOME),clang-format-check)))
-   $(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) $(GMAKE_OPTIONS) -f 
$(SRCDIR)/Makefile.gbuild $(build_goal)
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(IWYU_OPTION) 
$(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild $(build_goal)
 ifeq ($(OS),iOS)
-   $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) ios
+   $(KEEP_AWAKE_CMD) $(MAKE) $(PARALLELISM_OPTION) $(GMAKE_OPTIONS) ios
 endif
 
 build-non-l10n-only build-l10n-only check debugrun translations packageinfo 
coverage $(gb_Top_MODULE_CHECK_TARGETS): build
diff --git a/config_host.mk.in b/config_host.mk.in
index 1d5480bacf61..70d73f0a32f5 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -790,6 +790,8 @@ include $(BUILDDIR)/config_$(gb_Side)_lang.mk
 # does use some of the variables defined above
 include @SRC_ROOT@/download.lst
 
+KEEP_AWAKE_CMD=@KEEP_AWAKE_CMD@
+
 # prep for WSL-as-helper-builds where build runs from within git-bash/MSYS 
that would otherwise
 # messes with anything that looks like a path (starts with /) but it cannot 
resolve
 export MSYS_NO_PATHCONV=1
diff --git a/configure.ac b/configure.ac
index 4263116f894b..1650686382ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2810,6 +2810,13 @@ AC_ARG_WITH(gtk3-build,
 [(Windows-only) In order to build GtkTiledViewer on Windows, pass the 
path
  to a GTK3 build, like 
'--with-gtk3-build=C:/gtk-build/gtk/x64/release'.]))
 
+AC_ARG_WITH(keep-awake,
+AS_HELP_STRING([--with-keep-awake],
+[command to prefix make with in order to prevent the system from going 
to sleep/suspend
+ while 

core.git: bin/odfvalidator.sh.in bin/officeotron.sh.in configure.ac

2024-04-26 Thread Stephan Bergmann (via logerrit)
 bin/odfvalidator.sh.in |2 +-
 bin/officeotron.sh.in  |2 +-
 configure.ac   |3 +++
 3 files changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 9add00445618057e16e0b7cf48c10bae255d49d2
Author: Stephan Bergmann 
AuthorDate: Fri Apr 26 10:51:47 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Apr 26 22:29:52 2024 +0200

Make odfvalidator and officeotron work in WSL_ONLY_AS_HELPER mode

...where e.g. CppunitTest_oox_testscene3d
CPPUNIT_TEST_NAME=test_material_wireframe::TestBody had failed with

> forced failure
> - Error: Unable to access jarfile 
/mnt/d/lo/tar/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar

and e.g. CppunitTest_oox_mcgr
CPPUNIT_TEST_NAME=testAxialColorLinearTrans::TestBody had failed with

> equality assertion failed
> - Expected: 0
> - Actual  : 1
> - failed to execute: sh D:/lo-wsl/core/bin/officeotron.sh 
C:\Users\steph\AppData\Local\Temp   est_oox_mcgr.dll2epgul.tmp > 
C:\Users\steph\AppData\Local\Temp  est_oox_mcgr.dll2epgup.tmp 2>&1
> Error: Unable to access jarfile 
/mnt/d/lo/tar/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar

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

diff --git a/bin/odfvalidator.sh.in b/bin/odfvalidator.sh.in
index 605e74731f20..99b2207ad138 100644
--- a/bin/odfvalidator.sh.in
+++ b/bin/odfvalidator.sh.in
@@ -1,2 +1,2 @@
 #!/usr/bin/env bash
-java 
-Djavax.xml.validation.SchemaFactory:http://relaxng.org/ns/structure/1.0=org.iso_relax.verifier.jaxp.validation.RELAXNGSchemaFactoryImpl
 
-Dorg.iso_relax.verifier.VerifierFactoryLoader=com.sun.msv.verifier.jarv.FactoryLoaderImpl
 -jar @TARFILE_LOCATION@/@ODFVALIDATOR_JAR@ "$@"
+java 
-Djavax.xml.validation.SchemaFactory:http://relaxng.org/ns/structure/1.0=org.iso_relax.verifier.jaxp.validation.RELAXNGSchemaFactoryImpl
 
-Dorg.iso_relax.verifier.VerifierFactoryLoader=com.sun.msv.verifier.jarv.FactoryLoaderImpl
 -jar @TARFILE_LOCATION_NATIVE@/@ODFVALIDATOR_JAR@ "$@"
diff --git a/bin/officeotron.sh.in b/bin/officeotron.sh.in
index 7281f1bcd17c..935ec5809cdd 100644
--- a/bin/officeotron.sh.in
+++ b/bin/officeotron.sh.in
@@ -1,2 +1,2 @@
 #!/usr/bin/env bash
-java -jar @TARFILE_LOCATION@/@OFFICEOTRON_JAR@ "$@"
+java -jar @TARFILE_LOCATION_NATIVE@/@OFFICEOTRON_JAR@ "$@"
diff --git a/configure.ac b/configure.ac
index 6c2cd76b904a..4263116f894b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6299,7 +6299,10 @@ else
 PathFormat "${absolute_path}"
 TARFILE_LOCATION="${formatted_path_unix}"
 fi
+PathFormat "$TARFILE_LOCATION"
+TARFILE_LOCATION_NATIVE="$formatted_path"
 AC_SUBST(TARFILE_LOCATION)
+AC_SUBST(TARFILE_LOCATION_NATIVE)
 
 AC_MSG_CHECKING([whether we want to fetch tarballs])
 if test "$enable_fetch_external" != "no"; then


core.git: solenv/gbuild

2024-04-26 Thread Christian Lohmaier (via logerrit)
 solenv/gbuild/Trace.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a1e5496e4daf469840d5bcc31fede4d4d66aebfe
Author: Christian Lohmaier 
AuthorDate: Fri Apr 26 14:53:17 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 21:44:23 2024 +0200

gbuild trace: disable flock for wsl-as-helper case

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

diff --git a/solenv/gbuild/Trace.mk b/solenv/gbuild/Trace.mk
index a92f842e1dec..d1cba301469e 100644
--- a/solenv/gbuild/Trace.mk
+++ b/solenv/gbuild/Trace.mk
@@ -37,7 +37,7 @@ ifneq ($(gb_TRACE),)
 gb_Trace_Timestamp := $(if $(filter MACOSX,$(OS)),$$(date 
+%s)0,$$(date +%s%N))
 # macOS also doesn't provide flock, so skip that part on mac
 # The (flock;cat) part is to minimize lock time.
-gb_Trace_Flock := $(if $(filter MACOSX,$(OS)),,| ( flock 1; cat ))
+gb_Trace_Flock := $(if $(MSYSTEM)$(filter MACOSX,$(OS)),,| ( flock 1; cat ))
 # call gb_Trace_AddMark,marktype,detail,type,extra
 define gb_Trace__AddMark
 echo "{\"name\": \"$(3)\", \"ph\": \"$(1)\", \"pid\": 1, \"tid\": 1, \"ts\": 
$(gb_Trace_Timestamp),\"args\":{\"message\":\"[$(3)]: $(2)\"}}," 
$(gb_Trace_Flock) >>$(gb_TRACE)


core.git: sal/osl sal/qa sal/rtl

2024-04-26 Thread Noel Grandin (via logerrit)
 sal/osl/unx/backtraceapi.cxx  |6 
 sal/osl/unx/file_url.cxx  |2 
 sal/osl/unx/pipe.cxx  |2 
 sal/qa/osl/file/osl_File.cxx  |4 
 sal/qa/osl/file/osl_File_Const.h  |   66 
++--
 sal/qa/osl/file/osl_old_test_file.cxx |6 
 sal/qa/osl/getsystempathfromfileurl/test-getsystempathfromfileurl.cxx |   50 
+--
 sal/qa/osl/module/osl_Module.cxx  |8 
 sal/qa/osl/process/osl_process.cxx|   10 
 sal/qa/osl/profile/osl_old_testprofile.cxx|2 
 sal/qa/osl/socket.cxx |2 
 sal/qa/rtl/alloc/rtl_alloc.cxx|2 
 sal/qa/rtl/bootstrap/expand.cxx   |   14 
 sal/qa/rtl/doublelock/rtl_doublelocking.cxx   |4 
 sal/qa/rtl/locale/rtl_locale.cxx  |   12 
 sal/qa/rtl/math/test-rtl-math.cxx |   62 
++--
 sal/qa/rtl/oustring/rtl_OUString2.cxx |  100 
+++---
 sal/qa/rtl/oustring/rtl_ustr.cxx  |  128 

 sal/qa/rtl/oustringbuffer/test_oustringbuffer_assign.cxx  |6 
 sal/qa/rtl/oustringbuffer/test_oustringbuffer_tostring.cxx|6 
 sal/qa/rtl/process/rtl_Process_Const.h|8 
 sal/qa/rtl/strings/test_ostring_concat.cxx|6 
 sal/qa/rtl/strings/test_oustring_compare.cxx  |   16 -
 sal/qa/rtl/strings/test_oustring_concat.cxx   |   90 
++---
 sal/qa/rtl/strings/test_oustring_startswith.cxx   |6 
 sal/qa/rtl/strings/test_strings_defaultstringview.cxx |   77 
++---
 sal/qa/rtl/strings/test_strings_replace.cxx   |  154 
+-
 sal/rtl/bootstrap.cxx |   16 -
 28 files changed, 428 insertions(+), 437 deletions(-)

New commits:
commit 752ea376b0a1ee50c97ecc061d8bc507416838d0
Author: Noel Grandin 
AuthorDate: Fri Apr 26 14:01:07 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Apr 26 21:41:38 2024 +0200

loplugin:ostr in sal

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

diff --git a/sal/osl/unx/backtraceapi.cxx b/sal/osl/unx/backtraceapi.cxx
index 4c1f25b886ae..008b5f5c7092 100644
--- a/sal/osl/unx/backtraceapi.cxx
+++ b/sal/osl/unx/backtraceapi.cxx
@@ -76,16 +76,16 @@ void process_file_addr2line( const char* file, 
std::vector& frameData
 {
 if(access( file, R_OK ) != 0)
 return; // cannot read info from the binary file anyway
-OUString binary("addr2line");
+OUString binary(u"addr2line"_ustr);
 OUString dummy;
 #if defined __clang__
 // llvm-addr2line is faster than addr2line
-if(osl::detail::find_in_PATH("llvm-addr2line", dummy))
+if(osl::detail::find_in_PATH(u"llvm-addr2line"_ustr, dummy))
 binary = "llvm-addr2line";
 #endif
 if(!osl::detail::find_in_PATH(binary, dummy))
 return; // Will not work, avoid warnings from osl process code.
-OUString arg1("-Cfe");
+OUString arg1(u"-Cfe"_ustr);
 OUString arg2 = OUString::fromUtf8(file);
 std::vector addrs;
 std::vector args;
diff --git a/sal/osl/unx/file_url.cxx b/sal/osl/unx/file_url.cxx
index be98df95f14e..ffb1559356a8 100644
--- a/sal/osl/unx/file_url.cxx
+++ b/sal/osl/unx/file_url.cxx
@@ -732,7 +732,7 @@ namespace osl::detail {
 bool find_in_PATH(const OUString& file_path, OUString& result)
 {
 bool bfound = false;
-OUString path("PATH");
+OUString path(u"PATH"_ustr);
 OUString env_path;
 
 if (osl_getEnvironment(path.pData, _path.pData) == 
osl_Process_E_None)
diff --git a/sal/osl/unx/pipe.cxx b/sal/osl/unx/pipe.cxx
index 4dfd75ddf662..618ca23ed108 100644
--- a/sal/osl/unx/pipe.cxx
+++ b/sal/osl/unx/pipe.cxx
@@ -132,7 +132,7 @@ getBootstrapSocketPath()
 {
 OUString pValue;
 
-if (rtl::Bootstrap::get("OSL_SOCKET_PATH", pValue))
+if (rtl::Bootstrap::get(u"OSL_SOCKET_PATH"_ustr, pValue))
 {
 return OUStringToOString(pValue, RTL_TEXTENCODING_UTF8);
 }
diff --git a/sal/qa/osl/file/osl_File.cxx b/sal/qa/osl/file/osl_File.cxx
index 6b0c50dfafd8..159f32ad7410 100644
--- a/sal/qa/osl/file/osl_File.cxx
+++ b/sal/qa/osl/file/osl_File.cxx
@@ -4296,7 +4296,7 @@ namespace osl_Directory
 // open a directory
 auto nError1 = testDirectory.open();
 

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

2024-04-26 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/odfexport/data/deleted_table.fodt |   47 +
 sw/qa/extras/odfexport/odfexport2.cxx  |7 +++
 sw/source/filter/xml/xmlfmte.cxx   |6 ---
 xmloff/source/text/txtparae.cxx|3 +
 4 files changed, 57 insertions(+), 6 deletions(-)

New commits:
commit 105ce47a695cb7ea7e6abf879e1c632b7d81f054
Author: Mike Kaganski 
AuthorDate: Fri Apr 26 16:47:26 2024 +0500
Commit: Mike Kaganski 
CommitDate: Fri Apr 26 21:19:57 2024 +0200

Make sure that collecting redline autostyles succeeds

This step was called separately in SwXMLExport::ExportAutoStyles_,
after collectAutoStyles. collectTextAutoStylesAndNodeExportOrder
(which is called from collectAutoStyles) sets mbCollected to true,
and then all the code checking mbCollected/isAutoStylesCollected
stops collecting autostyles.

This moves exportTrackedChanges call to the place where all auto-
styles are collected.

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

diff --git a/sw/qa/extras/odfexport/data/deleted_table.fodt 
b/sw/qa/extras/odfexport/data/deleted_table.fodt
new file mode 100644
index ..830eb278ce18
--- /dev/null
+++ b/sw/qa/extras/odfexport/data/deleted_table.fodt
@@ -0,0 +1,47 @@
+
+
+http://openoffice.org/2004/office; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/; 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+ 
+  
+   false
+  
+ 
+ 
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+ 
+ 
+  
+   
+
+ 
+  
+   John Doe
+   2001-01-01T01:00:00
+  
+ 
+
+   
+   
+   
+
+
+ 
+  Deleted table
+ 
+
+   
+   
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/odfexport/odfexport2.cxx 
b/sw/qa/extras/odfexport/odfexport2.cxx
index be3f891b4e81..01016b5b8ad2 100644
--- a/sw/qa/extras/odfexport/odfexport2.cxx
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
@@ -1602,6 +1602,13 @@ CPPUNIT_TEST_FIXTURE(Test, 
testTableInFrameAnchoredToPage)
 assertXPath(pXmlDoc, P + "/style:text-properties", "font-style"_ostr, 
u"italic"_ustr);
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testDeletedTableAutostylesExport)
+{
+// Given a document with deleted table:
+// it must not assert on export because of missing format for an exported 
table
+loadAndReload("deleted_table.fodt");
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/source/filter/xml/xmlfmte.cxx b/sw/source/filter/xml/xmlfmte.cxx
index d64810724cf8..4a70f2953868 100644
--- a/sw/source/filter/xml/xmlfmte.cxx
+++ b/sw/source/filter/xml/xmlfmte.cxx
@@ -263,12 +263,6 @@ void SwXMLExport::ExportAutoStyles_()
 if( !(getExportFlags() & SvXMLExportFlags::STYLES) )
 GetTextParagraphExport()->exportUsedDeclarations();
 
-// exported in ExportContent_
-if( getExportFlags() & SvXMLExportFlags::CONTENT )
-{
-GetTextParagraphExport()->exportTrackedChanges( true );
-}
-
 GetTextParagraphExport()->exportTextAutoStyles();
 GetShapeExport()->exportAutoStyles();
 if( getExportFlags() & SvXMLExportFlags::MASTERSTYLES )
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index df324c16acad..b0671175e547 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -1684,6 +1684,9 @@ void 
XMLTextParagraphExport::collectTextAutoStylesAndNodeExportOrder(bool bIsPro
 }
 }
 
+if (GetExport().getExportFlags() & SvXMLExportFlags::CONTENT)
+exportTrackedChanges(true);
+
 mbCollected = true;
 }
 


core.git: 2 commits - vcl/unx

2024-04-26 Thread Michael Weghorn (via logerrit)
 vcl/unx/gtk4/a11y.cxx |   29 ++---
 1 file changed, 2 insertions(+), 27 deletions(-)

New commits:
commit f6ca163d3f6383d3a48dbdacc5410e630d678ea1
Author: Michael Weghorn 
AuthorDate: Fri Apr 26 12:43:24 2024 +0200
Commit: Michael Weghorn 
CommitDate: Fri Apr 26 20:18:30 2024 +0200

gtk4 a11y: Don't create second AT context for OOoFixed

Similar to how the previous

Change-Id: I35196ca686e9d56f97bbf884da8b6492358e41fc
Author: Michael Weghorn 
Date:   Fri Apr 26 09:45:39 2024 +0200

gtk4 a11y: Don't create multiple AT contexts for same accessible

avoids creating multiple AT contexts for the same
accessible when the role changes, this commit addresses
another case in which 2 GtkATContexts could be created
for the OOoFixed which could result in segfault crashes:

The OOoFixed is a GtkWidget, and GTK's `gtk_widget_init`
already creates an AT context for widgets.
Then, a second AT context would be created because
`ooo_fixed_accessible_init` set an own implementation
for GtkAccessibleInterface::get_at_context that would
create a second AT context when it got called, resulting
in breaking the apparent assumption that there's a 1:1 mapping
between GtkAccessible and GtkATConetxt.

No longer override `GtkAccessibleInterface::get_at_context`
but live with the GtkATContext created for the GtkWidget,
even if that means an a11y role cannot explicitly be set
for these for now.
From a first quick look at the tree in Accerciser,
I only see one item changed its a11y role from panel to filler.

The main class used. e.g. for the document content is
LOAccessible, not OOoFixed, and setting the proper role
for instances of that class is unaffected, see
`lo_accessible_get_at_context`.

If setting the a11y role is relevant, this could be
done when initializing the OOoFixed instead by setting
the "accessible-role" property [1], tested with this demo
local change to set a dummy table-cell a11y role and
verifying in Accerciser that it was actually set:

--- a/vcl/unx/gtk3/gtkframe.cxx
+++ b/vcl/unx/gtk3/gtkframe.cxx
@@ -993,7 +993,10 @@ void GtkSalFrame::InitCommon()
 #else
 m_pOverlay = GTK_OVERLAY(gtk_overlay_new());
 #if GTK_CHECK_VERSION(4,9,0)
-m_pFixedContainer = GTK_FIXED(g_object_new( ooo_fixed_get_type(), 
nullptr ));
+GValue aValue = G_VALUE_INIT;
+g_value_init (, GTK_TYPE_ACCESSIBLE_ROLE);
+g_value_set_enum(, GTK_ACCESSIBLE_ROLE_CELL);
+m_pFixedContainer = GTK_FIXED(g_object_new( ooo_fixed_get_type(), 
"accessible-role", aValue,  nullptr ));
 #else
 m_pFixedContainer = GTK_FIXED(gtk_fixed_new());
 #endif

Similar to how the dropped code did, this could use the
a11y role from the corresponding `vcl::Window`, which is
currently not passed, but that could be adjusted, e.g.
by either passing the window or its accessible info
to `SalInstance::CreateFrame`/`SalInstance::CreateChildFrame`.
See `Window::ImplInit`, where the `vcl::Window` is currently
only set via `SalFrame::SetCallback` after the call to
`SalInstance::CreateFrame`/`SalInstance::CreateChildFrame`.

Without this commit, for me, this crash happened about 10-30 %
of the time when starting LO Writer with the gtk4 VCL plugin in rr,
when Accerciser was running already.

Backtrace for first AT context creation (from `gtk_widget_init`):

1 gtk_at_context_create gtkatcontext.c 671 0x7f677daf129e
2 create_at_context gtkwidget.c 8574 0x7f677dd6bcd9
3 gtk_widget_init gtkwidget.c 2392 0x7f677dd5edbc
4 g_type_create_instance 0x7f678ed8f2a3
5 ?? 0x7f678ed72500
6 g_object_new_with_properties 0x7f678ed73b96
7 g_object_new 0x7f678ed74a41
8 GtkSalFrame::InitCommon gtkframe.cxx 996 0x7f677edb9243
9 GtkSalFrame::Init gtkframe.cxx 1785 0x7f677edb7bca
10 GtkSalFrame::GtkSalFrame gtkframe.cxx 510 0x7f677edb726d
11 GtkInstance::CreateFrame gtkinst.cxx 273 0x7f677ec7cebc
12 vcl::Window::ImplInit window.cxx 1057 0x7f6788cf7f49
13 ImplBorderWindow::ImplInit brdwin.cxx 1555 0x7f6788a6d45b
14 ImplBorderWindow::ImplBorderWindow brdwin.cxx 1584 0x7f6788a6da21
15 VclPtrInstance::VclPtrInstance vclptr.hxx 280 0x7f6788d31049
16 WorkWindow::ImplInit wrkwin.cxx 51 0x7f6788d2f809
17 IntroWindow::IntroWindow introwin.cxx 35 0x7f6788bb7ee0
18 (anonymous namespace)::SplashScreenWindow::SplashScreenWindow 
splash.cxx 122 0x7f677c1cee61
19 VclPtr<(anonymous namespace)::SplashScreenWindow>::Create<(anonymous 
namespace)::SplashScreen *> vclptr.hxx 129 0x7f677c1cc86b
20 (anonymous namespace)::SplashScreen::SplashScreen splash.cxx 145 

core.git: codemaker/source unoidl/source

2024-04-26 Thread Noel Grandin (via logerrit)
 codemaker/source/codemaker/codemaker.cxx   |2 
 codemaker/source/codemaker/typemanager.cxx |2 
 codemaker/source/cppumaker/cppumaker.cxx   |8 -
 codemaker/source/cppumaker/cpputype.cxx|  114 
 codemaker/source/javamaker/classfile.cxx   |   20 ++--
 codemaker/source/javamaker/javamaker.cxx   |2 
 codemaker/source/javamaker/javatype.cxx|   48 +-
 unoidl/source/legacyprovider.cxx   |   12 +-
 unoidl/source/sourceprovider-parser.y  |  134 ++---
 unoidl/source/sourcetreeprovider.cxx   |   12 +-
 unoidl/source/unoidl-check.cxx |   30 +++---
 unoidl/source/unoidlprovider.cxx   |  120 -
 12 files changed, 252 insertions(+), 252 deletions(-)

New commits:
commit 59ad8d6d15c893e8873f4afb55a24ab3e58fa2c1
Author: Noel Grandin 
AuthorDate: Fri Apr 26 13:59:49 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Apr 26 19:44:07 2024 +0200

loplugin:ostr in codemaker,unoidl

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

diff --git a/codemaker/source/codemaker/codemaker.cxx 
b/codemaker/source/codemaker/codemaker.cxx
index cb797533e2b9..df93ed2f5662 100644
--- a/codemaker/source/codemaker/codemaker.cxx
+++ b/codemaker/source/codemaker/codemaker.cxx
@@ -36,7 +36,7 @@ OString convertString(OUString const & string) {
  | RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR)))
 {
 throw CannotDumpException(
-"Failure converting string from UTF-16 to UTF-8");
+u"Failure converting string from UTF-16 to UTF-8"_ustr);
 }
 return s;
 }
diff --git a/codemaker/source/codemaker/typemanager.cxx 
b/codemaker/source/codemaker/typemanager.cxx
index 194840ca9d5b..48588e2c4200 100644
--- a/codemaker/source/codemaker/typemanager.cxx
+++ b/codemaker/source/codemaker/typemanager.cxx
@@ -62,7 +62,7 @@ codemaker::UnoType::Sort TypeManager::getSort(
 {
 if (name.isEmpty()) {
 if (cursor != nullptr) {
-*cursor = manager_->createCursor("");
+*cursor = manager_->createCursor(u""_ustr);
 }
 return codemaker::UnoType::Sort::Module;
 }
diff --git a/codemaker/source/cppumaker/cppumaker.cxx 
b/codemaker/source/cppumaker/cppumaker.cxx
index 5e666456c301..3fe5c8855712 100644
--- a/codemaker/source/cppumaker/cppumaker.cxx
+++ b/codemaker/source/cppumaker/cppumaker.cxx
@@ -70,7 +70,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) {
 }
 }
 } else {
-produce("", typeMgr, generated, options);
+produce(u""_ustr, typeMgr, generated, options);
 }
 if (!options.isValid("-nD"_ostr)) {
 // C++ header files generated for the following UNO types are
@@ -78,12 +78,12 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) {
 // Reference.hxx, Type.h), so it seems best to always generate 
those
 // C++ header files:
 produce(
-"com.sun.star.uno.RuntimeException", typeMgr, generated,
+u"com.sun.star.uno.RuntimeException"_ustr, typeMgr, generated,
 options);
 produce(
-"com.sun.star.uno.TypeClass", typeMgr, generated, options);
+u"com.sun.star.uno.TypeClass"_ustr, typeMgr, generated, 
options);
 produce(
-"com.sun.star.uno.XInterface", typeMgr, generated, options);
+u"com.sun.star.uno.XInterface"_ustr, typeMgr, generated, 
options);
 }
 } catch (CannotDumpException & e) {
 std::cerr << "ERROR: " << e.getMessage() << '
';
diff --git a/codemaker/source/cppumaker/cpputype.cxx 
b/codemaker/source/cppumaker/cpputype.cxx
index b2ba3413402c..8d67cdc94e11 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -419,7 +419,7 @@ void CppuType::dump(CppuOptions const & options)
 m_cppuTypeDynamic = false;
 }
 dumpFiles(
-options.isValid("-O"_ostr) ? b2u(options.getOption("-O"_ostr)) : "", 
options);
+options.isValid("-O"_ostr) ? b2u(options.getOption("-O"_ostr)) : 
u""_ustr, options);
 }
 
 void CppuType::dumpFile(
@@ -670,86 +670,86 @@ OUString CppuType::getTypeClass(OUString const & name, 
bool cStyle)
 switch (m_typeMgr->getSort(name, )) {
 case codemaker::UnoType::Sort::Void:
 return cStyle
-   ? OUString("typelib_TypeClass_VOID")
-   : OUString("::css::uno::TypeClass_VOID");
+   ? u"typelib_TypeClass_VOID"_ustr
+   : u"::css::uno::TypeClass_VOID"_ustr;
 case codemaker::UnoType::Sort::Boolean:
 return cStyle
-   ? OUString("typelib_TypeClass_BOOLEAN")
-   : OUString("::css::uno::TypeClass_BOOLEAN");
+   ? u"typelib_TypeClass_BOOLEAN"_ustr
+   

core.git: sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/source/ui/view/drviewsg.cxx |   10 +-
 sd/source/ui/view/frmview.cxx  |3 ++-
 2 files changed, 11 insertions(+), 2 deletions(-)

New commits:
commit fe0d8555150949bb8729c656af62917ffc48bbf8
Author: Gabor Kelemen 
AuthorDate: Tue Apr 23 16:28:52 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 17:01:25 2024 +0200

Use less SdOptionsLayout->IsDragStripes/SetDragStripes in favor of officecfg

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

diff --git a/sd/source/ui/view/drviewsg.cxx b/sd/source/ui/view/drviewsg.cxx
index 2563168433d8..7dfd06e2177c 100644
--- a/sd/source/ui/view/drviewsg.cxx
+++ b/sd/source/ui/view/drviewsg.cxx
@@ -26,6 +26,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 
 #include 
 
@@ -103,6 +105,8 @@ void DrawViewShell::ExecOptionsBar( SfxRequest& rReq )
 sal_uInt16 nSlot = rReq.GetSlot();
 
 SdOptions* pOptions = SD_MOD()->GetSdOptions(GetDoc()->GetDocumentType());
+std::shared_ptr batch(
+comphelper::ConfigurationChanges::create());
 
 switch( nSlot )
 {
@@ -137,7 +141,10 @@ void DrawViewShell::ExecOptionsBar( SfxRequest& rReq )
 
 case SID_HELPLINES_MOVE:
 {
-pOptions->SetDragStripes( !mpDrawView->IsDragStripes() );
+if ( GetDoc()->GetDocumentType() == DocumentType::Impress )
+
officecfg::Office::Impress::Layout::Display::Guide::set(!mpDrawView->IsDragStripes(),
 batch);
+else
+
officecfg::Office::Draw::Layout::Display::Guide::set(!mpDrawView->IsDragStripes(),
 batch);
 }
 break;
 
@@ -192,6 +199,7 @@ void DrawViewShell::ExecOptionsBar( SfxRequest& rReq )
 if( bDefault )
 return;
 
+batch->commit();
 pOptions->StoreConfig();
 
 // Saves the configuration IMMEDIATELY
diff --git a/sd/source/ui/view/frmview.cxx b/sd/source/ui/view/frmview.cxx
index 4071ee2734bf..88ae6825738b 100644
--- a/sd/source/ui/view/frmview.cxx
+++ b/sd/source/ui/view/frmview.cxx
@@ -286,11 +286,13 @@ void FrameView::Update(SdOptions const * pOptions)
 if (pDrawDocument->GetDocumentType() == DocumentType::Impress)
 {
 mbRuler = officecfg::Office::Impress::Layout::Display::Ruler::get();
+SetDragStripes( 
officecfg::Office::Impress::Layout::Display::Guide::get() );
 SetNoDragXorPolys ( 
!officecfg::Office::Impress::Layout::Display::Contour::get() );
 }
 else
 {
 mbRuler = officecfg::Office::Draw::Layout::Display::Ruler::get();
+SetDragStripes( officecfg::Office::Draw::Layout::Display::Guide::get() 
);
 SetNoDragXorPolys ( 
!officecfg::Office::Draw::Layout::Display::Contour::get() );
 }
 
@@ -302,7 +304,6 @@ void FrameView::Update(SdOptions const * pOptions)
 SetOFrmSnap( pOptions->IsSnapFrame() );
 SetOPntSnap( pOptions->IsSnapPoints() );
 SetHlplVisible( pOptions->IsHelplines() );
-SetDragStripes( pOptions->IsDragStripes() );
 SetPlusHandlesAlwaysVisible( pOptions->IsHandlesBezier() );
 SetSnapMagneticPixel( pOptions->GetSnapArea() );
 SetMarkedHitMovesAlways( pOptions->IsMarkedHitMovesAlways() );


core.git: sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/source/ui/view/frmview.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit c724b81b033a9ff968a1a63d66005d48a6b97e57
Author: Gabor Kelemen 
AuthorDate: Tue Apr 23 15:39:59 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 16:59:49 2024 +0200

Use less SdOptionsLayout->IsMoveOutline in favor of officecfg

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

diff --git a/sd/source/ui/view/frmview.cxx b/sd/source/ui/view/frmview.cxx
index 6d8fad05af9d..4071ee2734bf 100644
--- a/sd/source/ui/view/frmview.cxx
+++ b/sd/source/ui/view/frmview.cxx
@@ -286,10 +286,12 @@ void FrameView::Update(SdOptions const * pOptions)
 if (pDrawDocument->GetDocumentType() == DocumentType::Impress)
 {
 mbRuler = officecfg::Office::Impress::Layout::Display::Ruler::get();
+SetNoDragXorPolys ( 
!officecfg::Office::Impress::Layout::Display::Contour::get() );
 }
 else
 {
 mbRuler = officecfg::Office::Draw::Layout::Display::Ruler::get();
+SetNoDragXorPolys ( 
!officecfg::Office::Draw::Layout::Display::Contour::get() );
 }
 
 SetGridVisible( pOptions->IsGridVisible() );
@@ -306,7 +308,6 @@ void FrameView::Update(SdOptions const * pOptions)
 SetMarkedHitMovesAlways( pOptions->IsMarkedHitMovesAlways() );
 SetMoveOnlyDragging( pOptions->IsMoveOnlyDragging() );
 SetSlantButShear( pOptions->IsMoveOnlyDragging() );
-SetNoDragXorPolys ( !pOptions->IsMoveOutline() );
 SetCrookNoContortion( pOptions->IsCrookNoContortion() );
 SetAngleSnapEnabled( pOptions->IsRotate() );
 SetBigOrtho( pOptions->IsBigOrtho() );


core.git: Branch 'distro/collabora/co-24.04' - desktop/source include/sfx2 sfx2/source

2024-04-26 Thread Gökay Şatır (via logerrit)
 desktop/source/lib/init.cxx|6 ++
 include/sfx2/lokhelper.hxx |4 
 sfx2/source/view/lokhelper.cxx |   30 ++
 3 files changed, 36 insertions(+), 4 deletions(-)

New commits:
commit 4d8c4a60105488be84ea80775dc04a24582752fb
Author: Gökay Şatır 
AuthorDate: Tue Apr 23 14:40:14 2024 +0300
Commit: Michael Meeks 
CommitDate: Fri Apr 26 16:08:38 2024 +0200

Use a for loop for setting view properties.

Since there may be no view with the given id, checking the list first is 
safer.

Signed-off-by: Gökay Şatır 
Change-Id: I4c305e0a0f6ce7cccdfea9889c414a6054ed3a88
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166531
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Michael Meeks 

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index ba9b45230093..79e5af2fdedd 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -7292,8 +7292,7 @@ static void doc_setViewReadOnly(SAL_UNUSED_PARAMETER 
LibreOfficeKitDocument* pTh
 SolarMutexGuard aGuard;
 SetLastExceptionMsg();
 
-doc_setView(pThis, nId);
-SfxViewShell::Current()->SetLokReadOnlyView(readOnly);
+SfxLokHelper::setViewReadOnly(nId, readOnly);
 }
 
 static void doc_setAllowChangeComments(SAL_UNUSED_PARAMETER 
LibreOfficeKitDocument* pThis, int nId, const bool allow)
@@ -7303,8 +7302,7 @@ static void 
doc_setAllowChangeComments(SAL_UNUSED_PARAMETER LibreOfficeKitDocume
 SolarMutexGuard aGuard;
 SetLastExceptionMsg();
 
-doc_setView(pThis, nId);
-SfxViewShell::Current()->SetAllowChangeComments(allow);
+SfxLokHelper::setAllowChangeComments(nId, allow);
 }
 
 static void doc_setAccessibilityState(SAL_UNUSED_PARAMETER 
LibreOfficeKitDocument* pThis, int nId, bool nEnabled)
diff --git a/include/sfx2/lokhelper.hxx b/include/sfx2/lokhelper.hxx
index 3cdc404a8e2a..96974417430e 100644
--- a/include/sfx2/lokhelper.hxx
+++ b/include/sfx2/lokhelper.hxx
@@ -119,6 +119,10 @@ public:
 static void setDefaultLanguage(const OUString& rBcp47LanguageTag);
 /// Enable/Disable AT support for the given view.
 static void setAccessibilityState(int nId, bool nEnabled);
+// Set the readonly state of the view.
+static void setViewReadOnly(int nId, bool readOnly);
+// In readonly view, can user add / modify comments or not.
+static void setAllowChangeComments(int nId, bool allow);
 /// Get the language used by the loading view (used for all save 
operations).
 static const LanguageTag & getLoadLanguage();
 /// Set the language used by the loading view (used for all save 
operations).
diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index 80bdb38aa13a..8df19c359442 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -341,6 +341,36 @@ void SfxLokHelper::setViewLanguage(int nId, const 
OUString& rBcp47LanguageTag)
 }
 }
 
+void SfxLokHelper::setViewReadOnly(int nId, bool readOnly)
+{
+std::vector& rViewArr = SfxGetpApp()->GetViewShells_Impl();
+
+for (SfxViewShell* pViewShell : rViewArr)
+{
+if (pViewShell && pViewShell->GetViewShellId() == ViewShellId(nId))
+{
+LOK_INFO("lok.readonlyview", "SfxLokHelper::setViewReadOnly: view 
id: " << nId << ", readOnly: " << readOnly);
+pViewShell->SetLokReadOnlyView(readOnly);
+return;
+}
+}
+}
+
+void SfxLokHelper::setAllowChangeComments(int nId, bool allow)
+{
+std::vector& rViewArr = SfxGetpApp()->GetViewShells_Impl();
+
+for (SfxViewShell* pViewShell : rViewArr)
+{
+if (pViewShell && pViewShell->GetViewShellId() == ViewShellId(nId))
+{
+LOK_INFO("lok.readonlyview", 
"SfxLokHelper::setAllowChangeComments: view id: " << nId << ", allow: " << 
allow);
+pViewShell->SetAllowChangeComments(allow);
+return;
+}
+}
+}
+
 void SfxLokHelper::setAccessibilityState(int nId, bool nEnabled)
 {
 std::vector& rViewArr = SfxGetpApp()->GetViewShells_Impl();


core.git: sd/inc sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/inc/sdmod.hxx   |8 
 sd/source/ui/app/sdmod.cxx |   43 ---
 2 files changed, 51 deletions(-)

New commits:
commit 48e07052be600a5abf8ef4cbec20e1122e703b7e
Author: Gabor Kelemen 
AuthorDate: Thu Apr 25 16:52:14 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 15:16:05 2024 +0200

Drop now unused GetOptionStream class

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

diff --git a/sd/inc/sdmod.hxx b/sd/inc/sdmod.hxx
index 5008fc001f0b..b872ebf0913d 100644
--- a/sd/inc/sdmod.hxx
+++ b/sd/inc/sdmod.hxx
@@ -51,12 +51,6 @@ namespace com::sun::star::frame {
 class XFrame;
 }
 
-enum class SdOptionStreamMode
-{
-Load = 0,
-Store = 1
-};
-
 struct SdExtPropertySetInfoCacheCompare
 {
 bool operator()(const std::span& lhs, const 
std::span& rhs) const
@@ -104,7 +98,6 @@ public:
 voidGetState(SfxItemSet&);
 
 SdOptions*  GetSdOptions(DocumentType eDocType);
-SD_DLLPUBLIC rtl::Reference GetOptionStream( 
std::u16string_view rOptionName, SdOptionStreamMode eMode );
 
 boolGetWaterCan() const { return bWaterCan; }
 voidSetWaterCan( bool bWC ) { bWaterCan = bWC; }
@@ -140,7 +133,6 @@ private:
 SdOptions*  pDrawOptions;
 std::unique_ptr  pSearchItem;
 std::unique_ptr  pNumberFormatter;
-rtl::Reference  xOptionStorage;
 boolbWaterCan;
 std::unique_ptr mpErrorHdl;
 /** This device is used for printer independent layout.  It is virtual
diff --git a/sd/source/ui/app/sdmod.cxx b/sd/source/ui/app/sdmod.cxx
index f1b9a9bbe8a1..f18dd647a209 100644
--- a/sd/source/ui/app/sdmod.cxx
+++ b/sd/source/ui/app/sdmod.cxx
@@ -157,49 +157,6 @@ SdOptions* SdModule::GetSdOptions(DocumentType eDocType)
 return pOptions;
 }
 
-/**
- * Open and return option stream for internal options;
- * if the stream is opened for reading but does not exist, an 'empty'
- * RefObject is returned
- */
-rtl::Reference SdModule::GetOptionStream( 
std::u16string_view rOptionName,
-  SdOptionStreamMode eMode )
-{
-::sd::DrawDocShell* pDocSh = dynamic_cast< ::sd::DrawDocShell *>( 
SfxObjectShell::Current() );
-rtl::Reference xStm;
-
-if( pDocSh )
-{
-DocumentTypeeType = pDocSh->GetDoc()->GetDocumentType();
-
-if( !xOptionStorage.is() )
-{
-INetURLObject aURL( SvtPathOptions().GetUserConfigPath() );
-
-aURL.Append( u"drawing.cfg" );
-
-std::unique_ptr pStm = 
::utl::UcbStreamHelper::CreateStream( aURL.GetMainURL( 
INetURLObject::DecodeMechanism::NONE ), StreamMode::READWRITE );
-
-if( pStm )
-xOptionStorage = new SotStorage( pStm.release(), true );
-}
-
-OUStringaStmName;
-
-if( DocumentType::Draw == eType )
-aStmName = "Draw_";
-else
-aStmName = "Impress_";
-
-aStmName += rOptionName;
-
-if( SdOptionStreamMode::Store == eMode || xOptionStorage->IsContained( 
aStmName ) )
-xStm = xOptionStorage->OpenSotStream( aStmName );
-}
-
-return xStm;
-}
-
 SvNumberFormatter* SdModule::GetNumberFormatter()
 {
 if( !pNumberFormatter )


core.git: filter/Configuration_filter.mk

2024-04-26 Thread Christian Lohmaier (via logerrit)
 filter/Configuration_filter.mk |   24 ++--
 1 file changed, 6 insertions(+), 18 deletions(-)

New commits:
commit aabf18d56194405b28afcd814c41bbba73f5e9b9
Author: Christian Lohmaier 
AuthorDate: Sun Apr 21 22:15:14 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 15:02:37 2024 +0200

Configuration_filter.mk: create RESPONSEFILEs using gb_var2file

using echo ... | sed won't help with command-line limits and doing the
simple substitution by make saves spawning a few sed processes

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

diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
index b2d3b09689f0..42ebab575cd3 100644
--- a/filter/Configuration_filter.mk
+++ b/filter/Configuration_filter.mk
@@ -39,9 +39,7 @@ $(call gb_XcuFilterTypesTarget_get_target,%) : 
$(filter_MERGE_TARGET)
$(call gb_Trace_StartRange,$*,FIT)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
-   RESPONSEFILE=`$(gb_MKTEMP)` && \
-   echo "items=$(basename $(notdir $(filter %.xcu,$^)))" \
-   | sed "s/ /$(COMMA)/g" > $${RESPONSEFILE} && \
+   RESPONSEFILE=$(call gb_var2file,$(shell 
$(gb_MKTEMP)),items=$(subst $(WHITESPACE),$(COMMA),$(basename $(notdir $(filter 
%.xcu,$^) && \
$(filter_MERGE) tempdir=$(TMPDIR) \
share_subdir_name=$(LIBO_SHARE_FOLDER) \
fragmentsdir=$(dir $(firstword $(filter %.xcu,$^))).. \
@@ -82,9 +80,7 @@ $(call gb_XcuFilterFiltersTarget_get_target,%) : 
$(filter_MERGE_TARGET)
$(call gb_Trace_StartRange,$*,FIF)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
-   RESPONSEFILE=`$(gb_MKTEMP)` && \
-   echo "items=$(basename $(notdir $(filter %.xcu,$^)))" \
-   | sed "s/ /$(COMMA)/g" > $${RESPONSEFILE} && \
+   RESPONSEFILE=$(call gb_var2file,$(shell 
$(gb_MKTEMP)),items=$(subst $(WHITESPACE),$(COMMA),$(basename $(notdir $(filter 
%.xcu,$^) && \
$(filter_MERGE) tempdir=$(TMPDIR) \
share_subdir_name=$(LIBO_SHARE_FOLDER) \
fragmentsdir=$(dir $(firstword $(filter %.xcu,$^))).. \
@@ -115,12 +111,8 @@ $(call gb_XcuFilterOthersTarget_get_target,%) : 
$(filter_MERGE_TARGET)
$(call gb_Trace_StartRange,$*,FIO)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
-   RESPONSEFILE=`$(gb_MKTEMP)` && \
-   RESPONSEFILE2=`$(gb_MKTEMP)` && \
-   echo "items=$(strip $(foreach xcu,$(filter %.xcu,$^),$(if 
$(filter frameloaders,$(notdir $(patsubst %/,%,$(dir $(xcu),$(basename 
$(notdir $(xcu),)" \
-   | sed "s/ /$(COMMA)/g" > $${RESPONSEFILE} && \
-   echo "items=$(strip $(foreach xcu,$(filter %.xcu,$^),$(if 
$(filter contenthandlers,$(notdir $(patsubst %/,%,$(dir $(xcu),$(basename 
$(notdir $(xcu),)" \
-   | sed "s/ /$(COMMA)/g" > $${RESPONSEFILE2} && \
+   RESPONSEFILE=$(call gb_var2file,$(shell 
$(gb_MKTEMP)),items=$(subst $(WHITESPACE),$(COMMA),$(strip $(foreach 
xcu,$(filter %.xcu,$^),$(if $(filter frameloaders,$(notdir $(patsubst 
%/,%,$(dir $(xcu),$(basename $(notdir $(xcu),))) && \
+   RESPONSEFILE2=$(call gb_var2file,$(shell 
$(gb_MKTEMP)),items=$(subst $(WHITESPACE),$(COMMA),$(strip $(foreach 
xcu,$(filter %.xcu,$^),$(if $(filter contenthandlers,$(notdir $(patsubst 
%/,%,$(dir $(xcu),$(basename $(notdir $(xcu),))) && \
$(filter_MERGE) tempdir=$(TMPDIR) \
share_subdir_name=$(LIBO_SHARE_FOLDER) \
fragmentsdir=$(dir $(firstword $(filter %.xcu,$^))).. \
@@ -151,9 +143,7 @@ $(call gb_XcuFilterInternalTarget_get_target,%) : 
$(filter_MERGE_TARGET)
$(call gb_Trace_StartRange,$*,FII)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
-   RESPONSEFILE=`$(gb_MKTEMP)` && \
-   echo "items=$(basename $(notdir $(filter %.xcu,$^)))" \
-   | sed "s/ /$(COMMA)/g" > $${RESPONSEFILE} && \
+   RESPONSEFILE=$(call gb_var2file,$(shell 
$(gb_MKTEMP)),items=$(subst $(WHITESPACE),$(COMMA),$(basename $(notdir $(filter 
%.xcu,$^) && \
$(filter_MERGE) tempdir=$(TMPDIR) \
share_subdir_name=$(LIBO_SHARE_FOLDER) \
fragmentsdir=$(dir $(firstword $(filter %.xcu,$^))).. \
@@ -199,9 +189,7 @@ $(filter_XcuFilterUiTarget) : $(filter_MERGE_TARGET)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),FIU)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
-   

core.git: Branch 'libreoffice-24-2-3' - vcl/quartz

2024-04-26 Thread Patrick Luby (via logerrit)
 vcl/quartz/cgutils.mm |   10 ++
 1 file changed, 10 insertions(+)

New commits:
commit f7579474089bfc67f7d83680d562efa17783e4b4
Author: Patrick Luby 
AuthorDate: Wed Apr 10 08:04:57 2024 -0400
Commit: Patrick Luby 
CommitDate: Fri Apr 26 14:10:05 2024 +0200

tdf#160590 Disable Metal with Intel HD Graphics 6000

Releasing a Metal buffer resource hangs when fetching pixels from a
Skia surface on this Intel MacBook Air built-in GPU.

Change-Id: Ic3028bf8eb45ebb9f6d71879bf5d96f0401a95c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165927
Tested-by: Jenkins
Reviewed-by: Patrick Luby 
(cherry picked from commit fe3a4bdf48f7b2d4f6da31b4392ac5979653cf9c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165946
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Adolfo Jayme Barrientos 
Reviewed-by: Michael Stahl 
Tested-by: Patrick Luby 

diff --git a/vcl/quartz/cgutils.mm b/vcl/quartz/cgutils.mm
index 0d611bec11d1..50b7fcd6540c 100644
--- a/vcl/quartz/cgutils.mm
+++ b/vcl/quartz/cgutils.mm
@@ -122,6 +122,16 @@ bool DefaultMTLDeviceIsSupported()
bRet = false;
 }
 
+if (bRet)
+{
+// tdf#160590 Disable Metal with Intel HD Graphics 6000
+// Releasing a Metal buffer resource hangs when fetching pixels from a
+// Skia surface on this Intel MacBook Air built-in GPU.
+   static NSString* pIntelHDGraphics6000Prefix = @"Intel(R) Iris(TM) 
Graphics 6000";
+   if ([pMetalDevice.name hasPrefix:pIntelHDGraphics6000Prefix])
+   bRet = false;
+}
+
 [pMetalDevice release];
 return bRet;
 }


core.git: configure.ac

2024-04-26 Thread Stephan Bergmann (via logerrit)
 configure.ac |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit b68d717360d7141de62bf9391d8af5b07f9d
Author: Stephan Bergmann 
AuthorDate: Tue Apr 23 11:16:52 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:03:03 2024 +0200

Support --with-junit/hamcrest in WSL_ONLY_AS_HELPER mode

...where it failed with

> checking for JUnit 4... ./configure: line 47354: cygpath: command not 
found

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

diff --git a/configure.ac b/configure.ac
index 48faa25c4acc..6c2cd76b904a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14318,7 +14318,8 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no" 
-a "$cross_compiling" != "
 OOO_JUNIT_JAR=$with_junit
 fi
 if test "$_os" = "WINNT"; then
-OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"`
+PathFormat "$OOO_JUNIT_JAR"
+OOO_JUNIT_JAR="$formatted_path"
 fi
 printf 'import org.junit.Before;' > conftest.java
 if $JAVACOMPILER -classpath "$OOO_JUNIT_JAR" conftest.java >&5 2>&5; then
@@ -14354,7 +14355,8 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no" 
-a "$cross_compiling" != "
 HAMCREST_JAR=$with_hamcrest
 fi
 if test "$_os" = "WINNT"; then
-HAMCREST_JAR=`cygpath -m "$HAMCREST_JAR"`
+PathFormat "$HAMCREST_JAR"
+HAMCREST_JAR="$formatted_path"
 fi
 if $JAVACOMPILER -classpath "$HAMCREST_JAR" conftest.java >&5 2>&5; 
then
 AC_MSG_RESULT([$HAMCREST_JAR])


core.git: 3 commits - configure.ac instsetoo_native/CustomTarget_install.mk

2024-04-26 Thread Stephan Bergmann (via logerrit)
 configure.ac |   11 ---
 instsetoo_native/CustomTarget_install.mk |1 +
 2 files changed, 9 insertions(+), 3 deletions(-)

New commits:
commit 9bd93466e47c3a472b273f3846169afbdf063885
Author: Stephan Bergmann 
AuthorDate: Tue Apr 23 10:44:53 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:02:52 2024 +0200

Honor TMPDIR configure option in WSL_ONLY_AS_HELPER mode

(It needs to be passed-in as a TMPDIR=/mnt/c/... style path, because 
configure
uses it early on and otherwise fails with some

> checking build system type... config.guess: cannot create a temporary 
directory in C:/...

error.)

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

diff --git a/configure.ac b/configure.ac
index 90cbfb33f9e2..48faa25c4acc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15296,6 +15296,9 @@ AC_SUBST(PERL)
 
 if test -n "$TMPDIR"; then
 TEMP_DIRECTORY="$TMPDIR"
+if test -n "$WSL_ONLY_AS_HELPER"; then
+   TEMP_DIRECTORY=$(wslpath -m "$TEMP_DIRECTORY")
+fi
 else
 TEMP_DIRECTORY="/tmp"
 fi
@@ -15426,8 +15429,10 @@ if test -n "$WSL_ONLY_AS_HELPER"; then
 # append strawberry tools dir to PATH (for e.g. windres, ar)
 LO_PATH="$LO_PATH:$STRAWBERRY_TOOLS"
 # temp-dir needs to be in windows realm, hardcode for now
-mkdir -p tmp
-TEMP_DIRECTORY="$BUILDDIR/tmp"
+if test "$TEMP_DIRECTORY" = /tmp; then
+mkdir -p tmp
+TEMP_DIRECTORY="$BUILDDIR/tmp"
+fi
 fi
 
 # Keep in sync with list of files far up, at AC_MSG_CHECKING([for
commit 649314399483331244538128149ebd0556166540
Author: Stephan Bergmann 
AuthorDate: Tue Apr 23 08:49:46 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:02:45 2024 +0200

Don't hardcode build as x86_64 for WSL_ONLY_AS_HELPER

...to also make it work builds on aarch64

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

diff --git a/configure.ac b/configure.ac
index cf14c248e948..90cbfb33f9e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15404,7 +15404,7 @@ AC_CONFIG_LINKS([include:include])
 
 if test -n "$WSL_ONLY_AS_HELPER"; then
 # while we configure in linux, we actually compile in "cygwin" (close 
enough at least)
-build="x86_64-pc-cygwin"
+build=$host
 PathFormat "$SRC_ROOT"
 SRC_ROOT="$formatted_path"
 PathFormat "$BUILDDIR"
commit 683d9496bd993c638d7f44af8d03b86b9ed8faaa
Author: Christian Lohmaier 
AuthorDate: Fri Apr 19 16:12:22 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:02:37 2024 +0200

use strawberry perl for installation packaging in wsl-as-helper case

changing it to git-bash perl can probably be done, but would require
more changes to the path handling in the packaging code

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

diff --git a/instsetoo_native/CustomTarget_install.mk 
b/instsetoo_native/CustomTarget_install.mk
index 4a6d92e1cd00..d3a6ad3a96a9 100644
--- a/instsetoo_native/CustomTarget_install.mk
+++ b/instsetoo_native/CustomTarget_install.mk
@@ -121,6 +121,7 @@ $(instsetoo_installer_targets): 
$(SRCDIR)/solenv/bin/make_installer.pl \
$(if $(filter %msi‧nostrip,$@),$(gb_Make_JobLimiter) grab)
$(call gb_Trace_StartRange,$@,INSTALLER)
$(call gb_Helper_print_on_error, \
+   $(if $(MSYSTEM),export PERLIO=:unix PERL=$(STRAWBERRY_PERL) &&) \
$(SRCDIR)/solenv/bin/call_installer.sh $(if 
$(verbose),-verbose,-quiet) $(subst ‧,:,$@),\
$(call gb_CustomTarget_get_workdir,instsetoo_native/install)/$(if 
$(filter en-US$(COMMA)%,$(instsetoo_installer_langs)),$(subst 
$(instsetoo_installer_langs),multilang,$@),$@).log)
$(if $(filter %msi‧nostrip,$@),$(gb_Make_JobLimiter) release)


core.git: 2 commits - external/gpgmepp external/icu external/libassuan external/openssl

2024-04-26 Thread Christian Lohmaier (via logerrit)
 external/gpgmepp/ExternalProject_gpgmepp.mk |2 +-
 external/icu/ExternalProject_icu.mk |2 +-
 external/libassuan/ExternalProject_libassuan.mk |2 +-
 external/openssl/ExternalProject_openssl.mk |3 ++-
 4 files changed, 5 insertions(+), 4 deletions(-)

New commits:
commit 84c80da9751c2d89655b0cfdda2f7ad581d1b15e
Author: Christian Lohmaier 
AuthorDate: Fri Apr 19 11:39:58 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:02:29 2024 +0200

use strawberry perl in wsl-as-helper case for openssl

it needs modules that are not available in git-bash perl, and strawberry
perl is already used as a way to get windres and similar utilities
Might want to revisit that to streamline the dependencies

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

diff --git a/external/openssl/ExternalProject_openssl.mk 
b/external/openssl/ExternalProject_openssl.mk
index 048158700f84..910c957484c4 100644
--- a/external/openssl/ExternalProject_openssl.mk
+++ b/external/openssl/ExternalProject_openssl.mk
@@ -62,11 +62,12 @@ OPENSSL_PLATFORM := \
 ifeq ($(COM),MSC)
 $(eval $(call gb_ExternalProject_use_nmake,openssl,build))
 
+$(call gb_ExternalProject_get_state_target,openssl,build): export PERL:=$(if 
$(MSYSTEM),$(STRAWBERRY_PERL),$(shell cygpath -m $(PERL)))
+
 $(call gb_ExternalProject_get_state_target,openssl,build):
$(call gb_Trace_StartRange,openssl,EXTERNAL)
$(call gb_ExternalProject_run,build,\
CONFIGURE_INSIST=1 $(PERL) Configure $(OPENSSL_PLATFORM) 
no-tests no-multilib \
-   && export PERL="$(shell cygpath -w $(PERL))" \
&& nmake -f makefile \
$(if $(call 
gb_Module__symbols_enabled,openssl),DEBUG_FLAGS_VALUE="$(gb_DEBUGINFO_FLAGS)") \
)
commit b77bcf2838e2ab233c61cff8237f2847bd910dcb
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 14:55:44 2023 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:02:20 2024 +0200

run autoconf/autoreconf via wsl in wsl-as-helper case

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

diff --git a/external/gpgmepp/ExternalProject_gpgmepp.mk 
b/external/gpgmepp/ExternalProject_gpgmepp.mk
index a58717fe3adb..d2733bf21b49 100644
--- a/external/gpgmepp/ExternalProject_gpgmepp.mk
+++ b/external/gpgmepp/ExternalProject_gpgmepp.mk
@@ -25,7 +25,7 @@ $(call gb_ExternalProject_get_state_target,gpgmepp,build): 
$(call gb_Executable_
$(call gb_Trace_StartRange,gpgmepp,EXTERNAL)
$(call gb_ExternalProject_run,build, \
$(gb_WIN_GPG_cross_setup_exports) \
-   && autoreconf \
+   && $(WSL) autoreconf \
&& $(gb_RUN_CONFIGURE) ./configure \
   $(gb_CONFIGURE_PLATFORMS) \
   --disable-shared \
diff --git a/external/icu/ExternalProject_icu.mk 
b/external/icu/ExternalProject_icu.mk
index 5388eee58983..cd4bc99ab1a3 100644
--- a/external/icu/ExternalProject_icu.mk
+++ b/external/icu/ExternalProject_icu.mk
@@ -20,7 +20,7 @@ ifeq ($(OS),WNT)
 $(call gb_ExternalProject_get_state_target,icu,build) :
$(call gb_Trace_StartRange,icu,EXTERNAL)
$(call gb_ExternalProject_run,build,\
-   autoconf -f \
+   $(WSL) autoconf -f \
&& export LIB="$(ILIB)" PYTHONWARNINGS="default" \
gb_ICU_XFLAGS="-FS $(SOLARINC) $(gb_DEBUGINFO_FLAGS) 
$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD -Gy)" \
&& CFLAGS="$${gb_ICU_XFLAGS}" CPPFLAGS="$(SOLARINC)" 
CXXFLAGS="$${gb_ICU_XFLAGS}" \
diff --git a/external/libassuan/ExternalProject_libassuan.mk 
b/external/libassuan/ExternalProject_libassuan.mk
index 9b972a55fc27..d73935b212e4 100644
--- a/external/libassuan/ExternalProject_libassuan.mk
+++ b/external/libassuan/ExternalProject_libassuan.mk
@@ -25,7 +25,7 @@ $(call gb_ExternalProject_get_state_target,libassuan,build): 
$(call gb_Executabl
$(call gb_Trace_StartRange,libassuan,EXTERNAL)
$(call gb_ExternalProject_run,build,\
  $(gb_WIN_GPG_cross_setup_exports) \
- && autoreconf \
+ && $(WSL) autoreconf \
  && $(gb_RUN_CONFIGURE) ./configure \
--enable-static \
--disable-shared \


core.git: 2 commits - odk/CustomTarget_doxygen.mk solenv/gbuild

2024-04-26 Thread Christian Lohmaier (via logerrit)
 odk/CustomTarget_doxygen.mk |   36 
 solenv/gbuild/LinkTarget.mk |7 ++
 solenv/gbuild/platform/com_MSC_class.mk |3 --
 3 files changed, 22 insertions(+), 24 deletions(-)

New commits:
commit d5897420b0df5222ef87dce60668df902a5e279a
Author: Christian Lohmaier 
AuthorDate: Wed Aug 2 16:19:19 2023 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:02:11 2024 +0200

run bison, flex and nasm via wsl in wsl-as-helper case

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

diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index f4d15f411516..e054cffb4c85 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -499,9 +499,8 @@ endef
 
 #  gb_LexTarget__command(scanner-file, stem-for-message, done-pseudo-target, 
source-target)
 define gb_LexTarget__command
-$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(3)) && \
-   $(FLEX) $(T_LEXFLAGS) -o$(4) $(1) && touch $(3) )
+   $(call gb_Helper_wsl_path,$(FLEX) $(T_LEXFLAGS) -o$(4) $(1)) && touch 
$(3)
 endef
 
 
@@ -647,8 +646,8 @@ $(call gb_GenNasmObject_get_target,%) :
$(call gb_Trace_StartRange,$*,ASM)
test -f $(call gb_GenNasmObject_get_source,$*) || (echo "Missing 
generated source file $(call gb_GenNasmObject_get_source,$*)" && false)
mkdir -p $(dir $@) $(dir $(call gb_GenNasmObject_get_dep_target,$*)) && 
cd $(SRCDIR) && \
-   $(NASM) $(T_NASMFLAGS) $(T_NASMFLAGS_APPEND) -I$(dir $(call 
gb_GenNasmObject_get_source,$*)) \
-   $(call gb_GenNasmObject_get_source,$*) -o $@ && \
+   $(call gb_Helper_wsl_path,$(NASM) $(T_NASMFLAGS) 
$(T_NASMFLAGS_APPEND) -I$(dir $(call gb_GenNasmObject_get_source,$*)) \
+   $(call gb_GenNasmObject_get_source,$*) -o $@) && \
echo "$@ : $(call gb_GenNasmObject_get_source,$*)" > $(call 
gb_GenNasmObject_get_dep_target,$*)
$(call gb_Trace_EndRange,$*,ASM)
 
diff --git a/solenv/gbuild/platform/com_MSC_class.mk 
b/solenv/gbuild/platform/com_MSC_class.mk
index 7e6b5e8d3b57..5424da11d75c 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -26,9 +26,8 @@ endef
 
 define gb_YaccTarget__command
 $(call gb_Output_announce,$(2),$(true),YAC,3)
-$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(3)) && \
-   $(BISON) $(T_YACCFLAGS) --defines=$(4) -o $(5) $(1) && touch $(3) )
+   $(call gb_Helper_wsl_path,$(WSL) $(BISON) $(T_YACCFLAGS) --defines=$(4) 
-o $(5) $(1)) && touch $(3)
 
 endef
 
commit f7fe6a0bed2c2aee19535a26181a2edfb103e587
Author: Christian Lohmaier 
AuthorDate: Tue Jul 11 16:48:24 2023 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:02:00 2024 +0200

run doxygen via wsl in wsl-as-helper case

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

diff --git a/odk/CustomTarget_doxygen.mk b/odk/CustomTarget_doxygen.mk
index a693adebde34..cc848699d73b 100644
--- a/odk/CustomTarget_doxygen.mk
+++ b/odk/CustomTarget_doxygen.mk
@@ -22,13 +22,13 @@ odk_cpp_INCFILELIST := com/sun/star/uno/Any.h \
com/sun/star/uno/Type.h \
com/sun/star/uno/Type.hxx
 
-# Cygwin Doxygen needs unix paths
-odk_cygwin_path = $(if $(filter WNT,$(OS)),$(shell cygpath -u $(1)),$(1))
-odk_cpp_PREFIX := $(INSTDIR)/$(SDKDIRNAME)/include/
-odk_cpp_DOXY_INPUT := $(SRCDIR)/odk/docs/cpp/main.dox \
+# Cygwin Doxygen needs unix paths, wsl-as-helper needs paths into windows-realm
+odk_cygwin_path = $(if $(MSYSTEM),$(call gb_Helper_wsl_path,$(1)),$(call 
gb_Helper_cyg_path,$(1)))
+odk_cpp_PREFIX := $(call odk_cygwin_path,$(INSTDIR)/$(SDKDIRNAME)/include/)
+odk_cpp_DOXY_INPUT := $(call odk_cygwin_path,$(SRCDIR)/odk/docs/cpp/main.dox \
$(SRCDIR)/include/sal/log-areas.dox \
-   $(addprefix $(odk_cpp_PREFIX),$(odk_cpp_INCDIRLIST) 
$(odk_cpp_INCFILELIST))
-odk_cpp_DOXY_WORKDIR := $(call gb_CustomTarget_get_workdir,odk/docs/cpp)/ref
+   $(addprefix $(odk_cpp_PREFIX),$(odk_cpp_INCDIRLIST) 
$(odk_cpp_INCFILELIST)))
+odk_cpp_DOXY_WORKDIR := $(call odk_cygwin_path,$(call 
gb_CustomTarget_get_workdir,odk/docs/cpp)/ref)
 
 $(eval $(call gb_CustomTarget_register_targets,odk/docs,\
cpp/Doxyfile \
@@ -40,12 +40,12 @@ $(call gb_CustomTarget_get_workdir,odk/docs)/cpp/Doxyfile : 
\
$(gb_Module_CURRENTMAKEFILE)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),SED,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),SED)
-   sed -e 's!^INPUT = %$$!INPUT = $(call 
odk_cygwin_path,$(odk_cpp_DOXY_INPUT))!' \
-   -e 's!^OUTPUT_DIRECTORY = %$$!OUTPUT_DIRECTORY = $(call 
odk_cygwin_path,$(odk_cpp_DOXY_WORKDIR))!' \
+   sed -e 

core.git: 3 commits - bridges/source editeng/CustomTarget_generated.mk extras/CustomTarget_autocorr.mk extras/CustomTarget_autotextshare.mk extras/CustomTarget_autotextuser.mk extras/CustomTarget_temp

2024-04-26 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx |  102 
 bridges/source/cpp_uno/msvc_win32_arm64/abi.hxx |2 
 bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx |   26 -
 bridges/source/cpp_uno/msvc_win32_arm64/uno2cpp.cxx |   22 
 editeng/CustomTarget_generated.mk   |2 
 extras/CustomTarget_autocorr.mk |4 
 extras/CustomTarget_autotextshare.mk|5 
 extras/CustomTarget_autotextuser.mk |7 -
 extras/CustomTarget_templates.mk|   14 +-
 extras/CustomTarget_tplpresnt.mk|7 -
 extras/CustomTarget_tplwizard.mk|   14 +-
 filter/CustomTarget_svg.mk  |6 -
 sdext/CustomTarget_pdfimport.mk |2 
 solenv/gbuild/CustomTarget.mk   |2 
 solenv/gbuild/Extension.mk  |8 -
 solenv/gbuild/Zip.mk|4 
 sw/CustomTarget_generated.mk|   34 +++---
 17 files changed, 61 insertions(+), 200 deletions(-)

New commits:
commit 1b9482e1d21aec6c40e724efb9109fe9f9ed3e49
Author: Stephan Bergmann 
AuthorDate: Fri Apr 26 10:17:36 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Apr 26 14:01:54 2024 +0200

Drop unused RETURN_KIND_HFA_FLOAT/DOUBLE from msvc_win32_arm64 UNO bridge

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

diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx 
b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
index b8a1c73fb6f3..fbfdb1f34f40 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/abi.cxx
@@ -18,96 +18,11 @@
  */
 
 #include 
-#include 
 
 #include 
 
 #include "abi.hxx"
 
-enum StructKind
-{
-STRUCT_KIND_EMPTY,
-STRUCT_KIND_FLOAT,
-STRUCT_KIND_DOUBLE,
-STRUCT_KIND_POD,
-STRUCT_KIND_DTOR
-};
-
-static StructKind getStructKind(typelib_CompoundTypeDescription const* type)
-{
-StructKind k = type->pBaseTypeDescription == 0 ? STRUCT_KIND_EMPTY
-   : 
getStructKind(type->pBaseTypeDescription);
-
-for (sal_Int32 i = 0; i != type->nMembers; ++i)
-{
-StructKind k2 = StructKind();
-switch (type->ppTypeRefs[i]->eTypeClass)
-{
-case typelib_TypeClass_BOOLEAN:
-case typelib_TypeClass_BYTE:
-case typelib_TypeClass_SHORT:
-case typelib_TypeClass_UNSIGNED_SHORT:
-case typelib_TypeClass_LONG:
-case typelib_TypeClass_UNSIGNED_LONG:
-case typelib_TypeClass_HYPER:
-case typelib_TypeClass_UNSIGNED_HYPER:
-case typelib_TypeClass_CHAR:
-case typelib_TypeClass_ENUM:
-k2 = STRUCT_KIND_POD;
-break;
-case typelib_TypeClass_FLOAT:
-k2 = STRUCT_KIND_FLOAT;
-break;
-case typelib_TypeClass_DOUBLE:
-k2 = STRUCT_KIND_DOUBLE;
-break;
-case typelib_TypeClass_STRING:
-case typelib_TypeClass_TYPE:
-case typelib_TypeClass_ANY:
-case typelib_TypeClass_SEQUENCE:
-case typelib_TypeClass_INTERFACE:
-k2 = STRUCT_KIND_DTOR;
-break;
-case typelib_TypeClass_STRUCT:
-{
-typelib_TypeDescription* td = 0;
-TYPELIB_DANGER_GET(, type->ppTypeRefs[i]);
-k2 = 
getStructKind(reinterpret_cast(td));
-TYPELIB_DANGER_RELEASE(td);
-break;
-}
-default:
-assert(false);
-}
-switch (k2)
-{
-case STRUCT_KIND_EMPTY:
-// this means an empty sub-object, which nevertheless obtains 
a byte
-// of storage (TODO: does it?), so the full object cannot be a
-// homogeneous collection of float or double
-case STRUCT_KIND_POD:
-assert(k != STRUCT_KIND_DTOR);
-k = STRUCT_KIND_POD;
-break;
-case STRUCT_KIND_FLOAT:
-case STRUCT_KIND_DOUBLE:
-if (k == STRUCT_KIND_EMPTY)
-{
-k = k2;
-}
-else if (k != k2)
-{
-assert(k != STRUCT_KIND_DTOR);
-k = STRUCT_KIND_POD;
-}
-break;
-case STRUCT_KIND_DTOR:
-return STRUCT_KIND_DTOR;
-}
-}
-return k;
-}
-
 ReturnKind getReturnKind(typelib_TypeDescription const* type)
 {
 switch (type->eTypeClass)
@@ -134,24 +49,9 @@ ReturnKind 

core.git: 2 commits - config_host.mk.in configure.ac external/liblangtag Makefile.in solenv/bin solenv/gbuild

2024-04-26 Thread Christian Lohmaier (via logerrit)
 Makefile.in   |   10 +
 config_host.mk.in |4 
 configure.ac  |  123 +++---
 external/liblangtag/UnpackedTarball_liblangtag.mk |2 
 solenv/bin/shortpath.cmd  |1 
 solenv/gbuild/Helper.mk   |   36 ++
 solenv/gbuild/UnpackedTarball.mk  |2 
 solenv/gbuild/platform/com_MSC_defs.mk|8 -
 8 files changed, 164 insertions(+), 22 deletions(-)

New commits:
commit 9c6eece2c427473fafb41d9b5ee66e93363ecc8f
Author: Christian Lohmaier 
AuthorDate: Tue Jul 11 18:37:29 2023 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:01:36 2024 +0200

extracting tarballs that call helpers to uncompress require unix-style paths

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

diff --git a/external/liblangtag/UnpackedTarball_liblangtag.mk 
b/external/liblangtag/UnpackedTarball_liblangtag.mk
index 16b9ea999f71..40102052a79c 100644
--- a/external/liblangtag/UnpackedTarball_liblangtag.mk
+++ b/external/liblangtag/UnpackedTarball_liblangtag.mk
@@ -12,7 +12,7 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,liblangtag))
 $(eval $(call 
gb_UnpackedTarball_set_tarball,liblangtag,$(LIBLANGTAG_TARBALL),,liblangtag))
 
 $(eval $(call gb_UnpackedTarball_set_pre_action,liblangtag,\
-   $(GNUTAR) -x -j -f 
$(gb_UnpackedTarget_TARFILE_LOCATION)/$(LANGTAGREG_TARBALL) \
+   $(GNUTAR) -x -j -f $(call 
gb_Helper_cyg_path,$(gb_UnpackedTarget_TARFILE_LOCATION)/$(LANGTAGREG_TARBALL)) 
\
 ))
 
 $(eval $(call gb_UnpackedTarball_update_autoconf_configs,liblangtag))
diff --git a/solenv/gbuild/UnpackedTarball.mk b/solenv/gbuild/UnpackedTarball.mk
index fb574f6a95f1..4419dd172870 100644
--- a/solenv/gbuild/UnpackedTarball.mk
+++ b/solenv/gbuild/UnpackedTarball.mk
@@ -24,7 +24,7 @@ $(GNUTAR) \
$(3) \
-C $(UNPACKED_DIR) \
$(STRIP_COMPONENTS)=$(UNPACKED_STRIP_COMPONENTS) \
-   -f $(UNPACKED_TARBALL)
+   -f $(call gb_Helper_cyg_path,$(UNPACKED_TARBALL))
 endef
 
 define gb_UnpackedTarget__command_unzip
commit 4c86718e78c6b18c84774e48ca025694364c251a
Author: Christian Lohmaier 
AuthorDate: Thu Apr 18 12:45:01 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:01:26 2024 +0200

initial support for running autogen.sh inside wsl from git-bash

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

diff --git a/Makefile.in b/Makefile.in
index ab7090ee1e77..f55e92c94405 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -38,6 +38,11 @@ Makefile $(BUILDDIR)/Makefile: $(BUILDDIR)/config_host.mk 
$(BUILDDIR)/config_hos
@touch $@
 
 # run configure in an environment not polluted by config_host.mk
+ifneq ($(MSYSTEM),)
+WSL:=@WSL@
+# wsl needs unix-style path into windows realm
+$(BUILDDIR)/config_host.mk : SRCDIR:=/$(shell $(WSL) wslpath -u $(SRCDIR))
+endif
 $(BUILDDIR)/config_host.mk : $(wildcard \
$(SRCDIR)/autogen.sh \
$(SRCDIR)/config_host.mk.in \
@@ -51,9 +56,8 @@ $(BUILDDIR)/config_host.mk : $(wildcard \
$(BUILDDIR)/autogen.input \
$(BUILDDIR)/autogen.lastrun \
) \
-   $(shell . $(SRCDIR)/bin/get_config_variables JAVA_HOME && \
-   if test -n "$${JAVA_HOME}" -a ! -d "$${JAVA_HOME}/bin"; 
then echo force-restart; fi)
-   sh -c $(SRCDIR)/autogen.sh
+   $(shell if test -n '$(JAVA_HOME)' -a ! -d '$(JAVA_HOME)'; then 
echo force-restart; fi)
+   sh -c "$(if $(MSYSTEM),$(WSL) )$(SRCDIR)/autogen.sh"
 
 else # MAKE_RESTARTS
 
diff --git a/config_host.mk.in b/config_host.mk.in
index c1cd96717707..1d5480bacf61 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -792,4 +792,6 @@ include @SRC_ROOT@/download.lst
 
 # prep for WSL-as-helper-builds where build runs from within git-bash/MSYS 
that would otherwise
 # messes with anything that looks like a path (starts with /) but it cannot 
resolve
-export MSYS_NO_PATHCONV=1
\ No newline at end of file
+export MSYS_NO_PATHCONV=1
+STRAWBERRY_PERL=@STRAWBERRY_PERL@
+WSL=@WSL@
\ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 46430707a313..cf14c248e948 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,7 @@ SCPDEFS=""
 GIT_NEEDED_SUBMODULES=""
 LO_PATH= # used by path_munge to construct a PATH variable
 
+
 FilterLibs()
 {
 # Return value: $filteredlibs
@@ -191,6 +192,19 @@ PathFormat()
 # But Cygwin can
 formatted_path_unix="$formatted_path"
 fi
+if test -n "$WSL_ONLY_AS_HELPER"; then
+# if already in unix format, switch to windows format to create 
shortened path

core.git: 2 commits - cli_ure/CustomTarget_cli_ure_assemblies.mk configure.ac editeng/CustomTarget_generated.mk filter/CustomTarget_svg.mk solenv/gbuild sw/CustomTarget_generated.mk

2024-04-26 Thread Christian Lohmaier (via logerrit)
 cli_ure/CustomTarget_cli_ure_assemblies.mk |   43 ++---
 configure.ac   |   15 ++
 editeng/CustomTarget_generated.mk  |5 +--
 filter/CustomTarget_svg.mk |3 --
 solenv/gbuild/CustomTarget.mk  |2 -
 sw/CustomTarget_generated.mk   |3 --
 6 files changed, 30 insertions(+), 41 deletions(-)

New commits:
commit f618f08cc310f20e2888cf4e5e99cfeb8fbd15b7
Author: Christian Lohmaier 
AuthorDate: Sun Apr 21 21:50:55 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:01:19 2024 +0200

simplify some sed rules/statements and use proper quoting

make removes partially built targets in case the rule exits with
non-zero status, so creating a temp file and moving it is not necessary
also use single quotes for cases where characters might be interpreted
by the shell
Also combine multiple sed calls into a single call of sed with multiple
expressions and replace additional "grep -v foo" with corresponding sed
delete command

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

diff --git a/cli_ure/CustomTarget_cli_ure_assemblies.mk 
b/cli_ure/CustomTarget_cli_ure_assemblies.mk
index 260a52b25fec..266df95f2706 100644
--- a/cli_ure/CustomTarget_cli_ure_assemblies.mk
+++ b/cli_ure/CustomTarget_cli_ure_assemblies.mk
@@ -19,37 +19,24 @@ $(call gb_CustomTarget_get_target,cli_ure/source) : \
$(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/assembly.cs
 
 $(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/assembly.cs : \
-   $(SRCDIR)/cli_ure/source/basetypes/assembly.cs \
-   $(SRCDIR)/cli_ure/version/version.txt \
-   $(cli_ure_source_MAKEFILE) \
-   | $(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/.dir
+$(SRCDIR)/cli_ure/source/basetypes/assembly.cs \
+$(SRCDIR)/cli_ure/version/version.txt \
+$(cli_ure_source_MAKEFILE) \
+| $(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/.dir
+   sed -e "s/@CLI_BASETYPES_NEW_VERSION@/$(CLI_BASETYPES_NEW_VERSION)/g" 
$< > $@
 
 $(call gb_CustomTarget_get_workdir,cli_ure/source)/native/assembly.cxx : \
-   $(SRCDIR)/cli_ure/source/native/assembly.cxx \
-   $(SRCDIR)/cli_ure/version/version.txt \
-   $(cli_ure_source_MAKEFILE) \
-   | $(call gb_CustomTarget_get_workdir,cli_ure/source)/native/.dir
+$(SRCDIR)/cli_ure/source/native/assembly.cxx \
+$(SRCDIR)/cli_ure/version/version.txt \
+$(cli_ure_source_MAKEFILE) \
+| $(call gb_CustomTarget_get_workdir,cli_ure/source)/native/.dir
+   sed -e "s/@CLI_CPPUHELPER_NEW_VERSION@/$(CLI_CPPUHELPER_NEW_VERSION)/g" 
$< > $@
 
 $(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/assembly.cs : \
-   $(SRCDIR)/cli_ure/source/ure/assembly.cs \
-   $(SRCDIR)/cli_ure/version/version.txt \
-   $(cli_ure_source_MAKEFILE) \
-   | $(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/.dir
-
-$(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/assembly.cs :
-   sed -e "s/@CLI_BASETYPES_NEW_VERSION@/$(CLI_BASETYPES_NEW_VERSION)/g" \
-   < $< > $@.tmp && \
-   mv $@.tmp $@
-
-# TODO use macros for this
-$(call gb_CustomTarget_get_workdir,cli_ure/source)/native/assembly.cxx :
-   sed -e "s/@CLI_CPPUHELPER_NEW_VERSION@/$(CLI_CPPUHELPER_NEW_VERSION)/g" 
\
-   < $< > $@.tmp && \
-   mv $@.tmp $@
-
-$(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/assembly.cs :
-   sed -e "s/@CLI_URE_NEW_VERSION@/$(CLI_URE_NEW_VERSION)/g" \
-   < $< > $@.tmp && \
-   mv $@.tmp $@
+$(SRCDIR)/cli_ure/source/ure/assembly.cs \
+$(SRCDIR)/cli_ure/version/version.txt \
+$(cli_ure_source_MAKEFILE) \
+| $(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/.dir
+   sed -e "s/@CLI_URE_NEW_VERSION@/$(CLI_URE_NEW_VERSION)/g" $< > $@
 
 # vim: set noet sw=4 ts=4:
diff --git a/editeng/CustomTarget_generated.mk 
b/editeng/CustomTarget_generated.mk
index 77fb4f7bf383..8f05f6ccb23b 100644
--- a/editeng/CustomTarget_generated.mk
+++ b/editeng/CustomTarget_generated.mk
@@ -19,9 +19,8 @@ $(editeng_INC)/tokens.hxx $(editeng_INC)/tokens.gperf : 
$(editeng_SRC)/tokens.tx
$(call gb_ExternalExecutable_get_command,python) $(editeng_PY) 
$(editeng_SRC)/tokens.txt $(editeng_INC)/tokens.gperf
 
 $(editeng_INC)/tokens.cxx : $(editeng_INC)/tokens.gperf
-   $(GPERF) --compare-strncmp --readonly-tables 
--output-file=$(editeng_INC)/tokens.cxx $(editeng_INC)/tokens.gperf
-   sed -i $(if $(filter MACOSX,$(OS_FOR_BUILD)),'') -e 
"s/(char\*)0/(char\*)0, XML_TOKEN_INVALID/g" $(editeng_INC)/tokens.cxx
-   sed -i $(if $(filter MACOSX,$(OS_FOR_BUILD)),'') -e "/^#line/d" 
$(editeng_INC)/tokens.cxx
+   $(GPERF) 

core.git: 2 commits - configure.ac

2024-04-26 Thread Christian Lohmaier (via logerrit)
 configure.ac |  118 +--
 1 file changed, 59 insertions(+), 59 deletions(-)

New commits:
commit d9d976cd0ab0b52647e562d5c9cc3e492f71ee5d
Author: Christian Lohmaier 
AuthorDate: Thu Apr 18 12:56:50 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:01:00 2024 +0200

use unix paths for dir tests and prefer PathFormat…

over manual cygpath calls. Since PathFormat checks whether the path is
8.3 compatible/in case of spaces or other incompatible characters remove
some superfluous checks
also drop a workaround for VS2017 (minimum requried version is 2019)

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

diff --git a/configure.ac b/configure.ac
index 7aa526693862..554ccc8bc683 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4142,7 +4142,8 @@ win_get_env_from_vsdevcmdbat()
 {
 local WRAPPERBATCHFILEPATH="`mktemp -t wrpXX.bat`"
 printf '@set VSCMD_SKIP_SENDTELEMETRY=1
' > $WRAPPERBATCHFILEPATH
-printf '@call "%s/../Common7/Tools/VsDevCmd.bat" /no_logo
' "$(cygpath -w $VC_PRODUCT_DIR)" >> $WRAPPERBATCHFILEPATH
+PathFormat "$VC_PRODUCT_DIR"
+printf '@call "%s/../Common7/Tools/VsDevCmd.bat" /no_logo
' "$formatted_path" >> $WRAPPERBATCHFILEPATH
 # use 'echo.%ENV%' syntax (instead of 'echo %ENV%') to avoid outputting 
"ECHO is off." in case when ENV is empty or a space
 printf '@setlocal
@echo.%%%s%%
@endlocal
' "$1" >> $WRAPPERBATCHFILEPATH
 local result
@@ -4177,7 +4178,7 @@ find_ucrt()
 ide_env_file="${ide_env_dir}VsDevCmd.bat"
 if test -f "$ide_env_file"; then
 PathFormat "$(win_get_env_from_vsdevcmdbat UniversalCRTSdkDir)"
-UCRTSDKDIR=$formatted_path
+UCRTSDKDIR=$formatted_path_unix
 UCRTVERSION=$(win_get_env_from_vsdevcmdbat UCRTVersion)
 dnl Hack needed at least by tml:
 if test "$UCRTVERSION" = 10.0.15063.0 \
@@ -4371,9 +4372,9 @@ if test "$_os" = "WINNT"; then
 fi
 
 # Find the version of devenv.exe
-# MSVC 2017 devenv does not start properly from a DOS 8.3 path
-DEVENV=$(cygpath -lm "$VC_PRODUCT_DIR/../Common7/IDE/devenv.exe")
-DEVENV_unix=$(cygpath -u "$DEVENV")
+PathFormat "$VC_PRODUCT_DIR/../Common7/IDE/devenv.exe"
+DEVENV="$formatted_path"
+DEVENV_unix="$formatted_path_unix"
 if test ! -e "$DEVENV_unix"; then
 AC_MSG_WARN([No devenv.exe found - this is expected for VC++ Build 
Tools])
 fi
@@ -4398,11 +4399,10 @@ if test "$_os" = "WINNT"; then
 # Remove /cl.exe from CC case insensitive
 AC_MSG_NOTICE([found Visual C++ $vcyear])
 
-main_include_dir=`cygpath -d -m "$COMPATH/Include"`
-CPPFLAGS="$CPPFLAGS -I$main_include_dir"
-
 PathFormat "$COMPATH"
-COMPATH=`win_short_path_for_make "$formatted_path"`
+COMPATH="$formatted_path"
+COMPATH_unix="$formatted_path_unix"
+CPPFLAGS="$CPPFLAGS -I$COMPATH/Include"
 
 VCVER=$vcnumwithdot
 VCTOOLSET=$vctoolset
@@ -6733,15 +6733,10 @@ find_winsdk_version()
 winsdkbinsubdir="$regvalue".0
 winsdklibsubdir=$winsdkbinsubdir
 local tmppath="$winsdktest\Include\$winsdklibsubdir"
-local tmppath_unix=$(cygpath -u "$tmppath")
+PathFormat "$tmppath"
+local tmppath_unix=$formatted_path_unix
 # test exist the SDK path
-if test -d "$tmppath_unix"; then
-   # when path is convertible to a short path then path is okay
-   cygpath -d "$tmppath" >/dev/null 2>&1
-   if test $? -ne 0; then
-  AC_MSG_ERROR([Windows SDK doesn't have a 8.3 name, see 
NtfsDisable8dot3NameCreation])
-   fi
-else
+if test ! -d "$tmppath_unix"; then
AC_MSG_ERROR([The Windows SDK not found, check the 
installation])
 fi
 fi
@@ -6847,8 +6842,8 @@ if test "$_os" = "WINNT"; then
 
 # normalize if found
 if test -n "$WINDOWS_SDK_HOME"; then
-WINDOWS_SDK_HOME=`cygpath -d "$WINDOWS_SDK_HOME"`
-WINDOWS_SDK_HOME=`cygpath -u "$WINDOWS_SDK_HOME"`
+PathFormat "$WINDOWS_SDK_HOME"
+WINDOWS_SDK_HOME=$formatted_path_unix
 fi
 
 WINDOWS_SDK_LIB_SUBDIR=$winsdklibsubdir
@@ -6916,9 +6911,9 @@ the  Windows SDK are installed.])
 WINDOWS_SDK_HOME_unix="$formatted_path_unix"
 if test "$build_os" = "cygwin" -o "$build_os" = "wsl"; then
 SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/Include"
-if test -d "$WINDOWS_SDK_HOME/include/um"; then
+if test -d "$WINDOWS_SDK_HOME_unix/include/um"; then
 SOLARINC="$SOLARINC 

core.git: 2 commits - config_host.mk.in external/beanshell external/hsqldb external/java_websocket external/jfreereport external/libcdr external/libebook external/libepubgen external/libfreehand exter

2024-04-26 Thread Christian Lohmaier (via logerrit)
 config_host.mk.in |4 +
 external/beanshell/ExternalProject_beanshell.mk   |2 
 external/hsqldb/ExternalProject_hsqldb.mk |2 
 external/java_websocket/ExternalProject_java_websocket.mk |2 
 external/jfreereport/ExternalProject_jfreereport_flow_engine.mk   |2 
 external/jfreereport/ExternalProject_jfreereport_flute.mk |2 
 external/jfreereport/ExternalProject_jfreereport_libbase.mk   |2 
 external/jfreereport/ExternalProject_jfreereport_libfonts.mk  |2 
 external/jfreereport/ExternalProject_jfreereport_libformula.mk|2 
 external/jfreereport/ExternalProject_jfreereport_liblayout.mk |2 
 external/jfreereport/ExternalProject_jfreereport_libloader.mk |2 
 external/jfreereport/ExternalProject_jfreereport_librepository.mk |2 
 external/jfreereport/ExternalProject_jfreereport_libserializer.mk |2 
 external/jfreereport/ExternalProject_jfreereport_libxml.mk|2 
 external/jfreereport/ExternalProject_jfreereport_sac.mk   |2 
 external/libcdr/ExternalProject_libcdr.mk |2 
 external/libebook/ExternalProject_libebook.mk |2 
 external/libepubgen/ExternalProject_libepubgen.mk |2 
 external/libfreehand/ExternalProject_libfreehand.mk   |2 
 external/liblangtag/ExternalProject_liblangtag.mk |2 
 external/libqxp/ExternalProject_libqxp.mk |2 
 external/libvisio/ExternalProject_libvisio.mk |2 
 external/libzmf/ExternalProject_libzmf.mk |2 
 solenv/bin/modules/installer.pm   |2 
 solenv/bin/modules/installer/control.pm   |4 +
 solenv/bin/modules/installer/globals.pm   |2 
 solenv/bin/modules/installer/parameter.pm |1 
 solenv/bin/modules/installer/windows/msiglobal.pm |   21 
+-
 28 files changed, 43 insertions(+), 35 deletions(-)

New commits:
commit a97d983b501b28a2b5a9387efb6206b50097ffa1
Author: Christian Lohmaier 
AuthorDate: Fri Apr 19 14:54:12 2024 +0200
Commit: Christian Lohmaier 
CommitDate: Fri Apr 26 14:00:43 2024 +0200

don't throw away command output when packaging installsets

and adjust installer to work with MSWin-style perl (like strawberry
perl)

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

diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm
index 8c5c275adb91..5f9214e09e88 100644
--- a/solenv/bin/modules/installer.pm
+++ b/solenv/bin/modules/installer.pm
@@ -580,8 +580,6 @@ sub run {
 
 
installer::scriptitems::changing_name_of_language_dependent_keys($filesinproductlanguageresolvedarrayref);
 
-if ( $installer::globals::iswin and $^O =~ /MSWin/i ) { 
installer::converter::convert_slash_to_backslash($filesinproductlanguageresolvedarrayref);
 }
-
 $filesinproductlanguageresolvedarrayref = 
installer::scriptitems::remove_non_existent_languages_in_productlists($filesinproductlanguageresolvedarrayref,
 $languagestringref, "Name", "file");
 
 
installer::scriptitems::get_Destination_Directory_For_Item_From_Directorylist($filesinproductlanguageresolvedarrayref,
 $dirsinproductarrayref);
diff --git a/solenv/bin/modules/installer/control.pm 
b/solenv/bin/modules/installer/control.pm
index d126e917b57f..4faff4f39b9f 100644
--- a/solenv/bin/modules/installer/control.pm
+++ b/solenv/bin/modules/installer/control.pm
@@ -87,6 +87,8 @@ sub check_system_path
 map { my $dir = qx{cygpath -m "$_"}; chomp($dir); $dir 
}
 split /\Q$local_pathseparator\E\s*/, $pathvariable;
 $local_pathseparator = ';';
+} elsif ( $^O =~ /MSWin/i ) {
+$local_pathseparator = ';';
 }
 my $patharrayref = 
installer::converter::convert_stringlist_into_array(\$pathvariable, 
$local_pathseparator);
 
@@ -96,7 +98,7 @@ sub check_system_path
 
 if (($installer::globals::iswin) && ($installer::globals::iswindowsbuild))
 {
-@needed_files_in_path = ("zip.exe", "msiinfo.exe", "msidb.exe", 
"uuidgen", "makecab.exe", "msitran.exe", "expand.exe");
+@needed_files_in_path = ("msiinfo.exe", "msidb.exe", "uuidgen.exe", 
"makecab.exe", "msitran.exe", "expand.exe");
 }
 elsif ($installer::globals::iswin)
 {
diff --git a/solenv/bin/modules/installer/globals.pm 
b/solenv/bin/modules/installer/globals.pm
index 045d9d6afde9..0dc148a9155a 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -265,7 +265,7 @@ BEGIN
 @installer::globals::removedirs = ();
 

core.git: solenv/sanitizers

2024-04-26 Thread Caolán McNamara (via logerrit)
 solenv/sanitizers/ui/modules/scalc.suppr|1 -
 solenv/sanitizers/ui/modules/simpress.suppr |2 --
 solenv/sanitizers/ui/vcl.suppr  |1 -
 3 files changed, 4 deletions(-)

New commits:
commit 0d822662ed178a6f45e25e5c1dde9b486796b404
Author: Caolán McNamara 
AuthorDate: Fri Apr 26 09:01:08 2024 +0100
Commit: Caolán McNamara 
CommitDate: Fri Apr 26 13:36:39 2024 +0200

drop some unused suppressions

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

diff --git a/solenv/sanitizers/ui/modules/scalc.suppr 
b/solenv/sanitizers/ui/modules/scalc.suppr
index 8e0acbdf8290..976cff832567 100644
--- a/solenv/sanitizers/ui/modules/scalc.suppr
+++ b/solenv/sanitizers/ui/modules/scalc.suppr
@@ -17,7 +17,6 @@ 
sc/uiconfig/scalc/ui/conditionalentry.ui://GtkEntry[@id='val1'] no-labelled-by
 sc/uiconfig/scalc/ui/conditionalentry.ui://GtkEntry[@id='val2'] no-labelled-by
 sc/uiconfig/scalc/ui/conditionalentry.ui://GtkComboBoxText[@id='iconsettype'] 
no-labelled-by
 sc/uiconfig/scalc/ui/conditionalentry.ui://GtkEntry[@id='formula'] 
no-labelled-by
-sc/uiconfig/scalc/ui/conditionaliconset.ui://GtkLabel[@id='label'] orphan-label
 sc/uiconfig/scalc/ui/conditionaliconset.ui://GtkEntry[@id='entry'] 
no-labelled-by
 sc/uiconfig/scalc/ui/conditionaliconset.ui://GtkComboBoxText[@id='listbox'] 
no-labelled-by
 sc/uiconfig/scalc/ui/conditionaliconset.ui://GtkImage[@id='icon'] 
no-labelled-by
diff --git a/solenv/sanitizers/ui/modules/simpress.suppr 
b/solenv/sanitizers/ui/modules/simpress.suppr
index 33453296bdea..11e7ed86afde 100644
--- a/solenv/sanitizers/ui/modules/simpress.suppr
+++ b/solenv/sanitizers/ui/modules/simpress.suppr
@@ -22,8 +22,6 @@ 
sd/uiconfig/simpress/ui/presentationdialog.ui://GtkLabel[@id='externalmonitor_st
 sd/uiconfig/simpress/ui/presentationdialog.ui://GtkLabel[@id='monitor_str'] 
orphan-label
 
sd/uiconfig/simpress/ui/presentationdialog.ui://GtkLabel[@id='allmonitors_str'] 
orphan-label
 sd/uiconfig/simpress/ui/presentationdialog.ui://GtkLabel[@id='external_str'] 
orphan-label
-sd/uiconfig/simpress/ui/prntopts.ui://GtkCheckButton[@id='frontcb'] 
missing-label-for
-sd/uiconfig/simpress/ui/prntopts.ui://GtkCheckButton[@id='backcb'] 
missing-label-for
 
sd/uiconfig/simpress/ui/sidebarslidebackground.ui://GtkComboBoxText[@id='masterslide']
 no-labelled-by
 
sd/uiconfig/simpress/ui/sidebarslidebackground.ui://GtkLabel[@id='masterlabel'] 
orphan-label
 
sd/uiconfig/simpress/ui/sidebarslidebackground.ui://GtkLabel[@id='customlabel'] 
orphan-label
diff --git a/solenv/sanitizers/ui/vcl.suppr b/solenv/sanitizers/ui/vcl.suppr
index 52e3b4d86df5..2f7af214e0c9 100644
--- a/solenv/sanitizers/ui/vcl.suppr
+++ b/solenv/sanitizers/ui/vcl.suppr
@@ -4,7 +4,6 @@ vcl/uiconfig/ui/aboutbox.ui://GtkTextView[@id='version'] 
no-labelled-by
 vcl/uiconfig/ui/aboutbox.ui://GtkLabel[@id='description'] orphan-label
 vcl/uiconfig/ui/aboutbox.ui://GtkLabel[@id='copyright'] orphan-label
 vcl/uiconfig/ui/combobox.ui://GtkEntry[@id='entry'] no-labelled-by
-vcl/uiconfig/ui/combobox.ui://GtkToggleButton[@id='button'] button-no-label
 vcl/uiconfig/ui/combobox.ui://GtkMenuButton[@id='overlaybutton'] 
button-no-label
 vcl/uiconfig/ui/cupspassworddialog.ui://GtkLabel[@id='text'] orphan-label
 vcl/uiconfig/ui/editmenu.ui://GtkMenuItem[@id='specialchar'] button-no-label


core.git: Branch 'libreoffice-24-2-3' - 2 commits - vcl/qa vcl/source

2024-04-26 Thread Noel Grandin (via logerrit)
 vcl/qa/cppunit/graphicfilter/filters-webp-test.cxx |   12 ++--
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx|6 +-
 vcl/source/filter/webp/reader.cxx  |4 ++--
 vcl/source/gdi/pdfwriter_impl.cxx  |   14 ++
 4 files changed, 23 insertions(+), 13 deletions(-)

New commits:
commit 1e8ac8b7c865d63014c6655e2e7e77979927c4f7
Author: Noel Grandin 
AuthorDate: Mon Apr 22 14:52:32 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Apr 26 13:24:04 2024 +0200

tdf#160431 Inverts webp file image when inserted

regression from
commit 81994cb2b8b32453a92bcb011830fcb884f22ff3
Author: Noel Grandin 
Date:   Fri Apr 16 20:33:10 2021 +0200
Convert internal vcl bitmap formats transparency->alpha (II)

Change-Id: I3b2959c99a2e18c3972920f8ca86072566d54225
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166450
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
(cherry picked from commit c503b6eef32055f75dc9cf761bd20eda4f161dd4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166434
Reviewed-by: Adolfo Jayme Barrientos 
(cherry picked from commit 414d58e8fe8ecf545549dc960e1599b1035b7564)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166510
Reviewed-by: Xisco Fauli 
Tested-by: Noel Grandin 

diff --git a/vcl/qa/cppunit/graphicfilter/filters-webp-test.cxx 
b/vcl/qa/cppunit/graphicfilter/filters-webp-test.cxx
index d3c43f48191f..cbc23315ca30 100644
--- a/vcl/qa/cppunit/graphicfilter/filters-webp-test.cxx
+++ b/vcl/qa/cppunit/graphicfilter/filters-webp-test.cxx
@@ -141,10 +141,10 @@ void WebpFilterTest::testRoundtrip(bool lossy)
 }
 AlphaMask tmpAlpha = aResultBitmap.GetAlphaMask();
 BitmapScopedReadAccess pAccessAlpha(tmpAlpha);
-CPPUNIT_ASSERT_EQUAL(sal_uInt8(0), pAccessAlpha->GetPixelIndex(0, 0));
-CPPUNIT_ASSERT_EQUAL(sal_uInt8(0), pAccessAlpha->GetPixelIndex(0, 19));
-CPPUNIT_ASSERT_EQUAL(sal_uInt8(0), pAccessAlpha->GetPixelIndex(19, 0));
-CPPUNIT_ASSERT_EQUAL(sal_uInt8(64), pAccessAlpha->GetPixelIndex(19, 
19));
+CPPUNIT_ASSERT_EQUAL(sal_uInt8(255), pAccessAlpha->GetPixelIndex(0, 
0));
+CPPUNIT_ASSERT_EQUAL(sal_uInt8(255), pAccessAlpha->GetPixelIndex(0, 
19));
+CPPUNIT_ASSERT_EQUAL(sal_uInt8(255), pAccessAlpha->GetPixelIndex(19, 
0));
+CPPUNIT_ASSERT_EQUAL(sal_uInt8(191), pAccessAlpha->GetPixelIndex(19, 
19));
 }
 
 aStream.Seek(STREAM_SEEK_TO_BEGIN);
@@ -192,8 +192,8 @@ void WebpFilterTest::testRead(std::u16string_view rName, 
bool lossy, bool alpha)
 {
 AlphaMask tmpAlpha = aResultBitmap.GetAlphaMask();
 BitmapScopedReadAccess pAccessAlpha(tmpAlpha);
-CPPUNIT_ASSERT_EQUAL(sal_uInt8(0), pAccessAlpha->GetPixelIndex(0, 
0));
-CPPUNIT_ASSERT_EQUAL(sal_uInt8(255), 
pAccessAlpha->GetPixelIndex(0, 9));
+CPPUNIT_ASSERT_EQUAL(sal_uInt8(255), 
pAccessAlpha->GetPixelIndex(0, 0));
+CPPUNIT_ASSERT_EQUAL(sal_uInt8(0), pAccessAlpha->GetPixelIndex(0, 
9));
 }
 }
 }
diff --git a/vcl/source/filter/webp/reader.cxx 
b/vcl/source/filter/webp/reader.cxx
index 1d75ff79e8d1..200331247644 100644
--- a/vcl/source/filter/webp/reader.cxx
+++ b/vcl/source/filter/webp/reader.cxx
@@ -241,7 +241,7 @@ static bool readWebp(SvStream& stream, Graphic& graphic)
 for (tools::Long x = 0; x < access->Width(); ++x)
 {
 memcpy(dstB, src, 3);
-*dstA = 255 - *(src + 3);
+*dstA = *(src + 3);
 src += 4;
 dstB += 3;
 dstA += 1;
@@ -273,7 +273,7 @@ static bool readWebp(SvStream& stream, Graphic& graphic)
 for (tools::Long x = 0; x < accessAlpha->Width(); ++x)
 {
 sal_uInt8 a = src[3];
-accessAlpha->SetPixelIndex(y, x, 255 - a);
+accessAlpha->SetPixelIndex(y, x, a);
 src += 4;
 }
 }
commit f15ac9bb71266a9c1c058a782e6752129aa4d0b3
Author: Patrick Luby 
AuthorDate: Mon Apr 22 19:36:14 2024 -0400
Commit: Noel Grandin 
CommitDate: Fri Apr 26 13:23:57 2024 +0200

tdf#160714 use crop box for bounds of embedded PDF object

If there is no crop box, fallback to the media box just to be safe.

Change-Id: I29f99a43e550cf09a1534c0aa01ffd6a55536fb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166544
Tested-by: Jenkins
Reviewed-by: Patrick Luby 
(cherry picked from commit 4b31f87e918c38a7eb30ceb85563a5c98b426da5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166671
Tested-by: Noel Grandin 
Reviewed-by: Noel Grandin 
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx 

core.git: sw/source

2024-04-26 Thread Noel Grandin (via logerrit)
 sw/source/writerfilter/dmapper/DomainMapper.cxx  |6 -
 sw/source/writerfilter/dmapper/DomainMapper.hxx  |2 
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx |   89 +--
 sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx |5 -
 sw/source/writerfilter/dmapper/PropertyMap.cxx   |5 -
 sw/source/writerfilter/dmapper/SdtHelper.cxx |   10 +-
 sw/source/writerfilter/dmapper/StyleSheetTable.cxx   |2 
 7 files changed, 56 insertions(+), 63 deletions(-)

New commits:
commit 556af85ae78d1d11f8b3c59953342b770e25620c
Author: Noel Grandin 
AuthorDate: Wed Apr 24 11:43:44 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Apr 26 13:19:35 2024 +0200

use more concrete UNO in writerfilter

elimate the TextFactory stuff, since it is the same object as the
TextDocument

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

diff --git a/sw/source/writerfilter/dmapper/DomainMapper.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper.cxx
index 16106cf0e5d5..5a9f84aa3b0d 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper.cxx
@@ -172,7 +172,7 @@ DomainMapper::DomainMapper( const uno::Reference< 
uno::XComponentContext >& xCon
 // the intended font to provide best layout match.
 try
 {
-uno::Reference< beans::XPropertySet > 
xDefProps(GetTextFactory()->createInstance("com.sun.star.text.Defaults"),
+uno::Reference< beans::XPropertySet > 
xDefProps(GetTextDocument()->createInstance("com.sun.star.text.Defaults"),
 uno::UNO_QUERY_THROW);
 xDefProps->setPropertyValue(getPropertyName(PROP_CHAR_FONT_NAME), 
css::uno::Any(OUString("Calibri")));
 xDefProps->setPropertyValue(getPropertyName(PROP_CHAR_HEIGHT), 
css::uno::Any(double(11)));
@@ -4859,9 +4859,9 @@ bool DomainMapper::IsRTFImport() const
 return m_pImpl->IsRTFImport();
 }
 
-uno::Reference < lang::XMultiServiceFactory > const & 
DomainMapper::GetTextFactory() const
+rtl::Reference const & DomainMapper::GetTextDocument() const
 {
-return m_pImpl->GetTextFactory();
+return m_pImpl->GetTextDocument();
 }
 
 uno::Reference< text::XTextRange > DomainMapper::GetCurrentTextRange()
diff --git a/sw/source/writerfilter/dmapper/DomainMapper.hxx 
b/sw/source/writerfilter/dmapper/DomainMapper.hxx
index de43478bae7f..ecd5c4459273 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper.hxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper.hxx
@@ -103,7 +103,7 @@ public:
 
 bool IsOOXMLImport() const;
 bool IsRTFImport() const;
-css::uno::Reference const & 
GetTextFactory() const;
+rtl::Reference const & GetTextDocument() const;
 css::uno::Reference GetCurrentTextRange();
 
 OUString getOrCreateCharStyle( PropertyValueVector_t& rCharProperties, 
bool bAlwaysCreate );
diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx 
b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
index 2a4f3052df81..aab27ef1a4bc 100644
--- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
+++ b/sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx
@@ -333,7 +333,6 @@ DomainMapper_Impl::DomainMapper_Impl(
 m_rDMapper( rDMapper ),
 m_pOOXMLDocument(nullptr),
 m_xTextDocument( xModel ),
-m_xTextFactory( xModel ),
 m_xComponentContext(std::move( xContext )),
 
m_bForceGenericFields(officecfg::Office::Common::Filter::Microsoft::Import::ForceImportWWFieldsAsGenericFields::get()),
 m_bIsDecimalComma( false ),
@@ -526,9 +525,9 @@ uno::Reference< text::XText > const & 
DomainMapper_Impl::GetBodyText()
 
 uno::Reference< beans::XPropertySet > const & 
DomainMapper_Impl::GetDocumentSettings()
 {
-if( !m_xDocumentSettings.is() && m_xTextFactory.is())
+if( !m_xDocumentSettings.is() && m_xTextDocument.is())
 {
-m_xDocumentSettings.set( 
m_xTextFactory->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY );
+m_xDocumentSettings.set( 
m_xTextDocument->createInstance("com.sun.star.document.Settings"), 
uno::UNO_QUERY );
 }
 return m_xDocumentSettings;
 }
@@ -875,7 +874,7 @@ void DomainMapper_Impl::RemoveLastParagraph( )
 {
 // Yes, it was removed. Restore
 uno::Reference xBookmark(
-
m_xTextFactory->createInstance("com.sun.star.text.Bookmark"),
+
m_xTextDocument->createInstance("com.sun.star.text.Bookmark"),
 uno::UNO_QUERY_THROW);
 
 uno::Reference xBkmNamed(xBookmark,
@@ -1083,7 +1082,7 @@ void DomainMapper_Impl::PopSdt()
 }
 
 uno::Reference xContentControl(
-m_xTextFactory->createInstance("com.sun.star.text.ContentControl"), 
uno::UNO_QUERY);
+

core.git: solenv/bin

2024-04-26 Thread kubak (via logerrit)
 solenv/bin/modules/installer/windows/file.pm |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit e7f96e960cd0e0fe0c25662920bd34b096aad398
Author: kubak 
AuthorDate: Wed Apr 24 12:21:59 2024 +0200
Commit: Mike Kaganski 
CommitDate: Fri Apr 26 13:13:46 2024 +0200

MSI: Fix use of illegal character "@"

ICE03 ERROR Invalid identifier;

Example:

flt14.mo 
gid_file_res_flt_lang__libreoffice_program_resource_ca@valen_dcb80460e flt.mo 
55482 2051 16384 13967

We use the illegal "@" sign. Changing to underscore "_".

https: //learn.microsoft.com/en-us/windows/win32/msi/identifier
Change-Id: I50c40a3cde3f4b57b71ddda9876f27db08aa0970
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166580
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/solenv/bin/modules/installer/windows/file.pm 
b/solenv/bin/modules/installer/windows/file.pm
index 9c5e76c52643..a4184ff112fa 100644
--- a/solenv/bin/modules/installer/windows/file.pm
+++ b/solenv/bin/modules/installer/windows/file.pm
@@ -248,7 +248,8 @@ sub get_file_component_name
 $componentname = lc($componentname);# componentnames always 
lowercase
 
 $componentname =~ s/\-/\_/g;# converting "-" to "_"
-$componentname =~ s/\./\_/g;# converting "-" to "_"
+$componentname =~ s/\./\_/g;# converting "." to "_"
+$componentname =~ s/\@/\_/g;# converting "@" to "_"
 
 # Attention: Maximum length for the componentname is 72
 # %installer::globals::allcomponents_in_this_database : reset for each 
database


core.git: scp2/source setup_native/source solenv/bin

2024-04-26 Thread kubak (via logerrit)
 scp2/source/ooo/ucrt.scp  |   12 +-
 setup_native/source/win32/customactions/inst_msu/inst_msu.cxx |2 -
 solenv/bin/modules/installer/windows/binary.pm|3 +-
 3 files changed, 9 insertions(+), 8 deletions(-)

New commits:
commit 8a24efd16d1515ff806406d37d234e4ac7940c45
Author: kubak 
AuthorDate: Tue Apr 23 23:45:54 2024 +0200
Commit: Mike Kaganski 
CommitDate: Fri Apr 26 13:11:34 2024 +0200

MSI: Fix use of illegal character in table Binary

ICE03 ERROR Invalid identifier; Table: Binary, Column: Name, Key(s): 
Windows61-KB2999226-x64msu
ICE03 ERROR Invalid identifier; Table: Binary, Column: Name, Key(s): 
Windows81-KB2999226-x64msu
ICE03 ERROR Invalid identifier; Table: Binary, Column: Name, Key(s): 
Windows8-RT-KB2999226-x64msu

We use the illegal "-" character.

https: //learn.microsoft.com/en-us/windows/win32/msi/binary-table
https: //learn.microsoft.com/en-us/windows/win32/msi/identifier
Change-Id: I44aea358964c085599ab42f134535fa97840dd26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166567
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/scp2/source/ooo/ucrt.scp b/scp2/source/ooo/ucrt.scp
index b945523fe961..7f4ec8195870 100644
--- a/scp2/source/ooo/ucrt.scp
+++ b/scp2/source/ooo/ucrt.scp
@@ -92,7 +92,7 @@ WindowsCustomAction gid_Customaction_check_win7x64_ucrt
Name = "check_win7x64_ucrt";
Typ = "51";
Source = "InstMSUBinary";
-   Target = "KB2999226|Windows61-KB2999226-x64msu";
+   Target = "KB2999226|Windows61_KB2999226_x64msu";
Inbinarytable = 0;
Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 
601 And VersionNT64", "FileCost");
Styles = "NO_FILE";
@@ -102,7 +102,7 @@ WindowsCustomAction gid_Customaction_check_win8x64_ucrt
Name = "check_win8x64_ucrt";
Typ = "51";
Source = "InstMSUBinary";
-   Target = "KB2999226|Windows8-RT-KB2999226-x64msu";
+   Target = "KB2999226|Windows8_RT_KB2999226_x64msu";
Inbinarytable = 0;
Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 
602 And VersionNT64", "check_win7x64_ucrt");
Styles = "NO_FILE";
@@ -112,7 +112,7 @@ WindowsCustomAction gid_Customaction_check_win81x64_ucrt
Name = "check_win81x64_ucrt";
Typ = "51";
Source = "InstMSUBinary";
-   Target = "KB2999226|Windows81-KB2999226-x64msu";
+   Target = "KB2999226|Windows81_KB2999226_x64msu";
Inbinarytable = 0;
Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 
603 And (Not WINMAJORVER Or WINMAJORVER = \"#6\") And VersionNT64", 
"check_win8x64_ucrt");
Styles = "NO_FILE";
@@ -128,7 +128,7 @@ WindowsCustomAction gid_Customaction_check_win7x32_ucrt
Name = "check_win7x32_ucrt";
Typ = "51";
Source = "InstMSUBinary";
-   Target = "KB2999226|Windows61-KB2999226-x86msu";
+   Target = "KB2999226|Windows61_KB2999226_x86msu";
Inbinarytable = 0;
Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 
601 And Not VersionNT64", "check_win81x64_ucrt");
Styles = "NO_FILE";
@@ -138,7 +138,7 @@ WindowsCustomAction gid_Customaction_check_win8x32_ucrt
Name = "check_win8x32_ucrt";
Typ = "51";
Source = "InstMSUBinary";
-   Target = "KB2999226|Windows8-RT-KB2999226-x86msu";
+   Target = "KB2999226|Windows8_RT_KB2999226_x86msu";
Inbinarytable = 0;
Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 
602 And Not VersionNT64", "check_win7x32_ucrt");
Styles = "NO_FILE";
@@ -148,7 +148,7 @@ WindowsCustomAction gid_Customaction_check_win81x32_ucrt
Name = "check_win81x32_ucrt";
Typ = "51";
Source = "InstMSUBinary";
-   Target = "KB2999226|Windows81-KB2999226-x86msu";
+   Target = "KB2999226|Windows81_KB2999226_x86msu";
Inbinarytable = 0;
Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 
603 And (Not WINMAJORVER Or WINMAJORVER = \"#6\") And Not VersionNT64", 
"check_win8x32_ucrt");
Styles = "NO_FILE";
diff --git a/setup_native/source/win32/customactions/inst_msu/inst_msu.cxx 
b/setup_native/source/win32/customactions/inst_msu/inst_msu.cxx
index 8adffbba6228..d890f2628193 100644
--- a/setup_native/source/win32/customactions/inst_msu/inst_msu.cxx
+++ b/setup_native/source/win32/customactions/inst_msu/inst_msu.cxx
@@ -456,7 +456,7 @@ extern "C" __declspec(dllexport) UINT __stdcall 
UnpackMSUForInstall(MSIHANDLE hI
 CheckWin32Error("MsiGetPropertyW",
 MsiGetPropertyW(hInstall, L"InstMSUBinary", 
sInstMSUBinary, ));
 WriteLog(hInstall, "Got InstMSUBinary value:",
- sInstMSUBinary); // KB2999226|Windows61-KB2999226-x64msu
+ sInstMSUBinary); // 

core.git: sw/qa xmloff/source

2024-04-26 Thread Michael Stahl (via logerrit)
 sw/qa/extras/odfexport/odfexport2.cxx  |6 +-
 xmloff/source/text/XMLTextListBlockContext.hxx |1 
 xmloff/source/text/txtimp.cxx  |   72 -
 3 files changed, 5 insertions(+), 74 deletions(-)

New commits:
commit 546741148863ae0b2a25cc994a7323c8113cb573
Author: Michael Stahl 
AuthorDate: Fri Apr 19 18:04:47 2024 +0200
Commit: Michael Stahl 
CommitDate: Fri Apr 26 13:08:35 2024 +0200

tdf#114287 tdf#159366 xmloff: ODF import: revert text:list override

This reverts commit ade0a153f453500f15343380ac937252992733e0 "tdf#114287
xmloff: ODF import: fix text:list override of list style" and subsequent
commits 7cf5faec6fdbc27dd77d2d36fb2ff205322cba0d and
1b2a6b98291cf8b7022951be19b915fe2a9e18e6.

It turns out that there is actually a paragraph in ODF 1.2 and later
that gives paragraph's indent priority over the list style's, which i
unfortunately missed when investigating the above issues:

  17.20  
  ...

  The fo:text-indent and fo:margin-left attributes are evaluated only
  for paragraphs inside list items whose paragraph styles do not specify
  them. If one of the two properties, or both, are specified by the
  paragraph style, the text indent and/or left margin are taken from the
  paragraph style. In this case the paragraph style's properties are
  used to determine the indent and margin for the text lines and thus
  also the alignment position.

This is usually interpreted as "on the same level", so applying a
list-style at a paragraph style overrides the indents inherited from a
parent paragraph style, but if the style then specifies its own indents
that overrides the list style's indents.

Furthermore it turns out that Google Docs now imports this bugdoc the
same way as LO 7.5 does; unclear if that changed recently (it shows
it like Word does in the preview, but like LO 7.5 does after opening it).

This means the way MS Word imports the bugdoc, which remains unchanged,
now looks like a bug and we should not change LO to be compatible with
it (when the same structure is created in Word, storing to ODF and
loading again, it looks different too).

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

diff --git a/sw/qa/extras/odfexport/odfexport2.cxx 
b/sw/qa/extras/odfexport/odfexport2.cxx
index 0da0ca9ac69f..be3f891b4e81 100644
--- a/sw/qa/extras/odfexport/odfexport2.cxx
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
@@ -1046,9 +1046,9 @@ DECLARE_ODFEXPORT_TEST(testTdf114287, "tdf114287.odt")
 xmlDocUniquePtr pXmlDoc = parseLayoutDump();
 assertXPath(pXmlDoc, "/root/page[1]/body/txt[2]/infos/prtBounds"_ostr, 
"left"_ostr, "2268");
 assertXPath(pXmlDoc, "/root/page[1]/body/txt[2]/infos/prtBounds"_ostr, 
"right"_ostr, "11339");
-// the problem was that the list style name of the list must override the
-// paragraph style even though it's the same list style
-assertXPath(pXmlDoc, "/root/page[1]/body/txt[9]/infos/prtBounds"_ostr, 
"left"_ostr, "357");
+// the list style name of the list is the same as the list style name of 
the
+// paragraph, but in any case the margins of the paragraph take precedence
+assertXPath(pXmlDoc, "/root/page[1]/body/txt[9]/infos/prtBounds"_ostr, 
"left"_ostr, "2268");
 assertXPath(pXmlDoc, "/root/page[1]/body/txt[9]/infos/prtBounds"_ostr, 
"right"_ostr, "11339");
 assertXPath(pXmlDoc, "/root/page[1]/body/txt[16]/infos/prtBounds"_ostr, 
"left"_ostr, "357");
 assertXPath(pXmlDoc, "/root/page[1]/body/txt[16]/infos/prtBounds"_ostr, 
"right"_ostr, "11339");
diff --git a/xmloff/source/text/XMLTextListBlockContext.hxx 
b/xmloff/source/text/XMLTextListBlockContext.hxx
index 4b18d625cc36..a529afd1e476 100644
--- a/xmloff/source/text/XMLTextListBlockContext.hxx
+++ b/xmloff/source/text/XMLTextListBlockContext.hxx
@@ -66,7 +66,6 @@ public:
 void ResetRestartNumbering() { mbRestartNumbering = false; }
 
 /// does this list have (possibly inherited from parent) list-style-name?
-bool HasListStyleName() { return !msListStyleName.isEmpty(); }
 const css::uno::Reference < css::container::XIndexReplace >& GetNumRules() 
const
 { return mxNumRules; }
 
diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx
index b0790da2cf46..21870f73a063 100644
--- a/xmloff/source/text/txtimp.cxx
+++ b/xmloff/source/text/txtimp.cxx
@@ -1002,45 +1002,6 @@ static bool lcl_HasListStyle( const OUString& sStyleName,
 return bRet;
 }
 
-namespace {
-
-auto IsPropertySet(uno::Reference const& 
rxParaStyles,
-uno::Reference const& rxPropSet,
-OUString const& rProperty)
-{
-uno::Reference const xPropState(rxPropSet, 
uno::UNO_QUERY);
-// note: this is true only if it is set in 

core.git: sw/source

2024-04-26 Thread Michael Stahl (via logerrit)
 sw/source/filter/html/htmlctxt.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit ac05822b8957d80018d3ce1cbf97cd9faa0dfe99
Author: Michael Stahl 
AuthorDate: Thu Apr 25 18:20:20 2024 +0200
Commit: Michael Stahl 
CommitDate: Fri Apr 26 12:59:19 2024 +0200

tdf#154581 tdf#157411 tdf#158549 sw: HTML import: fix SfxItemIter reuse

This is obviously wrong, as ALG just pointed out: the aIter is at the
end after the 1st loop, so the 2nd loop does nothing.
Thx Gabor for checking all the reported bugs.

(regression from commit db115bec9254417ef7a3faf687478fe5424ab378)

Change-Id: Iae37b9ab5c630d0ee774f42c84d5e76349b92a90
Tested-by: Gabor Kelemen 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166643
Reviewed-by: Michael Stahl 
Tested-by: Jenkins

diff --git a/sw/source/filter/html/htmlctxt.cxx 
b/sw/source/filter/html/htmlctxt.cxx
index 80245ba2ea6a..0e87b83644f8 100644
--- a/sw/source/filter/html/htmlctxt.cxx
+++ b/sw/source/filter/html/htmlctxt.cxx
@@ -656,7 +656,8 @@ void SwHTMLParser::InsertAttrs( SfxItemSet ,
 }
 #endif
 
-for (const SfxPoolItem* pItem = aIter.GetCurItem(); pItem; pItem = 
aIter.NextItem())
+SfxItemIter aIter2(rItemSet);
+for (const SfxPoolItem* pItem = aIter2.GetCurItem(); pItem; pItem = 
aIter2.NextItem())
 {
 HTMLAttr **ppAttr = nullptr;
 


core.git: download.lst external/libgpg-error

2024-04-26 Thread Xisco Fauli (via logerrit)
 download.lst  |4 ++--
 external/libgpg-error/ExternalPackage_libgpg-error.mk |2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit a5d75f487592d17c02fccbf21a0edef437067f30
Author: Xisco Fauli 
AuthorDate: Fri Apr 26 09:50:09 2024 +0200
Commit: Xisco Fauli 
CommitDate: Fri Apr 26 12:47:24 2024 +0200

libgpg-error: Upgrade to 1.49

Change-Id: I1bd83294e58952ebdbaaf0362bd8675c1911b9be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166697
Tested-by: Jenkins
Reviewed-by: Taichi Haradaguchi <20001...@ymail.ne.jp>

diff --git a/download.lst b/download.lst
index df1a213bbb95..28538879f5ec 100644
--- a/download.lst
+++ b/download.lst
@@ -394,8 +394,8 @@ LIBFFI_TARBALL := libffi-3.4.4.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LIBGPGERROR_SHA256SUM := 
89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f
-LIBGPGERROR_TARBALL := libgpg-error-1.48.tar.bz2
+LIBGPGERROR_SHA256SUM := 
8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9
+LIBGPGERROR_TARBALL := libgpg-error-1.49.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/libgpg-error/ExternalPackage_libgpg-error.mk 
b/external/libgpg-error/ExternalPackage_libgpg-error.mk
index 2c64ba3b5cc6..262675acf6e6 100644
--- a/external/libgpg-error/ExternalPackage_libgpg-error.mk
+++ b/external/libgpg-error/ExternalPackage_libgpg-error.mk
@@ -15,7 +15,7 @@ ifneq ($(DISABLE_DYNLOADING),TRUE)
 
 ifeq ($(OS),LINUX)
 
-$(eval $(call 
gb_ExternalPackage_add_file,libgpg-error,$(LIBO_LIB_FOLDER)/libgpg-error-lo.so.0,src/.libs/libgpg-error-lo.so.0.35.0))
+$(eval $(call 
gb_ExternalPackage_add_file,libgpg-error,$(LIBO_LIB_FOLDER)/libgpg-error-lo.so.0,src/.libs/libgpg-error-lo.so.0.36.0))
 
 else ifeq ($(OS),MACOSX)
 


core.git: basic/Library_sb.mk basic/source

2024-04-26 Thread Stephan Bergmann (via logerrit)
 basic/Library_sb.mk  |2 +-
 basic/source/runtime/dllmgr-none.cxx |2 +-
 basic/source/runtime/dllmgr.hxx  |4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

New commits:
commit 8d775b92594b70a3f626006148365582c06f813f
Author: Stephan Bergmann 
AuthorDate: Fri Apr 26 09:21:17 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Apr 26 12:43:59 2024 +0200

Use Windows dllmgr-x64 also for aarch64

At least, CppunitTest_basic_macros 
CPPUNIT_TEST_NAME=Coverage::Coverage_Iterator
(which exercises it in basic/qa/basic_coverage/test_declare_from_dll.bas)
succeeds.

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

diff --git a/basic/Library_sb.mk b/basic/Library_sb.mk
index be0cbaeef005..dae083a34864 100644
--- a/basic/Library_sb.mk
+++ b/basic/Library_sb.mk
@@ -150,7 +150,7 @@ $(eval $(call gb_Library_add_asmobjects,sb,\
basic/source/runtime/wnt-x86 \
 ))
 else
-ifeq ($(OS)$(CPUNAME),WNTX86_64)
+ifeq ($(OS)$(filter-out AARCH64 X86_64,$(CPUNAME)),WNT)
 $(eval $(call gb_Library_add_exception_objects,sb,\
basic/source/runtime/dllmgr-x64 \
 ))
diff --git a/basic/source/runtime/dllmgr-none.cxx 
b/basic/source/runtime/dllmgr-none.cxx
index 4c7f700a9eef..2a03e2ae7855 100644
--- a/basic/source/runtime/dllmgr-none.cxx
+++ b/basic/source/runtime/dllmgr-none.cxx
@@ -106,7 +106,7 @@ void SbiDllMgr::FreeDll(SAL_UNUSED_PARAMETER OUString const 
&) {}
 
 SbiDllMgr::SbiDllMgr() = default;
 
-#if defined(_WIN32) && !defined(_ARM64_)
+#if defined(_WIN32)
 SbiDllMgr::~SbiDllMgr() = default;
 #endif
 
diff --git a/basic/source/runtime/dllmgr.hxx b/basic/source/runtime/dllmgr.hxx
index a280e89b64db..fe76cfb681b6 100644
--- a/basic/source/runtime/dllmgr.hxx
+++ b/basic/source/runtime/dllmgr.hxx
@@ -33,7 +33,7 @@ public:
 
 SbiDllMgr();
 
-#if defined(_WIN32) && !defined(_ARM64_)
+#if defined(_WIN32)
 ~SbiDllMgr();
 #endif
 
@@ -44,7 +44,7 @@ public:
 void FreeDll(OUString const & library);
 
 private:
-#if defined(_WIN32) && !defined(_ARM64_)
+#if defined(_WIN32)
 struct Impl;
 
 std::unique_ptr< Impl > impl_;


core.git: sd/inc sd/Library_sd.mk sd/source solenv/clang-format

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/Library_sd.mk|1 
 sd/inc/sdiocmpt.hxx |   57 ---
 sd/source/core/sdiocmpt.cxx |  117 
 solenv/clang-format/excludelist |2 
 4 files changed, 177 deletions(-)

New commits:
commit 7437b842c420a43b85156f34146f27fc6b34c729
Author: Gabor Kelemen 
AuthorDate: Thu Apr 25 16:45:26 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 12:24:27 2024 +0200

Drop now unused sdiocmpt.cxx

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

diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk
index dc9b38f011f3..12296242bedb 100644
--- a/sd/Library_sd.mk
+++ b/sd/Library_sd.mk
@@ -165,7 +165,6 @@ $(eval $(call gb_Library_add_exception_objects,sd,\
sd/source/core/drawdoc4 \
sd/source/core/drawdoc_animations \
sd/source/core/pglink \
-   sd/source/core/sdiocmpt \
sd/source/core/sdpage \
sd/source/core/sdpage2 \
sd/source/core/sdpage_animations \
diff --git a/sd/inc/sdiocmpt.hxx b/sd/inc/sdiocmpt.hxx
deleted file mode 100644
index 9f1395fd7c22..
--- a/sd/inc/sdiocmpt.hxx
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#pragma once
-
-#include 
-#include "sddllapi.h"
-
-
-class old_SdrDownCompat
-{
-protected:
-SvStream&   rStream;
-sal_uInt32  nSubRecSiz;
-sal_uInt32  nSubRecPos;
-StreamMode  nMode;
-boolbOpen;
-
-protected:
-void Write();
-
-public:
-old_SdrDownCompat(SvStream& rNewStream, StreamMode nNewMode);
-~old_SdrDownCompat();
-void  OpenSubRecord();
-void  CloseSubRecord();
-};
-
-#define SDIOCOMPAT_VERSIONDONTKNOW sal_uInt16(0x)
-
-class SD_DLLPUBLIC SdIOCompat : public old_SdrDownCompat
-{
-public:
-// nNewMode: StreamMode::READ or StreamMode::WRITE
-// nVer: specify only when writing
-SdIOCompat(SvStream& rNewStream, StreamMode nNewMode,
-   sal_uInt16 nVer = SDIOCOMPAT_VERSIONDONTKNOW);
-~SdIOCompat();
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/core/sdiocmpt.cxx b/sd/source/core/sdiocmpt.cxx
deleted file mode 100644
index 67de6a64d71d..
--- a/sd/source/core/sdiocmpt.cxx
+++ /dev/null
@@ -1,117 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include 
-
-#include 
-
-old_SdrDownCompat::old_SdrDownCompat(SvStream& rNewStream, StreamMode nNewMode)
-:   rStream(rNewStream),
-nSubRecSiz(0),
-nSubRecPos(0),
-nMode(nNewMode),
-bOpen(false)
-{
-OpenSubRecord();
-}
-
-old_SdrDownCompat::~old_SdrDownCompat()
-{
-if(bOpen)
-CloseSubRecord();
-}
-
-void old_SdrDownCompat::Write()
-{
-rStream.WriteUInt32( nSubRecSiz );
-}
-
-void old_SdrDownCompat::OpenSubRecord()
-{
-if(rStream.GetError())
-return;
-
-nSubRecPos = rStream.Tell();
-
-if(nMode == StreamMode::READ)
-{
-rStream.ReadUInt32( nSubRecSiz );
-}
-else if(nMode == StreamMode::WRITE)
-{

core.git: oox/source

2024-04-26 Thread Noel Grandin (via logerrit)
 oox/source/drawingml/table/predefined-table-styles.cxx |  352 -
 1 file changed, 175 insertions(+), 177 deletions(-)

New commits:
commit 54fced70718828bb73f5485b54445501ebf4fcdc
Author: Noel Grandin 
AuthorDate: Thu Apr 25 20:46:31 2024 +0200
Commit: Noel Grandin 
CommitDate: Fri Apr 26 12:09:27 2024 +0200

mStyleIdMap can be static const

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

diff --git a/oox/source/drawingml/table/predefined-table-styles.cxx 
b/oox/source/drawingml/table/predefined-table-styles.cxx
index 3e821456e3b3..6ca69eb958e4 100644
--- a/oox/source/drawingml/table/predefined-table-styles.cxx
+++ b/oox/source/drawingml/table/predefined-table-styles.cxx
@@ -11,6 +11,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace oox;
 using namespace oox::drawingml::table;
@@ -29,173 +30,170 @@ using namespace oox::drawingml::table;
  * and change something easily when some styles change.
  */
 
-std::map> mStyleIdMap;
-
 // Create style-id map for using similar attributes of the groups.
 // (style ids used from here: 
https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2010/hh273476(v=office.14)?redirectedfrom=MSDN)
 // and checked all of them.
 
-static void createStyleIdMap()
-{
-mStyleIdMap[OUString("{2D5ABB26-0587-4C30-8999-92F81FD0307C}")]
-= std::make_pair(OUString("Themed-Style-1"), OUString(""));
-mStyleIdMap[OUString("{3C2FFA5D-87B4-456A-9821-1D502468CF0F}")]
-= std::make_pair(OUString("Themed-Style-1"), OUString("Accent1"));
-mStyleIdMap[OUString("{284E427A-3D55-4303-BF80-6455036E1DE7}")]
-= std::make_pair(OUString("Themed-Style-1"), OUString("Accent2"));
-mStyleIdMap[OUString("{69C7853C-536D-4A76-A0AE-DD22124D55A5}")]
-= std::make_pair(OUString("Themed-Style-1"), OUString("Accent3"));
-mStyleIdMap[OUString("{775DCB02-9BB8-47FD-8907-85C794F793BA}")]
-= std::make_pair(OUString("Themed-Style-1"), OUString("Accent4"));
-mStyleIdMap[OUString("{35758FB7-9AC5-4552-8A53-C91805E547FA}")]
-= std::make_pair(OUString("Themed-Style-1"), OUString("Accent5"));
-mStyleIdMap[OUString("{08FB837D-C827-4EFA-A057-4D05807E0F7C}")]
-= std::make_pair(OUString("Themed-Style-1"), OUString("Accent6"));
-
-mStyleIdMap[OUString("{5940675A-B579-460E-94D1-54222C63F5DA}")]
-= std::make_pair(OUString("Themed-Style-2"), OUString(""));
-mStyleIdMap[OUString("{D113A9D2-9D6B-4929-AA2D-F23B5EE8CBE7}")]
-= std::make_pair(OUString("Themed-Style-2"), OUString("Accent1"));
-mStyleIdMap[OUString("{18603FDC-E32A-4AB5-989C-0864C3EAD2B8}")]
-= std::make_pair(OUString("Themed-Style-2"), OUString("Accent2"));
-mStyleIdMap[OUString("{306799F8-075E-4A3A-A7F6-7FBC6576F1A4}")]
-= std::make_pair(OUString("Themed-Style-2"), OUString("Accent3"));
-mStyleIdMap[OUString("{E269D01E-BC32-4049-B463-5C60D7B0CCD2}")]
-= std::make_pair(OUString("Themed-Style-2"), OUString("Accent4"));
-mStyleIdMap[OUString("{327F97BB-C833-4FB7-BDE5-3F7075034690}")]
-= std::make_pair(OUString("Themed-Style-2"), OUString("Accent5"));
-mStyleIdMap[OUString("{638B1855-1B75-4FBE-930C-398BA8C253C6}")]
-= std::make_pair(OUString("Themed-Style-2"), OUString("Accent6"));
-
-mStyleIdMap[OUString("{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}")]
-= std::make_pair(OUString("Light-Style-1"), OUString(""));
-mStyleIdMap[OUString("{3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}")]
-= std::make_pair(OUString("Light-Style-1"), OUString("Accent1"));
-mStyleIdMap[OUString("{0E3FDE45-AF77-4B5C-9715-49D594BDF05E}")]
-= std::make_pair(OUString("Light-Style-1"), OUString("Accent2"));
-mStyleIdMap[OUString("{C083E6E3-FA7D-4D7B-A595-EF9225AFEA82}")]
-= std::make_pair(OUString("Light-Style-1"), OUString("Accent3"));
-mStyleIdMap[OUString("{D27102A9-8310-4765-A935-A1911B00CA55}")]
-= std::make_pair(OUString("Light-Style-1"), OUString("Accent4"));
-mStyleIdMap[OUString("{5FD0F851-EC5A-4D38-B0AD-8093EC10F338}")]
-= std::make_pair(OUString("Light-Style-1"), OUString("Accent5"));
-mStyleIdMap[OUString("{68D230F3-CF80-4859-8CE7-A43EE81993B5}")]
-= std::make_pair(OUString("Light-Style-1"), OUString("Accent6"));
-
-mStyleIdMap[OUString("{7E9639D4-E3E2-4D34-9284-5A2195B3D0D7}")]
-= std::make_pair(OUString("Light-Style-2"), OUString(""));
-mStyleIdMap[OUString("{69012ECD-51FC-41F1-AA8D-1B2483CD663E}")]
-= std::make_pair(OUString("Light-Style-2"), OUString("Accent1"));
-mStyleIdMap[OUString("{72833802-FEF1-4C79-8D5D-14CF1EAF98D9}")]
-= std::make_pair(OUString("Light-Style-2"), OUString("Accent2"));
-mStyleIdMap[OUString("{F2DE63D5-997A-4646-A377-4702673A728D}")]
-= std::make_pair(OUString("Light-Style-2"), OUString("Accent3"));

core.git: editeng/source

2024-04-26 Thread Samuel Mehrbrodt (via logerrit)
 editeng/source/editeng/impedit3.cxx |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit d84c900bb78168dd9bd0fd1ea02c0769a5ba5f14
Author: Samuel Mehrbrodt 
AuthorDate: Mon Jan 15 16:53:50 2024 +0100
Commit: Samuel Mehrbrodt 
CommitDate: Fri Apr 26 11:36:35 2024 +0200

tdf#156955 Properly align text when tabstop is outside of textbox

Co-authored-by: Tibor Nagy 

Change-Id: I9f7ead01d93e0701f8df30ad1dcfe24ef0af7067
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162113
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 

diff --git a/editeng/source/editeng/impedit3.cxx 
b/editeng/source/editeng/impedit3.cxx
index 72bc2022b1ea..c0a8b1fc734c 100644
--- a/editeng/source/editeng/impedit3.cxx
+++ b/editeng/source/editeng/impedit3.cxx
@@ -1096,6 +1096,9 @@ bool ImpEditEngine::CreateLines( sal_Int32 nPara, 
sal_uInt32 nStartPosY )
 aCurrentTab.nTabPortion = nTmpPortion;
 }
 
+if (nMaxLineWidth < aCurrentTab.nTabPos && nTmpWidth 
!= nMaxLineWidth - 1)
+aCurrentTab.nTabPos = nMaxLineWidth - 1;
+
 pPortion->SetKind(PortionKind::TAB);
 pPortion->SetExtraValue( 
aCurrentTab.aTabStop.GetFill() );
 pPortion->setWidth( aCurrentTab.nTabPos - 
(nTmpWidth+nStartX) );


core.git: Makefile.fetch

2024-04-26 Thread Stephan Bergmann (via logerrit)
 Makefile.fetch |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 2b35405bce75d75e14fa376c80f26e1332b70fe9
Author: Stephan Bergmann 
AuthorDate: Fri Apr 26 08:42:49 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Apr 26 10:46:04 2024 +0200

Fail early when external tarball can't be fetched

...so that the error output is

> fetching libabw-noexist-test.tar.xz
>   % Total% Received % Xferd  Average Speed   TimeTime Time  
Current
>  Dload  Upload   Total   SpentLeft  
Speed
>   0   1530 00 0  0  0 --:--:-- --:--:-- --:--:--  
   0
> curl: (22) The requested URL returned error: 404

rather than a somewhat misleading

> fetching libabw-noexist-test.tar.xz
>   % Total% Received % Xferd  Average Speed   TimeTime Time  
Current
>  Dload  Upload   Total   SpentLeft  
Speed
> 100   153  100   1530 0   2463  0 --:--:-- --:--:-- --:--:--  
2467
> ERROR: expected checksum for libabw-noexist-test.tar.xz is 
e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed

(see the mailing list sub-thread starting at
 
"Re:
Uploading external tarballs to ?")

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

diff --git a/Makefile.fetch b/Makefile.fetch
index afb7d176e79e..ed019e800954 100644
--- a/Makefile.fetch
+++ b/Makefile.fetch
@@ -16,7 +16,7 @@ endef
 
 else
 define fetch_Download__wget_command
-&& echo fetching $2 && bash -c '$(CURL) -L -O $1/$2 2>&1 | tee -a 
$(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]'
+&& echo fetching $2 && bash -c '$(CURL) -f -L -O $1/$2 2>&1 | tee -a 
$(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]'
 endef
 
 endif


core.git: 2 commits - include/svx sd/inc sd/Library_sd.mk sd/source svx/Library_svxcore.mk svx/source

2024-04-26 Thread Tomaž Vajngerl (via logerrit)
 include/svx/annotation/Annotation.hxx  |   88 +++-
 include/svx/annotation/AnnotationEnumeration.hxx   |   11 -
 include/svx/svdpage.hxx|   13 +
 sd/Library_sd.mk   |1 
 sd/inc/Annotation.hxx  |   37 ---
 sd/inc/sdpage.hxx  |   12 -
 sd/source/core/annotations/Annotation.cxx  |  215 -
 sd/source/core/sdpage2.cxx |   50 ++--
 sd/source/filter/pdf/sdpdffilter.cxx   |7 
 sd/source/ui/annotations/annotationmanager.cxx |   88 
 sd/source/ui/annotations/annotationmanagerimpl.hxx |   20 -
 sd/source/ui/annotations/annotationtag.cxx |   23 +-
 sd/source/ui/annotations/annotationtag.hxx |   11 -
 sd/source/ui/unoidl/unomodel.cxx   |3 
 sd/source/ui/unoidl/unopage.cxx|6 
 svx/Library_svxcore.mk |1 
 svx/source/annotation/Annotation.cxx   |  150 ++
 svx/source/annotation/AnnotationEnumeration.cxx|   46 +---
 svx/source/svdraw/svdpage.cxx  |1 
 19 files changed, 436 insertions(+), 347 deletions(-)

New commits:
commit a0a581ead18f030f59d203539706de0230746cae
Author: Tomaž Vajngerl 
AuthorDate: Fri Apr 19 15:34:06 2024 +0900
Commit: Tomaž Vajngerl 
CommitDate: Fri Apr 26 10:44:05 2024 +0200

annot: moved more of Annotation and dependencies into svx

Moved the holder of annotations from SdPage to SvxPage, so that
the vector holding the annotations and accessors are on SvxPage
and adapted the code.

This also changes the type od most parameters on most methods
from sd::Annotation to sdr::annotation::Annotation and adapted
the code.

Moved AnnotationEnumeration into svx, as it was needed in svx
already.

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

diff --git a/include/svx/annotation/Annotation.hxx 
b/include/svx/annotation/Annotation.hxx
index 566dd6ef52f4..5ec5e2ec3c34 100644
--- a/include/svx/annotation/Annotation.hxx
+++ b/include/svx/annotation/Annotation.hxx
@@ -13,12 +13,17 @@
 #include 
 #include 
 
-#include 
 #include 
 #include 
 
+#include 
+#include 
+#include 
+#include 
+
 class SdrUndoAction;
 class SfxViewShell;
+class SdrPage;
 
 namespace sdr::annotation
 {
@@ -49,13 +54,15 @@ struct SVXCORE_DLLPUBLIC AnnotationData
 };
 
 class SVXCORE_DLLPUBLIC Annotation
+: public ::comphelper::WeakComponentImplHelper,
+  public ::cppu::PropertySetMixin
 {
 private:
 static sal_uInt32 m_nLastId;
 static sal_uInt32 nextID() { return m_nLastId++; }
 
 protected:
-SdrPage* mpSdrPage;
+SdrPage* mpPage;
 sal_uInt32 m_nId;
 
 css::geometry::RealPoint2D m_Position;
@@ -69,10 +76,19 @@ protected:
 std::unique_ptr createUndoAnnotation();
 
 public:
-Annotation(SdrPage* pPage)
-: mpSdrPage(pPage)
-, m_nId(nextID())
+Annotation(const css::uno::Reference& 
context, SdrPage* pPage);
+Annotation(const Annotation&) = delete;
+Annotation& operator=(const Annotation&) = delete;
+
+// XInterface:
+virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const& type) 
override;
+virtual void SAL_CALL acquire() noexcept override
+{
+
::comphelper::WeakComponentImplHelper::acquire();
+}
+virtual void SAL_CALL release() noexcept override
 {
+
::comphelper::WeakComponentImplHelper::release();
 }
 
 css::geometry::RealPoint2D GetPosition() const { return m_Position; }
@@ -93,11 +109,9 @@ public:
 virtual OUString GetText() = 0;
 virtual void SetText(OUString const& rText) = 0;
 
-SdrModel* GetModel()
-{
-return mpSdrPage != nullptr ? >getSdrModelFromSdrPage() : 
nullptr;
-}
-SdrPage const* getPage() const { return mpSdrPage; }
+SdrModel* GetModel() const;
+SdrPage const* getPage() const { return mpPage; }
+SdrPage* getPage() { return mpPage; }
 
 sal_uInt32 GetId() const { return m_nId; }
 
@@ -106,7 +120,7 @@ public:
 bool isFreeText() const { return m_bIsFreeText; }
 };
 
-//typedef std::vector> AnnotationVector;
+typedef std::vector> AnnotationVector;
 
 } // namespace sdr::annotation
 
diff --git a/sd/inc/AnnotationEnumeration.hxx 
b/include/svx/annotation/AnnotationEnumeration.hxx
similarity index 80%
rename from sd/inc/AnnotationEnumeration.hxx
rename to include/svx/annotation/AnnotationEnumeration.hxx
index ed35b46b4068..a7befcb26946 100644
--- a/sd/inc/AnnotationEnumeration.hxx
+++ b/include/svx/annotation/AnnotationEnumeration.hxx
@@ -20,18 +20,19 @@
 #pragma once
 
 #include 
-
-#include "sdpage.hxx"
+#include 
 
 namespace com::sun::star::office
 {
 class XAnnotationEnumeration;
 }
 
-namespace sd
+namespace 

core.git: sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/source/ui/dlg/vectdlg.cxx |   49 ++-
 1 file changed, 12 insertions(+), 37 deletions(-)

New commits:
commit d119f504bf279a1bbe2e5840cfd5cbfa295fca8f
Author: Gabor Kelemen 
AuthorDate: Thu Apr 25 16:07:49 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 09:41:37 2024 +0200

tdf#158305 Store Convert to Polygon dialog settings correctly

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

diff --git a/sd/source/ui/dlg/vectdlg.cxx b/sd/source/ui/dlg/vectdlg.cxx
index 93e9c3ed6e73..30760381e58f 100644
--- a/sd/source/ui/dlg/vectdlg.cxx
+++ b/sd/source/ui/dlg/vectdlg.cxx
@@ -17,6 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include 
 #include 
 #include 
 #include 
@@ -25,8 +26,6 @@
 #include 
 
 #include 
-#include 
-#include 
 #include 
 
 #define VECTORIZE_MAX_EXTENT 512
@@ -294,47 +293,23 @@ IMPL_LINK_NOARG(SdVectorizeDlg, MetricModifyHdl, 
weld::MetricSpinButton&, void)
 
 void SdVectorizeDlg::LoadSettings()
 {
-rtl::Reference  xIStm( SD_MOD()->GetOptionStream(
-   SD_OPTION_VECTORIZE ,
-   SdOptionStreamMode::Load ) );
-sal_uInt16  nLayers;
-sal_uInt16  nReduce;
-sal_uInt16  nFillHoles;
-boolbFillHoles;
-
-if( xIStm.is() )
-{
-SdIOCompat aCompat( *xIStm, StreamMode::READ );
-xIStm->ReadUInt16( nLayers ).ReadUInt16( nReduce ).ReadUInt16( 
nFillHoles ).ReadCharAsBool( bFillHoles );
-}
-else
-{
-nLayers = 8;
-nReduce = 0;
-nFillHoles = 32;
-bFillHoles = false;
-}
-
-m_xNmLayers->set_value(nLayers);
-m_xMtReduce->set_value(nReduce, FieldUnit::NONE);
-m_xMtFillHoles->set_value(nFillHoles, FieldUnit::NONE);
-m_xCbFillHoles->set_active(bFillHoles);
+
m_xNmLayers->set_value(officecfg::Office::Common::Vectorize::ColorCount::get());
+
m_xMtReduce->set_value(officecfg::Office::Common::Vectorize::PointReduce::get(),
 FieldUnit::NONE);
+
m_xCbFillHoles->set_active(officecfg::Office::Common::Vectorize::FillHole::get());
+
m_xMtFillHoles->set_value(officecfg::Office::Common::Vectorize::TileExtent::get(),
 FieldUnit::NONE);
 
 ToggleHdl(*m_xCbFillHoles);
 }
 
 void SdVectorizeDlg::SaveSettings() const
 {
-rtl::Reference xOStm( SD_MOD()->GetOptionStream(
-  SD_OPTION_VECTORIZE  ,
-  SdOptionStreamMode::Store ) );
-
-if( xOStm.is() )
-{
-SdIOCompat aCompat( *xOStm, StreamMode::WRITE, 1 );
-xOStm->WriteUInt16( m_xNmLayers->get_value() 
).WriteUInt16(m_xMtReduce->get_value(FieldUnit::NONE));
-xOStm->WriteUInt16( m_xMtFillHoles->get_value(FieldUnit::NONE) 
).WriteBool(m_xCbFillHoles->get_active());
-}
+std::shared_ptr batch(
+comphelper::ConfigurationChanges::create());
+
officecfg::Office::Common::Vectorize::ColorCount::set(m_xNmLayers->get_value(),batch);
+
officecfg::Office::Common::Vectorize::PointReduce::set(m_xMtReduce->get_value(FieldUnit::NONE),batch);
+
officecfg::Office::Common::Vectorize::FillHole::set(m_xCbFillHoles->get_active(),batch);
+
officecfg::Office::Common::Vectorize::TileExtent::set(m_xMtFillHoles->get_value(FieldUnit::NONE),batch);
+batch->commit();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/source/ui/dlg/morphdlg.cxx |   44 ++
 1 file changed, 11 insertions(+), 33 deletions(-)

New commits:
commit 7bd190858f5f044225eaad03ef41f736bfbbd8da
Author: Gabor Kelemen 
AuthorDate: Thu Apr 25 16:33:37 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 09:41:19 2024 +0200

tdf#158304 Store Cross-Fading dialog settings correctly

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

diff --git a/sd/source/ui/dlg/morphdlg.cxx b/sd/source/ui/dlg/morphdlg.cxx
index 96ed63f0b52d..0e9b7ddf5558 100644
--- a/sd/source/ui/dlg/morphdlg.cxx
+++ b/sd/source/ui/dlg/morphdlg.cxx
@@ -19,14 +19,13 @@
 
 #include 
 
-#include 
-#include 
 #include 
 #include 
 #include 
 #include 
 #include 
 #include 
+#include 
 
 using namespace com::sun::star;
 
@@ -61,45 +60,24 @@ MorphDlg::MorphDlg(weld::Window* pParent, const SdrObject* 
pObj1, const SdrObjec
 
 MorphDlg::~MorphDlg()
 {
+SaveSettings();
 }
 
 void MorphDlg::LoadSettings()
 {
-rtl::Reference  xIStm( SD_MOD()->GetOptionStream( 
SD_OPTION_MORPHING ,
-   SdOptionStreamMode::Load ) );
-sal_uInt16  nSteps;
-boolbOrient, bAttrib;
-
-if( xIStm.is() )
-{
-SdIOCompat aCompat( *xIStm, StreamMode::READ );
-
-xIStm->ReadUInt16( nSteps ).ReadCharAsBool( bOrient ).ReadCharAsBool( 
bAttrib );
-}
-else
-{
-nSteps = 16;
-bOrient = bAttrib = true;
-}
-
-m_xMtfSteps->set_value(nSteps);
-m_xCbxOrientation->set_active(bOrient);
-m_xCbxAttributes->set_active(bAttrib);
+
m_xMtfSteps->set_value(officecfg::Office::Draw::Misc::CrossFading::Steps::get());
+
m_xCbxOrientation->set_active(officecfg::Office::Draw::Misc::CrossFading::Orientation::get());
+
m_xCbxAttributes->set_active(officecfg::Office::Draw::Misc::CrossFading::Attributes::get());
 }
 
 void MorphDlg::SaveSettings() const
 {
-rtl::Reference xOStm( SD_MOD()->GetOptionStream( 
SD_OPTION_MORPHING ,
-   SdOptionStreamMode::Store ) );
-
-if( xOStm.is() )
-{
-SdIOCompat aCompat( *xOStm, StreamMode::WRITE, 1 );
-
-xOStm->WriteUInt16( m_xMtfSteps->get_value() )
-  .WriteBool( m_xCbxOrientation->get_active() )
-  .WriteBool( m_xCbxAttributes->get_active() );
-}
+std::shared_ptr batch(
+comphelper::ConfigurationChanges::create());
+
officecfg::Office::Draw::Misc::CrossFading::Steps::set(m_xMtfSteps->get_value(),batch);
+
officecfg::Office::Draw::Misc::CrossFading::Orientation::set(m_xCbxOrientation->get_active(),batch);
+
officecfg::Office::Draw::Misc::CrossFading::Attributes::set(m_xCbxAttributes->get_active(),batch);
+batch->commit();
 }
 
 } // end of namespace sd


core.git: sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/source/filter/html/pubdlg.cxx |  315 ---
 1 file changed, 315 deletions(-)

New commits:
commit febb429d5e02c2d6082194320ea689e8a01a3180
Author: Gabor Kelemen 
AuthorDate: Thu Apr 25 16:15:45 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 09:40:16 2024 +0200

Drop stale pubdlg.cxx file

Seems to be unused since
commit 28b6480c6bdd179f3943f768926b7f196226c768
tdf#105303: Drop html export wizard

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

diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx
deleted file mode 100644
index 5b42d3c8cfad..
--- a/sd/source/filter/html/pubdlg.cxx
+++ /dev/null
@@ -1,315 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#include 
-#include 
-#include "htmlattr.hxx"
-#include "htmlpublishmode.hxx"
-#include 
-#include "buttonset.hxx"
-#include 
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::beans;
-
-#define NOOFPAGES 6
-
-//ID for the config-data with the HTML-settings
-const sal_uInt16 nMagic = sal_uInt16(0x1977);
-
-// Key for the soffice.ini
-constexpr OUStringLiteral KEY_QUALITY = u"JPG-EXPORT-QUALITY";
-
-static SvStream& operator>>(SvStream& rIn, SdPublishingDesign& rDesign);
-
-static SvStream& WriteSdPublishingDesign(SvStream& rOut, const 
SdPublishingDesign& rDesign);
-
-// This class has all the settings for the HTML-export autopilot
-class SdPublishingDesign
-{
-public:
-OUString m_aDesignName;
-
-HtmlPublishMode m_eMode;
-
-// special WebCast options
-PublishingScript m_eScript;
-OUString m_aCGI;
-OUString m_aURL;
-
-// special Kiosk options
-bool m_bAutoSlide;
-sal_uInt32 m_nSlideDuration;
-bool m_bEndless;
-
-// special HTML options
-bool m_bContentPage;
-bool m_bNotes;
-
-// misc options
-sal_uInt16 m_nResolution;
-OUString m_aCompression;
-PublishingFormat m_eFormat;
-bool m_bSlideSound;
-bool m_bHiddenSlides;
-
-// title page information
-OUString m_aAuthor;
-OUString m_aEMail;
-OUString m_aWWW;
-OUString m_aMisc;
-bool m_bDownload;
-bool m_bCreated; // not used
-
-// buttons and colorscheme
-sal_Int16 m_nButtonThema;
-bool m_bUserAttr;
-Color m_aBackColor;
-Color m_aTextColor;
-Color m_aLinkColor;
-Color m_aVLinkColor;
-Color m_aALinkColor;
-bool m_bUseAttribs;
-bool m_bUseColor;
-
-SdPublishingDesign();
-
-bool operator==(const SdPublishingDesign& rDesign) const;
-friend SvStream& operator>>(SvStream& rIn, SdPublishingDesign& rDesign);
-friend SvStream& WriteSdPublishingDesign(SvStream& rOut, const 
SdPublishingDesign& rDesign);
-};
-
-// load Default-settings
-SdPublishingDesign::SdPublishingDesign()
-: m_eMode(PUBLISH_HTML)
-, m_eScript(SCRIPT_ASP)
-, m_bAutoSlide(true)
-, m_nSlideDuration(15)
-, m_bEndless(true)
-, m_bContentPage(true)
-, m_bNotes(true)
-, m_nResolution(PUB_LOWRES_WIDTH)
-, m_eFormat(FORMAT_PNG)
-, m_bSlideSound(true)
-, m_bHiddenSlides(false)
-, m_bDownload(false)
-, m_bCreated(false)
-, m_nButtonThema(-1)
-, m_bUserAttr(false)
-, m_aBackColor(COL_WHITE)
-, m_aTextColor(COL_BLACK)
-, m_aLinkColor(COL_BLUE)
-, m_aVLinkColor(COL_LIGHTGRAY)
-, m_aALinkColor(COL_GRAY)
-, m_bUseAttribs(true)
-, m_bUseColor(true)
-{
-FilterConfigItem 
aFilterConfigItem(u"Office.Common/Filter/Graphic/Export/JPG");
-sal_Int32 nCompression = aFilterConfigItem.ReadInt32(KEY_QUALITY, 75);
-m_aCompression = OUString::number(nCompression) + "%";
-
-SvtUserOptions aUserOptions;
-m_aAuthor = aUserOptions.GetFirstName();
-if (!m_aAuthor.isEmpty() && 

core.git: sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/source/ui/view/drviewse.cxx |   15 ---
 sd/source/ui/view/frmview.cxx  |   13 -
 2 files changed, 24 insertions(+), 4 deletions(-)

New commits:
commit 3029019cd930fd672ceda413376a26a33fdbad38
Author: Gabor Kelemen 
AuthorDate: Tue Apr 16 14:16:19 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 09:38:25 2024 +0200

Use less SdOptionsLayout->IsRulerVisible/SetRulerVisible in favor of 
officecfg

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

diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index a49ce83b15e3..d7cc62eb9ce0 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -96,6 +96,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
@@ -1117,12 +1119,19 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
 
 if(bOldHasRuler != bHasRuler)
 {
-SdOptions* pOptions = 
SD_MOD()->GetSdOptions(GetDoc()->GetDocumentType());
+std::shared_ptr batch(
+comphelper::ConfigurationChanges::create());
 
-if(pOptions && pOptions->IsRulerVisible() != bHasRuler)
+if (GetDoc()->GetDocumentType() == DocumentType::Impress)
 {
-pOptions->SetRulerVisible(bHasRuler);
+
officecfg::Office::Impress::Layout::Display::Ruler::set(bHasRuler, batch);
 }
+else
+{
+
officecfg::Office::Draw::Layout::Display::Ruler::set(bHasRuler, batch);
+}
+
+batch->commit();
 }
 
 Invalidate (SID_RULER);
diff --git a/sd/source/ui/view/frmview.cxx b/sd/source/ui/view/frmview.cxx
index 50cf9d636396..6d8fad05af9d 100644
--- a/sd/source/ui/view/frmview.cxx
+++ b/sd/source/ui/view/frmview.cxx
@@ -41,6 +41,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 using namespace ::com::sun::star;
@@ -280,7 +281,17 @@ void FrameView::Update(SdOptions const * pOptions)
 if (!pOptions)
 return;
 
-mbRuler = pOptions->IsRulerVisible();
+SdDrawDocument* pDrawDocument = dynamic_cast(());
+
+if (pDrawDocument->GetDocumentType() == DocumentType::Impress)
+{
+mbRuler = officecfg::Office::Impress::Layout::Display::Ruler::get();
+}
+else
+{
+mbRuler = officecfg::Office::Draw::Layout::Display::Ruler::get();
+}
+
 SetGridVisible( pOptions->IsGridVisible() );
 SetSnapAngle( pOptions->GetAngle() );
 SetGridSnap( pOptions->IsUseGridSnap() );


core.git: sd/source

2024-04-26 Thread Gabor Kelemen (via logerrit)
 sd/source/ui/dlg/tpoption.cxx |   47 +-
 1 file changed, 33 insertions(+), 14 deletions(-)

New commits:
commit cb80115f79e59720406ea245d7d914487ab343d8
Author: Gabor Kelemen 
AuthorDate: Sat Apr 13 09:09:08 2024 +0200
Commit: Gabor Kelemen 
CommitDate: Fri Apr 26 09:37:43 2024 +0200

Use less SdOptionsLayoutItem in Options - Impress - View

in favor of officecfg

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

diff --git a/sd/source/ui/dlg/tpoption.cxx b/sd/source/ui/dlg/tpoption.cxx
index 812d39ffd8aa..39f04d15a915 100644
--- a/sd/source/ui/dlg/tpoption.cxx
+++ b/sd/source/ui/dlg/tpoption.cxx
@@ -197,7 +197,7 @@ OUString SdTpOptionsContents::GetAllStrings()
 return sAllStrings.replaceAll("_", "");
 }
 
-bool SdTpOptionsContents::FillItemSet( SfxItemSet* rAttrs )
+bool SdTpOptionsContents::FillItemSet( SfxItemSet* )
 {
 bool bModified = false;
 
@@ -206,27 +206,46 @@ bool SdTpOptionsContents::FillItemSet( SfxItemSet* rAttrs 
)
 m_xCbxDragStripes->get_state_changed_from_saved() ||
 m_xCbxHandlesBezier->get_state_changed_from_saved() )
 {
-SdOptionsLayoutItem aOptsItem;
+std::shared_ptr batch(
+comphelper::ConfigurationChanges::create());
 
-aOptsItem.GetOptionsLayout().SetRulerVisible( 
m_xCbxRuler->get_active() );
-aOptsItem.GetOptionsLayout().SetMoveOutline( 
m_xCbxMoveOutline->get_active() );
-aOptsItem.GetOptionsLayout().SetDragStripes( 
m_xCbxDragStripes->get_active() );
-aOptsItem.GetOptionsLayout().SetHandlesBezier( 
m_xCbxHandlesBezier->get_active() );
+if (m_bDrawMode)
+{
+officecfg::Office::Draw::Layout::Display::Ruler::set( 
m_xCbxRuler->get_active(), batch );
+officecfg::Office::Draw::Layout::Display::Contour::set( 
m_xCbxMoveOutline->get_active(), batch );
+officecfg::Office::Draw::Layout::Display::Guide::set( 
m_xCbxDragStripes->get_active(), batch );
+officecfg::Office::Draw::Layout::Display::Bezier::set( 
m_xCbxHandlesBezier->get_active(), batch );
+}
+else
+{
+officecfg::Office::Impress::Layout::Display::Ruler::set( 
m_xCbxRuler->get_active(), batch );
+officecfg::Office::Impress::Layout::Display::Contour::set( 
m_xCbxMoveOutline->get_active(), batch );
+officecfg::Office::Impress::Layout::Display::Guide::set( 
m_xCbxDragStripes->get_active(), batch );
+officecfg::Office::Impress::Layout::Display::Bezier::set( 
m_xCbxHandlesBezier->get_active(), batch );
+}
 
-rAttrs->Put( aOptsItem );
+batch->commit();
 bModified = true;
 }
 return bModified;
 }
 
-void SdTpOptionsContents::Reset( const SfxItemSet* rAttrs )
+void SdTpOptionsContents::Reset( const SfxItemSet* )
 {
-SdOptionsLayoutItem aLayoutItem( rAttrs->Get( ATTR_OPTIONS_LAYOUT ) );
-
-m_xCbxRuler->set_active( aLayoutItem.GetOptionsLayout().IsRulerVisible() );
-m_xCbxMoveOutline->set_active( 
aLayoutItem.GetOptionsLayout().IsMoveOutline() );
-m_xCbxDragStripes->set_active( 
aLayoutItem.GetOptionsLayout().IsDragStripes() );
-m_xCbxHandlesBezier->set_active( 
aLayoutItem.GetOptionsLayout().IsHandlesBezier() );
+if (m_bDrawMode)
+{
+m_xCbxRuler->set_active( 
officecfg::Office::Draw::Layout::Display::Ruler::get() );
+m_xCbxMoveOutline->set_active( 
officecfg::Office::Draw::Layout::Display::Contour::get() );
+m_xCbxDragStripes->set_active( 
officecfg::Office::Draw::Layout::Display::Guide::get() );
+m_xCbxHandlesBezier->set_active( 
officecfg::Office::Draw::Layout::Display::Bezier::get() );
+}
+else
+{
+
m_xCbxRuler->set_active(officecfg::Office::Impress::Layout::Display::Ruler::get()
 );
+
m_xCbxMoveOutline->set_active(officecfg::Office::Impress::Layout::Display::Contour::get()
 );
+
m_xCbxDragStripes->set_active(officecfg::Office::Impress::Layout::Display::Guide::get()
 );
+
m_xCbxHandlesBezier->set_active(officecfg::Office::Impress::Layout::Display::Bezier::get()
 );
+}
 
 bool bReadOnly = m_bDrawMode ? 
officecfg::Office::Draw::Layout::Display::Ruler::isReadOnly() :
 officecfg::Office::Impress::Layout::Display::Ruler::isReadOnly();


core.git: formula/inc formula/source include/formula sc/inc sc/qa sc/README.md sc/source

2024-04-26 Thread Balazs Varga (via logerrit)
 formula/inc/core_resource.hrc|6 
 formula/source/core/api/FormulaCompiler.cxx  |1 
 include/formula/compiler.hxx |3 
 include/formula/opcode.hxx   |2 
 sc/README.md |1 
 sc/inc/helpids.h |1 
 sc/inc/scfuncs.hrc   |   14 
 sc/qa/extras/scfunctionlistobj.cxx   |2 
 sc/qa/unit/data/functions/spreadsheet/fods/sequence.fods | 4231 +++
 sc/qa/unit/ucalc.cxx |1 
 sc/source/core/data/funcdesc.cxx |1 
 sc/source/core/inc/interpre.hxx  |1 
 sc/source/core/tool/interpr4.cxx |1 
 sc/source/core/tool/interpr5.cxx |   61 
 sc/source/core/tool/parclass.cxx |1 
 sc/source/core/tool/token.cxx|1 
 sc/source/filter/excel/xlformula.cxx |3 
 sc/source/filter/oox/formulabase.cxx |3 
 18 files changed, 4330 insertions(+), 4 deletions(-)

New commits:
commit 35772a003bb30be61f8ba8abe805455e41db0e1e
Author: Balazs Varga 
AuthorDate: Wed Apr 17 17:12:37 2024 +0200
Commit: Balazs Varga 
CommitDate: Fri Apr 26 09:33:23 2024 +0200

tdf#126573 Add Excel2021 array function SEQUENCE to Calc

Add new function called SEQUENCE to the function list.

(TODO: dynamic array in separate patch, oasis proposal)

Change-Id: I9fa6f2c83536536987542cc00a9eec5c196ada8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166245
Tested-by: Jenkins
Tested-by: Gabor Kelemen 
Reviewed-by: Balazs Varga 

diff --git a/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc
index 82d3a52c98e8..ec1f81699e7f 100644
--- a/formula/inc/core_resource.hrc
+++ b/formula/inc/core_resource.hrc
@@ -315,6 +315,7 @@ const std::pair 
RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] =
 { "MDETERM" , SC_OPCODE_MAT_DET },
 { "MINVERSE" , SC_OPCODE_MAT_INV },
 { "MMULT" , SC_OPCODE_MAT_MULT },
+{ "COM.MICROSOFT.SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
 { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
 { "ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -767,6 +768,7 @@ const std::pair 
RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] =
 { "MDETERM" , SC_OPCODE_MAT_DET },
 { "MINVERSE" , SC_OPCODE_MAT_INV },
 { "MMULT" , SC_OPCODE_MAT_MULT },
+{ "_xlfn.SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
 { "_xlfn.MUNIT" , SC_OPCODE_MATRIX_UNIT },
 { "_xlfn.ORG.OPENOFFICE.GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -1222,6 +1224,7 @@ const std::pair 
RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] =
 { "MDETERM" , SC_OPCODE_MAT_DET },
 { "MINVERSE" , SC_OPCODE_MAT_INV },
 { "MMULT" , SC_OPCODE_MAT_MULT },
+{ "SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
 { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
 { "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -1678,6 +1681,7 @@ const std::pair 
RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] =
 { "MDETERM" , SC_OPCODE_MAT_DET },
 { "MINVERSE" , SC_OPCODE_MAT_INV },
 { "MMULT" , SC_OPCODE_MAT_MULT },
+{ "SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
 { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
 { "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -2132,6 +2136,7 @@ const std::pair 
RID_STRLIST_FUNCTION_NAMES_ENGLISH[] =
 { "MDETERM" , SC_OPCODE_MAT_DET },
 { "MINVERSE" , SC_OPCODE_MAT_INV },
 { "MMULT" , SC_OPCODE_MAT_MULT },
+{ "SEQUENCE" , SC_OPCODE_MAT_SEQUENCE },
 { "TRANSPOSE" , SC_OPCODE_MAT_TRANS },
 { "MUNIT" , SC_OPCODE_MATRIX_UNIT },
 { "GOALSEEK" , SC_OPCODE_BACK_SOLVER },
@@ -2565,6 +2570,7 @@ const std::pair 
RID_STRLIST_FUNCTION_NAMES[] =
 { NC_("RID_STRLIST_FUNCTION_NAMES", "MDETERM") , SC_OPCODE_MAT_DET },
 { NC_("RID_STRLIST_FUNCTION_NAMES", "MINVERSE") , SC_OPCODE_MAT_INV },
 { NC_("RID_STRLIST_FUNCTION_NAMES", "MMULT") , SC_OPCODE_MAT_MULT },
+{ NC_("RID_STRLIST_FUNCTION_NAMES", "SEQUENCE") , SC_OPCODE_MAT_SEQUENCE },
 { NC_("RID_STRLIST_FUNCTION_NAMES", "TRANSPOSE") , SC_OPCODE_MAT_TRANS },
 { NC_("RID_STRLIST_FUNCTION_NAMES", "MUNIT") , SC_OPCODE_MATRIX_UNIT },
 { NC_("RID_STRLIST_FUNCTION_NAMES", "GOALSEEK") , SC_OPCODE_BACK_SOLVER },
diff --git a/formula/source/core/api/FormulaCompiler.cxx 
b/formula/source/core/api/FormulaCompiler.cxx
index 278628cbd648..0f75df5cc184 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -1224,6 +1224,7 @@ bool FormulaCompiler::IsMatrixFunction( OpCode eOpCode )
 case ocLogest :
 case ocLinest :
 case 

core.git: external/nss

2024-04-26 Thread Caolán McNamara (via logerrit)
 external/nss/ExternalProject_nss.mk |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 2177acbc8a3befb5367895709b3447717b98ea33
Author: Caolán McNamara 
AuthorDate: Thu Apr 25 17:11:54 2024 +0100
Commit: Caolán McNamara 
CommitDate: Fri Apr 26 09:26:21 2024 +0200

add debuginfo generation flags to internal nss

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

diff --git a/external/nss/ExternalProject_nss.mk 
b/external/nss/ExternalProject_nss.mk
index b603061ca9a0..79e7f8eb2b2e 100644
--- a/external/nss/ExternalProject_nss.mk
+++ b/external/nss/ExternalProject_nss.mk
@@ -74,7 +74,11 @@ $(call gb_ExternalProject_get_state_target,nss,build): \
RANLIB="$(RANLIB)" \
NMEDIT="$(NM)edit" \
COMMA=$(COMMA) \
-   CC="$(CC) $(if $(filter 
-fsanitize=undefined,$(CC)),-fno-sanitize=function) $(if $(filter iOS,$(OS)), 
-DNSS_STATIC_SOFTOKEN=1 -DNSS_STATIC_FREEBL=1 -DNSS_STATIC_PKCS11=1)$(if 
$(filter ANDROID,$(OS)), -D_PR_NO_LARGE_FILES=1 -DSQLITE_DISABLE_LFS=1)" 
CCC="$(CXX)" \
+   CC="$(CC) $(gb_DEBUGINFO_FLAGS) \
+   $(if $(filter 
-fsanitize=undefined,$(CC)),-fno-sanitize=function) \
+   $(if $(filter iOS,$(OS)), 
-DNSS_STATIC_SOFTOKEN=1 -DNSS_STATIC_FREEBL=1 -DNSS_STATIC_PKCS11=1) \
+   $(if $(filter ANDROID,$(OS)), 
-D_PR_NO_LARGE_FILES=1 -DSQLITE_DISABLE_LFS=1)" \
+   CCC="$(CXX) $(gb_DEBUGINFO_FLAGS)" \
$(if $(CROSS_COMPILING),NSINSTALL="$(if $(filter 
MACOSX,$(OS_FOR_BUILD)),xcrun python3,$(call 
gb_ExternalExecutable_get_command,python)) 
$(SRCDIR)/external/nss/nsinstall.py") \
$(if $(filter ANDROID,$(OS)),OS_TARGET=Android 
OS_TARGET_RELEASE=$(ANDROID_API_LEVEL) ARCHFLAG="" DEFAULT_COMPILER=clang 
ANDROID_NDK=$(ANDROID_NDK_DIR) 
ANDROID_TOOLCHAIN_VERSION=$(ANDROID_GCC_TOOLCHAIN_VERSION) 
ANDROID_PREFIX=$(HOST_PLATFORM) ANDROID_SYSROOT=$(ANDROID_NDK_DIR)/sysroot) \
NSS_DISABLE_GTESTS=1 \


core.git: sw/source

2024-04-26 Thread Xisco Fauli (via logerrit)
 sw/source/core/access/accfrmobj.cxx  |   15 ++-
 sw/source/core/doc/docdraw.cxx   |   12 +++
 sw/source/core/draw/dview.cxx|  108 ---
 sw/source/core/frmedt/fecopy.cxx |   25 +++---
 sw/source/core/frmedt/fefly1.cxx |   13 ++-
 sw/source/core/frmedt/feshview.cxx   |   37 ++---
 sw/source/core/layout/anchoreddrawobject.cxx |4 +
 sw/source/core/layout/anchoredobject.cxx |   11 +-
 sw/source/core/layout/fly.cxx|4 -
 sw/source/core/layout/flylay.cxx |   41 +-
 sw/source/core/layout/frmtool.cxx|   40 ++
 sw/source/core/layout/pagechg.cxx|   19 ++--
 sw/source/core/layout/trvlfrm.cxx|   39 +
 sw/source/core/txtnode/atrflyin.cxx  |3 
 sw/source/core/undo/undraw.cxx   |   31 ---
 15 files changed, 242 insertions(+), 160 deletions(-)

New commits:
commit 495b5db74f0db59395ff68bacc8d8ca67595b66e
Author: Xisco Fauli 
AuthorDate: Thu Apr 25 18:15:12 2024 +0200
Commit: Xisco Fauli 
CommitDate: Fri Apr 26 09:25:23 2024 +0200

sw: check GetUserCall

It might return nullptr
See 
https://crashreport.libreoffice.org/stats/signature/SwFEShell::ShouldObjectBeSelected(Point%20const%20&)

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

diff --git a/sw/source/core/access/accfrmobj.cxx 
b/sw/source/core/access/accfrmobj.cxx
index f78dc2d155db..004ca4ab94e0 100644
--- a/sw/source/core/access/accfrmobj.cxx
+++ b/sw/source/core/access/accfrmobj.cxx
@@ -240,13 +240,16 @@ SwRect SwAccessibleChild::GetBox( const SwAccessibleMap& 
rAccMap ) const
 // by the mpFrame case above b) for genuine SdrObject this must be set
 // if it's connected to layout
 assert(dynamic_cast(pContact));
-SwPageFrame const*const pPage(const_cast(
-pContact->GetAnchoredObj(mpDrawObj))->FindPageFrameOfAnchor());
-if (pPage) // may end up here with partial layout -> not visible
+if (pContact)
 {
-aBox = SwRect( mpDrawObj->GetCurrentBoundRect() );
-// tdf#91260 drawing object may be partially off-page
-aBox.Intersection(pPage->getFrameArea());
+SwPageFrame const*const pPage(const_cast(
+pContact->GetAnchoredObj(mpDrawObj))->FindPageFrameOfAnchor());
+if (pPage) // may end up here with partial layout -> not visible
+{
+aBox = SwRect( mpDrawObj->GetCurrentBoundRect() );
+// tdf#91260 drawing object may be partially off-page
+aBox.Intersection(pPage->getFrameArea());
+}
 }
 }
 else if ( mpWindow )
diff --git a/sw/source/core/doc/docdraw.cxx b/sw/source/core/doc/docdraw.cxx
index f5a37d00ab21..1a3bed4e4c0c 100644
--- a/sw/source/core/doc/docdraw.cxx
+++ b/sw/source/core/doc/docdraw.cxx
@@ -67,6 +67,9 @@ static void lcl_AdjustPositioningAttr( SwDrawFrameFormat* 
_pFrameFormat,
 const SwContact* pContact = GetUserCall( &_rSdrObj );
 OSL_ENSURE( pContact, " - missing contact 
object." );
 
+if (!pContact)
+return;
+
 // determine position of new group object relative to its anchor frame 
position
 SwTwips nHoriRelPos = 0;
 SwTwips nVertRelPos = 0;
@@ -194,6 +197,9 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView )
 
 // Revoke anchor attribute.
 SwDrawContact *pMyContact = 
static_cast(GetUserCall(pObj));
+if (!pMyContact)
+return pNewContact;
+
 const SwFormatAnchor aAnch( pMyContact->GetFormat()->GetAnchor() );
 
 std::unique_ptr pUndo;
@@ -215,6 +221,9 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView )
 pObj = rMrkList.GetMark( i )->GetMarkedSdrObj();
 SwDrawContact *pContact = 
static_cast(GetUserCall(pObj));
 
+if (!pContact)
+continue;
+
 // #i53320#
 #if OSL_DEBUG_LEVEL > 0
 SwAnchoredDrawObject* pAnchoredDrawObj =
@@ -351,6 +360,9 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView )
 {
 SwDrawContact *pContact = 
static_cast(GetUserCall(pObj));
 
+if (!pContact)
+continue;
+
 std::shared_ptr pTextBoxNode;
 if (auto pGroupFormat = pContact->GetFormat())
 pTextBoxNode = pGroupFormat->GetOtherTextBoxFormats();
diff --git a/sw/source/core/draw/dview.cxx b/sw/source/core/draw/dview.cxx
index 21e557b886e4..d95dc0d17af9 100644
--- a/sw/source/core/draw/dview.cxx
+++ b/sw/source/core/draw/dview.cxx
@@ -212,10 +212,14 @@ void SwDrawView::AddCustomHdl()
 {
 const SdrMarkList  = GetMarkedObjectList();
 
-if(rMrkList.GetMarkCount() != 1 || 

core.git: Branch 'libreoffice-24-2' - download.lst

2024-04-26 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 2dd760424554d597eb93fb6bc96ffddc9c5f1b18
Author: Xisco Fauli 
AuthorDate: Wed Apr 24 18:26:20 2024 +0200
Commit: Adolfo Jayme Barrientos 
CommitDate: Fri Apr 26 09:13:13 2024 +0200

NotoSansHebrew: upgrade to v2.004

Change-Id: I5f58bc02b35c5995ba8af3f24f448f45dbb378bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166522
Reviewed-by: Adolfo Jayme Barrientos 
Tested-by: Jenkins

diff --git a/download.lst b/download.lst
index a84796bd26e0..40384de2b66d 100644
--- a/download.lst
+++ b/download.lst
@@ -192,8 +192,8 @@ FONT_NOTO_NASKH_ARABIC_TARBALL := NotoNaskhArabic-v2.016.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-FONT_NOTO_SANS_HEBREW_SHA256SUM := 
ded809309ff924bc45834bf19afaa5693cadf17580972468f6041f5e599ddb8a
-FONT_NOTO_SANS_HEBREW_TARBALL := NotoSansHebrew-v2.003.zip
+FONT_NOTO_SANS_HEBREW_SHA256SUM := 
54b5b06b466f4de8ec8e8f988877e297ead271419f6646527046638e434815fe
+FONT_NOTO_SANS_HEBREW_TARBALL := NotoSansHebrew-v2.004.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: external/liblangtag

2024-04-26 Thread Julien Nabet (via logerrit)
 external/liblangtag/ExternalProject_liblangtag.mk |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 73229b441f0f0aa6ab4e3ae051f9d09f683361fc
Author: Julien Nabet 
AuthorDate: Thu Apr 25 21:56:45 2024 +0200
Commit: Julien Nabet 
CommitDate: Fri Apr 26 08:45:59 2024 +0200

Typo gb_Trace_ liblangtrag instead of liblangtag

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

diff --git a/external/liblangtag/ExternalProject_liblangtag.mk 
b/external/liblangtag/ExternalProject_liblangtag.mk
index 0f005e27b355..a682250ebe8e 100644
--- a/external/liblangtag/ExternalProject_liblangtag.mk
+++ b/external/liblangtag/ExternalProject_liblangtag.mk
@@ -18,7 +18,7 @@ $(eval $(call gb_ExternalProject_register_targets,liblangtag,\
 ))
 
 $(call gb_ExternalProject_get_state_target,liblangtag,build):
-   $(call gb_Trace_StartRange,liblangtrag,EXTERNAL)
+   $(call gb_Trace_StartRange,liblangtag,EXTERNAL)
$(call gb_ExternalProject_run,build,\
MAKE=$(MAKE) $(gb_RUN_CONFIGURE) ./configure --disable-modules 
--disable-test --disable-introspection --with-pic \
$(if $(or $(DISABLE_DYNLOADING),$(filter MSC,$(COM))), \
@@ -44,6 +44,6 @@ $(call gb_ExternalProject_get_state_target,liblangtag,build):

$(EXTERNAL_WORKDIR)/liblangtag/.libs/liblangtag.1.dylib \
) \
)
-   $(call gb_Trace_EndRange,liblangtrag,EXTERNAL)
+   $(call gb_Trace_EndRange,liblangtag,EXTERNAL)
 
 # vim: set noet sw=4 ts=4:


core.git: 2 commits - sw/uiconfig

2024-04-26 Thread Samuel Mehrbrodt (via logerrit)
 sw/uiconfig/swriter/ui/paradialog.ui  |  364 +++---
 sw/uiconfig/swriter/ui/templatedialog2.ui |  575 --
 2 files changed, 142 insertions(+), 797 deletions(-)

New commits:
commit 7bbeba7fe8b094e218bd57f613eaefdf47ff88de
Author: Samuel Mehrbrodt 
AuthorDate: Thu Apr 25 14:46:16 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Fri Apr 26 08:45:02 2024 +0200

Save with newer Glade version

Change-Id: I37188d82d87724c70b8e33bc65e56f091d5587e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166623
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 

diff --git a/sw/uiconfig/swriter/ui/paradialog.ui 
b/sw/uiconfig/swriter/ui/paradialog.ui
index 0014cf943ddd..3f12d683e6fa 100644
--- a/sw/uiconfig/swriter/ui/paradialog.ui
+++ b/sw/uiconfig/swriter/ui/paradialog.ui
@@ -1,36 +1,33 @@
 
-
+
 
   
   
-False
-False
-6
+False
+6
 Paragraph
+False
 True
-0
-0
-dialog
-
-  
-
+0
+0
+dialog
 
   
-False
+False
 vertical
 12
 
   
-False
-end
+False
+end
 
   
 _Reset
 True
-True
-True
+True
+True
+Unsaved modifications to this tab are 
reverted.
 True
-Unsaved modifications to this tab are 
reverted.
 
   
 Revert any changes 
made on the tab shown here to the settings that were present when this dialog 
was opened.
@@ -45,12 +42,11 @@
 
 
   
-_Standard
-False
-True
-True
-True
-True
+_Standard
+True
+True
+True
+True
   
   
 False
@@ -62,10 +58,10 @@
   
 _OK
 True
-True
-True
-True
-True
+True
+True
+True
+True
 True
   
   
@@ -78,8 +74,8 @@
   
 _Cancel
 True
-True
-True
+True
+True
 True
   
   
@@ -92,8 +88,8 @@
   
 _Help
 True
-True
-True
+True
+True
 True
   
   
@@ -107,47 +103,23 @@
   
 False
 True
-end
+end
 0
   
 
 
   
 True
-True
+True
 True
 True
 True
-True
+True
 
   
   
 True
-False
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
+False
 
   
 
@@ -156,42 +128,18 @@
 
   
 True
-False
+False
 Indents  Spacing
   
   
-False
+False
   
 
 
   
   
 True
-False
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
-
-  
-
+False
 
   
 
@@ -203,44 +151,20 @@
 
   
 True
-False
+False
 Alignment
 0.5
   
   
 1
-False
+False
   
 
 
   
   
 True
-   

core.git: sw/qa

2024-04-26 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/odfexport/odfexport2.cxx |   31 ++-
 1 file changed, 14 insertions(+), 17 deletions(-)

New commits:
commit a00294a6d56ff7f4da8c6ae426eca95d39e38981
Author: Mike Kaganski 
AuthorDate: Fri Apr 26 10:06:38 2024 +0500
Commit: Mike Kaganski 
CommitDate: Fri Apr 26 08:16:22 2024 +0200

Simplify a bit

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

diff --git a/sw/qa/extras/odfexport/odfexport2.cxx 
b/sw/qa/extras/odfexport/odfexport2.cxx
index 62098deccc08..0da0ca9ac69f 100644
--- a/sw/qa/extras/odfexport/odfexport2.cxx
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
@@ -1583,26 +1583,23 @@ CPPUNIT_TEST_FIXTURE(Test, 
testTableInFrameAnchoredToPage)
 // it must not assert on export because of missing format for an exported 
table
 loadAndReload("table_in_frame_to_page.fodt");
 
+xmlDocUniquePtr pXmlDoc = parseExport("content.xml");
+auto AutoStyleUsedIn = [this, ](const OString& path, const 
OString& attr) -> OString
+{
+const OUString styleName = getXPath(pXmlDoc, path, attr);
+return "//office:automatic-styles/style:style[@style:name='" + 
styleName.toUtf8() + "']";
+};
+constexpr OString xPathTextBox = 
"//office:body/office:text/draw:frame/draw:text-box"_ostr;
+
 // Check also, that autostyles defined inside that frame are stored 
correctly. If not, then
 // these paragraphs would refer to styles in , not in 
,
 // without the 'italic' and 'bold' attributes.
-xmlDocUniquePtr pXmlDoc = parseExport("content.xml");
-OUString P1 = getXPath(
-pXmlDoc,
-
"//office:body/office:text/draw:frame/draw:text-box/table:table/table:table-row[1]/"
-"table:table-cell[1]/text:p"_ostr,
-"style-name"_ostr);
-assertXPath(pXmlDoc,
-"//office:automatic-styles/style:style[@style:name='"_ostr + 
P1.toUtf8()
-+ "']/style:text-properties",
-"font-style"_ostr, u"italic"_ustr);
-OUString P2
-= getXPath(pXmlDoc, 
"//office:body/office:text/draw:frame/draw:text-box/text:p"_ostr,
-   "style-name"_ostr);
-assertXPath(pXmlDoc,
-"//office:automatic-styles/style:style[@style:name='"_ostr + 
P2.toUtf8()
-+ "']/style:text-properties",
-"font-weight"_ostr, u"bold"_ustr);
+OString P = AutoStyleUsedIn(xPathTextBox + "/text:p", "style-name"_ostr);
+assertXPath(pXmlDoc, P + "/style:text-properties", "font-weight"_ostr, 
u"bold"_ustr);
+
+P = AutoStyleUsedIn(xPathTextBox + 
"/table:table/table:table-row[1]/table:table-cell[1]/text:p",
+"style-name"_ostr);
+assertXPath(pXmlDoc, P + "/style:text-properties", "font-style"_ostr, 
u"italic"_ustr);
 }
 
 } // end of anonymous namespace


core.git: static/CustomTarget_wasm-qt5-mandelbrot_moc.mk

2024-04-25 Thread Julien Nabet (via logerrit)
 static/CustomTarget_wasm-qt5-mandelbrot_moc.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit fe3b209596c065395c6589deb886fa1449c04540
Author: Julien Nabet 
AuthorDate: Thu Apr 25 22:11:08 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Apr 26 07:29:53 2024 +0200

gb_Trace_EndRange MOC instead of CXX (CustomTarget_wasm-qt5-mandelbrot_moc)

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

diff --git a/static/CustomTarget_wasm-qt5-mandelbrot_moc.mk 
b/static/CustomTarget_wasm-qt5-mandelbrot_moc.mk
index d3da8235c5f9..afd28784eb96 100644
--- a/static/CustomTarget_wasm-qt5-mandelbrot_moc.mk
+++ b/static/CustomTarget_wasm-qt5-mandelbrot_moc.mk
@@ -24,7 +24,7 @@ $(qt5_mandelbrot_MOCDEFS_H): $(qt5_mandelbrot_MOCDEFS_CXX) | 
$(qt5_mandelbrot_WO
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),CXX,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),CXX)
$(CXX) -pipe -O2 -std=gnu++11 -fno-exceptions $(gb_EMSCRIPTEN_CPPFLAGS) 
-dM -E -o $@ $<
-   $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),MOC)
+   $(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),CXX)
 
 $(call gb_CustomTarget_get_workdir,static/qt5-mandelbrot)/%.moc : \
$(SRCDIR)/static/source/qt5-mandelbrot/%.h \


core.git: download.lst external/boost

2024-04-25 Thread Stephan Bergmann (via logerrit)
 download.lst |4 +-
 external/boost/UnpackedTarball_boost.mk  |3 -
 external/boost/Wundef.patch.0|   22 ---
 external/boost/boost-emscripten-noshm.patch.0|   11 -
 external/boost/boost_1_59_0.property_tree.wreturn-type.patch |   14 ---
 5 files changed, 2 insertions(+), 52 deletions(-)

New commits:
commit edd6243b1f607f5e60d1bbe869e2e236bc021177
Author: Stephan Bergmann 
AuthorDate: Thu Apr 25 22:58:56 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Fri Apr 26 07:29:34 2024 +0200

Upgrade external/boost to latest Boost 1.85.0

 has been 
generated (on
Fedora 40) with

> $ wget 
https://boostorg.jfrog.io/artifactory/main/release/1.85.0/source/boost_1_85_0.tar.bz2
> $ printf 
'7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617 
boost_1_85_0.tar.bz2' | sha256sum -c # cf. 

> boost_1_85_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_85_0.tar.bz2
> Unpacking boost_1_85_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_85_0.tar.xz ...
> Cleaning up ...
> 4e23218ff5036d57afd20f7cdab2e94cdbf6ba9c509d656ace643a81c40a985a  
boost_1_85_0.tar.xz
> Done.

Three patches failed to apply:

* external/boost/boost_1_59_0.property_tree.wreturn-type.patch ("aka MSVC
  warning C4715: not all control paths return a value") should no longer be
  necessary after
  

  "Use BOOST_UNREACHABLE_RETURN at the end of function" (the referenced
   appears to no longer be
  reachable, though).

* The boost/math parts of external/boost/Wundef.patch.0 are obsoleted by
  

  "Fix -Wundef warnings".

* external/boost/boost-emscripten-noshm.patch.0 is obsoleeted by
  

  "emscripten doesn't support shm".

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

diff --git a/download.lst b/download.lst
index 9989521f9094..df1a213bbb95 100644
--- a/download.lst
+++ b/download.lst
@@ -14,8 +14,8 @@ ARGON2_TARBALL := phc-winner-argon2-20190702.tar.gz
 # so that git cherry-pick
 # will not run into conflicts
 # please repack the tarball using external/boost/repack_tarball.sh
-BOOST_SHA256SUM := 
fd4a2ee785ea0e4efc5221a4284e0cf51096e8409871fb70fdaced002eeffc0b
-BOOST_TARBALL := boost_1_84_0.tar.xz
+BOOST_SHA256SUM := 
4e23218ff5036d57afd20f7cdab2e94cdbf6ba9c509d656ace643a81c40a985a
+BOOST_TARBALL := boost_1_85_0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/boost/UnpackedTarball_boost.mk 
b/external/boost/UnpackedTarball_boost.mk
index c49a2bc099fc..1d555de9861e 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -20,8 +20,6 @@ boost_patches += rtti.patch.0
 
 # https://svn.boost.org/trac/boost/ticket/11505
 boost_patches += boost_1_59_0.mpl.config.wundef.patch
-# https://svn.boost.org/trac/boost/ticket/11501
-boost_patches += boost_1_59_0.property_tree.wreturn-type.patch
 
 boost_patches += clang-cl.patch.0
 
@@ -44,7 +42,6 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,boost,3))
 
 $(eval $(call gb_UnpackedTarball_add_patches,boost,\
$(foreach patch,$(boost_patches),external/boost/$(patch)) \
-external/boost/boost-emscripten-noshm.patch.0 \
 external/boost/boost-emscripten-nowasm.patch.0 \
 ))
 
diff --git a/external/boost/Wundef.patch.0 b/external/boost/Wundef.patch.0
index 63dfc4afde00..8cb546464373 100644
--- a/external/boost/Wundef.patch.0
+++ b/external/boost/Wundef.patch.0
@@ -31,25 +31,3 @@
  #pragma clang diagnostic pop
  #endif
  }}} // namespace boost::locale::detail
 boost/math/tools/config.hpp
-+++ boost/math/tools/config.hpp
-@@ -147,7 +147,7 @@
- #endif
- 
- // C++23
--#if __cplusplus > 202002L || _MSVC_LANG > 202002L
-+#if __cplusplus > 202002L || (defined _MSVC_LANG && _MSVC_LANG > 202002L)
- #  if __GNUC__ >= 13
-  // libstdc++3 only defines to/from_chars for std::float128_t when one of 
these defines are set
-  // otherwise we're right out of luck...
 boost/math/tools/promotion.hpp
-+++ boost/math/tools/promotion.hpp
-@@ -27,7 +27,7 @@
- #include 
- 
- #if defined __has_include
--#  if __cplusplus > 202002L || _MSVC_LANG > 202002L 
-+#  if __cplusplus > 202002L || (defined _MSVC_LANG && _MSVC_LANG > 202002L) 
- #if 

core.git: drawinglayer/source

2024-04-25 Thread Mike Kaganski (via logerrit)
 drawinglayer/source/processor2d/vclprocessor2d.cxx |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit 1112a2bea0cb260fd64360b679c3f0f5c495e16e
Author: Mike Kaganski 
AuthorDate: Fri Apr 26 01:00:21 2024 +0500
Commit: Mike Kaganski 
CommitDate: Fri Apr 26 05:50:27 2024 +0200

tdf#157240: also set font color together with font

Commit b008831a5545e5a777d77547ef96b9798d795f30 (tdf#152990 set the font
after the MapMode is (potentially) set, 2023-01-14) had moved setting of
font forward, but left setting the font color behind. This fixed that.

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

diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx 
b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index 0c5f70bb530b..3cfec4af8b8d 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -326,8 +326,6 @@ void 
VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(
 mpOutputDevice->SetLayoutMode(nRTLLayoutMode);
 }
 
-mpOutputDevice->SetTextColor(Color(aRGBFontColor));
-
 OUString aText(rTextCandidate.getText());
 sal_Int32 nPos = rTextCandidate.getTextPosition();
 sal_Int32 nLen = rTextCandidate.getTextLength();
@@ -439,6 +437,7 @@ void 
VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D(
 // tdf#152990 set the font after the MapMode is (potentially) set 
so canvas uses the desired
 // font size
 mpOutputDevice->SetFont(aFont);
+mpOutputDevice->SetTextColor(Color(aRGBFontColor));
 
 if (!aDXArray.empty())
 {


core.git: xmloff/source

2024-04-25 Thread Mike Kaganski (via logerrit)
 xmloff/source/text/txtparae.cxx |   43 
 1 file changed, 43 deletions(-)

New commits:
commit e73e117c1309b586f59a4c901aa30117f457727c
Author: Mike Kaganski 
AuthorDate: Fri Apr 26 00:44:45 2024 +0500
Commit: Mike Kaganski 
CommitDate: Fri Apr 26 05:49:50 2024 +0200

This block seems obsolete now, try to drop it

... and see if something breaks. Unit tests pass.
Likely obsoleted by commit 69ed893087f89d176a5ec4b263ce8d75774be72b
(tdf#160253: fix list identifier export decision code, 2024-04-24).

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

diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index 09af34d44648..df324c16acad 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -1684,49 +1684,6 @@ void 
XMLTextParagraphExport::collectTextAutoStylesAndNodeExportOrder(bool bIsPro
 }
 }
 
-Reference< XNumberingRulesSupplier > xNumberingRulesSupp( 
GetExport().GetModel(), UNO_QUERY );
-if ( xNumberingRulesSupp.is() )
-{
-Reference< XIndexAccess > xNumberingRules = 
xNumberingRulesSupp->getNumberingRules();
-sal_Int32 nCount = xNumberingRules->getCount();
-// Custom outline assignment lost after re-importing sxw (#i73361#)
-for( sal_Int32 i = 0; i < nCount; ++i )
-{
-Reference< XIndexReplace > xNumRule( xNumberingRules->getByIndex( 
i ), UNO_QUERY );
-if( xNumRule.is() && xNumRule->getCount() )
-{
-Reference < XNamed > xNamed( xNumRule, UNO_QUERY );
-OUString sName;
-if( xNamed.is() )
-sName = xNamed->getName();
-bool bAdd = sName.isEmpty();
-if( !bAdd )
-{
-Reference < XPropertySet > xNumPropSet( xNumRule,
-UNO_QUERY );
-if( xNumPropSet.is() &&
-xNumPropSet->getPropertySetInfo()
-   ->hasPropertyByName( "IsAutomatic" ) )
-{
-bAdd = 
*o3tl::doAccess(xNumPropSet->getPropertyValue( "IsAutomatic" ));
-// Check on outline style (#i73361#)
-if ( bAdd &&
- xNumPropSet->getPropertySetInfo()
-   ->hasPropertyByName( 
"NumberingIsOutline" ) )
-{
-bAdd = 
!(*o3tl::doAccess(xNumPropSet->getPropertyValue( "NumberingIsOutline" )));
-}
-}
-else
-{
-bAdd = true;
-}
-}
-if( bAdd )
-maListAutoPool.Add( xNumRule );
-}
-}
-}
 mbCollected = true;
 }
 


core.git: sw/qa xmloff/source

2024-04-25 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/odfexport/data/table_in_frame_to_page.fodt |   66 
 sw/qa/extras/odfexport/odfexport2.cxx   |   28 ++
 xmloff/source/text/txtparae.cxx |2 
 3 files changed, 95 insertions(+), 1 deletion(-)

New commits:
commit 0568384c5d16748aa58b544dbbd2a18a85a1
Author: Mike Kaganski 
AuthorDate: Fri Apr 26 00:05:07 2024 +0500
Commit: Mike Kaganski 
CommitDate: Fri Apr 26 05:49:04 2024 +0200

Make sure to export autostyles from inside frames anchored to page

These frames need to export content when collecting autostyles, too.
Regression after commit 69ed893087f89d176a5ec4b263ce8d75774be72b
(tdf#160253: fix list identifier export decision code, 2024-04-24).

Change-Id: If036cab9327e33d32f494fc765bae8e2d685907c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166650
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sw/qa/extras/odfexport/data/table_in_frame_to_page.fodt 
b/sw/qa/extras/odfexport/data/table_in_frame_to_page.fodt
new file mode 100644
index ..998f7a08e590
--- /dev/null
+++ b/sw/qa/extras/odfexport/data/table_in_frame_to_page.fodt
@@ -0,0 +1,66 @@
+
+
+
+ 
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+ 
+ 
+  
+   
+
+ 
+  
+  
+  
+   
+
+   
+   
+
+   
+  
+  
+   
+
+   
+   
+
+   
+  
+ 
+ 
+
+   
+   
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/odfexport/odfexport2.cxx 
b/sw/qa/extras/odfexport/odfexport2.cxx
index 4432d9eb1623..62098deccc08 100644
--- a/sw/qa/extras/odfexport/odfexport2.cxx
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
@@ -1577,6 +1577,34 @@ CPPUNIT_TEST_FIXTURE(Test, 
testTdf160253_outline_numbering)
 // assertXPath(pXmlDoc, "//office:body/office:text/text:list"_ostr, 0);
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTableInFrameAnchoredToPage)
+{
+// Given a table in a frame anchored to a page:
+// it must not assert on export because of missing format for an exported 
table
+loadAndReload("table_in_frame_to_page.fodt");
+
+// Check also, that autostyles defined inside that frame are stored 
correctly. If not, then
+// these paragraphs would refer to styles in , not in 
,
+// without the 'italic' and 'bold' attributes.
+xmlDocUniquePtr pXmlDoc = parseExport("content.xml");
+OUString P1 = getXPath(
+pXmlDoc,
+
"//office:body/office:text/draw:frame/draw:text-box/table:table/table:table-row[1]/"
+"table:table-cell[1]/text:p"_ostr,
+"style-name"_ostr);
+assertXPath(pXmlDoc,
+"//office:automatic-styles/style:style[@style:name='"_ostr + 
P1.toUtf8()
++ "']/style:text-properties",
+"font-style"_ostr, u"italic"_ustr);
+OUString P2
+= getXPath(pXmlDoc, 
"//office:body/office:text/draw:frame/draw:text-box/text:p"_ostr,
+   "style-name"_ostr);
+assertXPath(pXmlDoc,
+"//office:automatic-styles/style:style[@style:name='"_ostr + 
P2.toUtf8()
++ "']/style:text-properties",
+"font-weight"_ostr, u"bold"_ustr);
+}
+
 } // end of anonymous namespace
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index 786539812341..09af34d44648 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -1631,7 +1631,7 @@ void 
XMLTextParagraphExport::collectTextAutoStylesAndNodeExportOrder(bool bIsPro
 return;
 
 const bool bAutoStyles = true;
-const bool bExportContent = false;
+const bool bExportContent = true;
 
 if (auto xTextDocument = GetExport().GetModel().query())
 {


core.git: Branch 'libreoffice-7-6' - vcl/qa vcl/source

2024-04-25 Thread Patrick Luby (via logerrit)
 vcl/qa/cppunit/pdfexport/pdfexport.cxx |6 +-
 vcl/source/gdi/pdfwriter_impl.cxx  |   14 ++
 2 files changed, 15 insertions(+), 5 deletions(-)

New commits:
commit 8624309fb63fd95210ac53d06bd0de4652e4b32b
Author: Patrick Luby 
AuthorDate: Mon Apr 22 19:36:14 2024 -0400
Commit: Adolfo Jayme Barrientos 
CommitDate: Fri Apr 26 05:37:10 2024 +0200

tdf#160714 use crop box for bounds of embedded PDF object

If there is no crop box, fallback to the media box just to be safe.

Change-Id: I29f99a43e550cf09a1534c0aa01ffd6a55536fb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166544
Tested-by: Jenkins
Reviewed-by: Patrick Luby 
(cherry picked from commit 4b31f87e918c38a7eb30ceb85563a5c98b426da5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166672
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
index d6ae5f527ab8..483910dcf07f 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx
@@ -45,6 +45,7 @@
 #include 
 
 #include 
+#include 
 #include 
 
 using namespace ::com::sun::star;
@@ -7800,7 +7801,10 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, 
testRexportMediaBoxOrigin)
 = { // Rotation by $   heta$ $cos( heta), sin( heta), -sin(
heta), cos( heta)$
 0, -1, 1, 0,
 // Translate x,y
--aOrigin[1] - aSize[1] / 2 + aSize[0] / 2, aOrigin[0] + aSize[0] / 
2 + aSize[1] / 2
+-aOrigin[1] - aSize[1] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2
++ aSize[0] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2,
+aOrigin[0] + aSize[0] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2
++ aSize[1] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2
   };
 
 for (sal_Int32 nIdx = 0; nIdx < 6; ++nIdx)
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index d3cb95ea7d0a..d104ca9ea1df 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -9106,9 +9106,15 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 }
 
 double aOrigin[2] = { 0.0, 0.0 };
-if (auto* pArray = 
dynamic_cast(pPage->Lookup("MediaBox")))
+
+// tdf#160714 use crop box for bounds of embedded PDF object
+// If there is no crop box, fallback to the media box just to be safe.
+auto* pBoundsArray = 
dynamic_cast(pPage->Lookup("CropBox"));
+if (!pBoundsArray)
+pBoundsArray = 
dynamic_cast(pPage->Lookup("MediaBox"));
+if (pBoundsArray)
 {
-const auto& rElements = pArray->GetElements();
+const auto& rElements = pBoundsArray->GetElements();
 if (rElements.size() >= 4)
 {
 // get x1, y1 of the rectangle.
@@ -9221,9 +9227,9 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 // Now transform the object: rotate around the center and make 
sure that the rotation
 // doesn't affect the aspect ratio.
 basegfx::B2DHomMatrix aMat;
-aMat.translate(-0.5 * aBBox.getWidth() - aOrigin[0], -0.5 * 
aBBox.getHeight() - aOrigin[1]);
+aMat.translate((-0.5 * aBBox.getWidth() / fMagicScaleFactor) - 
aOrigin[0], (-0.5 * aBBox.getHeight() / fMagicScaleFactor) - aOrigin[1]);
 aMat.rotate(basegfx::deg2rad(nAngle));
-aMat.translate(0.5 * nWidth, 0.5 * nHeight);
+aMat.translate(0.5 * nWidth / fMagicScaleFactor, 0.5 * nHeight / 
fMagicScaleFactor);
 
 aLine.append(" /Matrix [ ");
 aLine.append(aMat.a());


core.git: Branch 'libreoffice-24-2' - vcl/qa vcl/source

2024-04-25 Thread Patrick Luby (via logerrit)
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx |6 +-
 vcl/source/gdi/pdfwriter_impl.cxx   |   14 ++
 2 files changed, 15 insertions(+), 5 deletions(-)

New commits:
commit ca574d5eef68af970cb49f90c7fc4fe813c9009c
Author: Patrick Luby 
AuthorDate: Mon Apr 22 19:36:14 2024 -0400
Commit: Adolfo Jayme Barrientos 
CommitDate: Fri Apr 26 05:35:48 2024 +0200

tdf#160714 use crop box for bounds of embedded PDF object

If there is no crop box, fallback to the media box just to be safe.

Change-Id: I29f99a43e550cf09a1534c0aa01ffd6a55536fb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166544
Tested-by: Jenkins
Reviewed-by: Patrick Luby 
(cherry picked from commit 4b31f87e918c38a7eb30ceb85563a5c98b426da5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166670
Reviewed-by: Adolfo Jayme Barrientos 

diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
index 38e3629497fa..a464798076ed 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
@@ -40,6 +40,7 @@
 #include 
 
 #include 
+#include 
 #include 
 #include 
 
@@ -4580,7 +4581,10 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, 
testRexportMediaBoxOrigin)
 = { // Rotation by $   heta$ $cos( heta), sin( heta), -sin(
heta), cos( heta)$
 0, -1, 1, 0,
 // Translate x,y
--aOrigin[1] - aSize[1] / 2 + aSize[0] / 2, aOrigin[0] + aSize[0] / 
2 + aSize[1] / 2
+-aOrigin[1] - aSize[1] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2
++ aSize[0] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2,
+aOrigin[0] + aSize[0] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2
++ aSize[1] / vcl::PDF_INSERT_MAGIC_SCALE_FACTOR / 2
   };
 
 for (sal_Int32 nIdx = 0; nIdx < 6; ++nIdx)
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx 
b/vcl/source/gdi/pdfwriter_impl.cxx
index fba7a85db430..ff7383d7be99 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -9125,9 +9125,15 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 }
 
 double aOrigin[2] = { 0.0, 0.0 };
-if (auto* pArray = 
dynamic_cast(pPage->Lookup("MediaBox"_ostr)))
+
+// tdf#160714 use crop box for bounds of embedded PDF object
+// If there is no crop box, fallback to the media box just to be safe.
+auto* pBoundsArray = 
dynamic_cast(pPage->Lookup("CropBox"_ostr));
+if (!pBoundsArray)
+pBoundsArray = 
dynamic_cast(pPage->Lookup("MediaBox"_ostr));
+if (pBoundsArray)
 {
-const auto& rElements = pArray->GetElements();
+const auto& rElements = pBoundsArray->GetElements();
 if (rElements.size() >= 4)
 {
 // get x1, y1 of the rectangle.
@@ -9240,9 +9246,9 @@ void PDFWriterImpl::writeReferenceXObject(const 
ReferenceXObjectEmit& rEmit)
 // Now transform the object: rotate around the center and make 
sure that the rotation
 // doesn't affect the aspect ratio.
 basegfx::B2DHomMatrix aMat;
-aMat.translate(-0.5 * aBBox.getWidth() - aOrigin[0], -0.5 * 
aBBox.getHeight() - aOrigin[1]);
+aMat.translate((-0.5 * aBBox.getWidth() / fMagicScaleFactor) - 
aOrigin[0], (-0.5 * aBBox.getHeight() / fMagicScaleFactor) - aOrigin[1]);
 aMat.rotate(basegfx::deg2rad(nAngle));
-aMat.translate(0.5 * nWidth, 0.5 * nHeight);
+aMat.translate(0.5 * nWidth / fMagicScaleFactor, 0.5 * nHeight / 
fMagicScaleFactor);
 
 aLine.append(" /Matrix [ ");
 aLine.append(aMat.a());


core.git: postprocess/CustomTarget_registry.mk

2024-04-25 Thread Christian Lohmaier (via logerrit)
 postprocess/CustomTarget_registry.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit dac6cbd2155ca47d9152fbcc523f52aee6386832
Author: Christian Lohmaier 
AuthorDate: Thu Apr 25 17:14:16 2024 +0200
Commit: Julien Nabet 
CommitDate: Thu Apr 25 21:49:11 2024 +0200

fix mismatching gb_Trace_StartRange and gb_Trace_EndRage

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

diff --git a/postprocess/CustomTarget_registry.mk 
b/postprocess/CustomTarget_registry.mk
index 8a503e39862a..f4ee8e4f2791 100644
--- a/postprocess/CustomTarget_registry.mk
+++ b/postprocess/CustomTarget_registry.mk
@@ -607,7 +607,7 @@ $(call gb_XcdTarget_get_target,registry_%.xcd) : \
$(SRCDIR)/solenv/bin/removereportbuilder.xslt - ) \
> $@ \
)
-   $(call gb_Trace_EndRange,$*,XCD)
+   $(call gb_Trace_EndRange,registry_$*,XCD)
 
 $(call gb_XcdTarget_get_target,%.xcd) : \
 | $(call gb_ExternalExecutable_get_dependencies,xsltproc)


core.git: sw/source

2024-04-25 Thread Andrea Gelmini (via logerrit)
 sw/source/uibase/utlui/content.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a9ad50c2de829a21ba79baa061597487e30877dc
Author: Andrea Gelmini 
AuthorDate: Thu Apr 25 19:48:33 2024 +0200
Commit: Julien Nabet 
CommitDate: Thu Apr 25 21:48:00 2024 +0200

Fix typo

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

diff --git a/sw/source/uibase/utlui/content.cxx 
b/sw/source/uibase/utlui/content.cxx
index f9776b3b2135..994f18cdbee9 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -2049,7 +2049,7 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, 
rCEvt, bool)
 if (bRemoveDeleteEndnoteEntry)
 xPop->remove("deleteendnote");
 
-// bRemoveDeleteEntry is used in determining seperator 2
+// bRemoveDeleteEntry is used in determining separator 2
 bool bRemoveDeleteEntry =
 bRemoveDeleteChapterEntry &&
 bRemoveDeleteTableEntry &&


core.git: slideshow/source

2024-04-25 Thread Andrea Gelmini (via logerrit)
 slideshow/source/engine/shapes/drawshape.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 1583d11fe8f6c7d3b7956c5a94e8183d0a92d333
Author: Andrea Gelmini 
AuthorDate: Thu Apr 25 19:47:14 2024 +0200
Commit: Julien Nabet 
CommitDate: Thu Apr 25 21:47:32 2024 +0200

Fix typo

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

diff --git a/slideshow/source/engine/shapes/drawshape.cxx 
b/slideshow/source/engine/shapes/drawshape.cxx
index de89822dac58..4f4a81beeddf 100644
--- a/slideshow/source/engine/shapes/drawshape.cxx
+++ b/slideshow/source/engine/shapes/drawshape.cxx
@@ -863,7 +863,7 @@ namespace slideshow::internal
 ENSURE_OR_RETURN_VOID( nCurrFrame < maAnimationFrames.size(),
"DrawShape::setIntrinsicAnimationFrame(): frame 
index out of bounds" );
 
-// Load 1 more frame if needed. (make sure the current frame is 
loded)
+// Load 1 more frame if needed. (make sure the current frame is 
loaded)
 if (mpGraphicLoader)
 getSomeAnimationFramesFromGraphic(1, nCurrFrame);
 


core.git: sw/qa

2024-04-25 Thread Andrea Gelmini (via logerrit)
 0 files changed

New commits:
commit 1eb1763ff45253560d7b64ff19a542e73e68822d
Author: Andrea Gelmini 
AuthorDate: Thu Apr 25 19:46:54 2024 +0200
Commit: Julien Nabet 
CommitDate: Thu Apr 25 21:47:02 2024 +0200

Remove exec bits on docx

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

diff --git a/sw/qa/extras/ooxmlexport/data/tdf154369.docx 
b/sw/qa/extras/ooxmlexport/data/tdf154369.docx
old mode 100755
new mode 100644


core.git: Branch 'distro/collabora/co-24.04' - external/nss

2024-04-25 Thread Caolán McNamara (via logerrit)
 external/nss/ExternalProject_nss.mk |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 28fbe2a32b08cdd77769de4fc244b0bbb6e7fbd3
Author: Caolán McNamara 
AuthorDate: Thu Apr 25 17:11:54 2024 +0100
Commit: Michael Meeks 
CommitDate: Thu Apr 25 21:26:05 2024 +0200

add debuginfo generation flags to internal nss

Change-Id: I34c9df0f94121013dada738ecd2b6bf91d138024
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166641
Reviewed-by: Michael Meeks 
Tested-by: Jenkins CollaboraOffice 

diff --git a/external/nss/ExternalProject_nss.mk 
b/external/nss/ExternalProject_nss.mk
index b603061ca9a0..79e7f8eb2b2e 100644
--- a/external/nss/ExternalProject_nss.mk
+++ b/external/nss/ExternalProject_nss.mk
@@ -74,7 +74,11 @@ $(call gb_ExternalProject_get_state_target,nss,build): \
RANLIB="$(RANLIB)" \
NMEDIT="$(NM)edit" \
COMMA=$(COMMA) \
-   CC="$(CC) $(if $(filter 
-fsanitize=undefined,$(CC)),-fno-sanitize=function) $(if $(filter iOS,$(OS)), 
-DNSS_STATIC_SOFTOKEN=1 -DNSS_STATIC_FREEBL=1 -DNSS_STATIC_PKCS11=1)$(if 
$(filter ANDROID,$(OS)), -D_PR_NO_LARGE_FILES=1 -DSQLITE_DISABLE_LFS=1)" 
CCC="$(CXX)" \
+   CC="$(CC) $(gb_DEBUGINFO_FLAGS) \
+   $(if $(filter 
-fsanitize=undefined,$(CC)),-fno-sanitize=function) \
+   $(if $(filter iOS,$(OS)), 
-DNSS_STATIC_SOFTOKEN=1 -DNSS_STATIC_FREEBL=1 -DNSS_STATIC_PKCS11=1) \
+   $(if $(filter ANDROID,$(OS)), 
-D_PR_NO_LARGE_FILES=1 -DSQLITE_DISABLE_LFS=1)" \
+   CCC="$(CXX) $(gb_DEBUGINFO_FLAGS)" \
$(if $(CROSS_COMPILING),NSINSTALL="$(if $(filter 
MACOSX,$(OS_FOR_BUILD)),xcrun python3,$(call 
gb_ExternalExecutable_get_command,python)) 
$(SRCDIR)/external/nss/nsinstall.py") \
$(if $(filter ANDROID,$(OS)),OS_TARGET=Android 
OS_TARGET_RELEASE=$(ANDROID_API_LEVEL) ARCHFLAG="" DEFAULT_COMPILER=clang 
ANDROID_NDK=$(ANDROID_NDK_DIR) 
ANDROID_TOOLCHAIN_VERSION=$(ANDROID_GCC_TOOLCHAIN_VERSION) 
ANDROID_PREFIX=$(HOST_PLATFORM) ANDROID_SYSROOT=$(ANDROID_NDK_DIR)/sysroot) \
NSS_DISABLE_GTESTS=1 \


core.git: svx/source

2024-04-25 Thread Xisco Fauli (via logerrit)
 svx/source/dialog/svxruler.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 90548039f09d4bc773bf6879a62d544adfa175db
Author: Xisco Fauli 
AuthorDate: Thu Apr 25 15:52:29 2024 +0200
Commit: Caolán McNamara 
CommitDate: Thu Apr 25 20:47:41 2024 +0200

svx: Avoid divide by 0

See 
https://crashreport.libreoffice.org/stats/signature/SvxRuler::UpdateTabs()

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

diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx
index 6323583fd271..17c4edaa930d 100644
--- a/svx/source/dialog/svxruler.cxx
+++ b/svx/source/dialog/svxruler.cxx
@@ -1033,7 +1033,7 @@ void SvxRuler::UpdateTabs()
 lCurrentDefTabDist = mxTabStopItem->GetDefaultDistance();
 tools::Long nDefTabDist = ConvertHPosPixel(lCurrentDefTabDist);
 
-const sal_uInt16 nDefTabBuf = lPosPixel > lRightIndent || lLastTab > 
lRightIndent
+const sal_uInt16 nDefTabBuf = lPosPixel > lRightIndent || lLastTab > 
lRightIndent || nDefTabDist == 0
 ? 0
 : static_cast( (lRightIndent - lPosPixel) / 
nDefTabDist );
 


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

2024-04-25 Thread Hubert Figuière (via logerrit)
 desktop/source/lib/init.cxx  |3 ++-
 sfx2/source/control/unoctitm.cxx |3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit dd78abffa4ab89507310e3080be25586f21c2021
Author: Hubert Figuière 
AuthorDate: Thu Apr 25 14:01:11 2024 -0400
Commit: Caolán McNamara 
CommitDate: Thu Apr 25 20:42:57 2024 +0200

cool#8066: calc: enable .uno:ToggleSheetGrid

Signed-off-by: Hubert Figuière 
Change-Id: Ibe5bca4d0622c4015030a21d4ecccd41d5e9f483
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166647
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Caolán McNamara 

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 5f51d05615d8..ba9b45230093 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -3900,7 +3900,8 @@ static void doc_iniUnoCommands ()
 u".uno:InsertPictureContentControl"_ustr,
 u".uno:DataFilterAutoFilter"_ustr,
 u".uno:CellProtection"_ustr,
-u".uno:MoveKeepInsertMode"_ustr
+u".uno:MoveKeepInsertMode"_ustr,
+u".uno:ToggleSheetGrid"_ustr,
 };
 
 util::URL aCommandURL;
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index 37286cc2d71d..19bc307a1011 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -940,7 +940,8 @@ static void InterceptLOKStateChangeEvent(sal_uInt16 nSID, 
SfxViewFrame* pViewFra
 aEvent.FeatureURL.Path == "SpacePara15" ||
 aEvent.FeatureURL.Path == "SpacePara2" ||
 aEvent.FeatureURL.Path == "DataFilterAutoFilter" ||
-aEvent.FeatureURL.Path == "CellProtection")
+aEvent.FeatureURL.Path == "CellProtection" ||
+aEvent.FeatureURL.Path == "ToggleSheetGrid")
 {
 bool bTemp = false;
 aEvent.State >>= bTemp;


core.git: include/sfx2 sfx2/Library_sfx.mk sfx2/source

2024-04-25 Thread Noel Grandin (via logerrit)
 include/sfx2/devtools/ObjectInspectorWidgets.hxx |   30 ++---
 sfx2/Library_sfx.mk  |1 
 sfx2/source/devtools/ObjectInspectorWidgets.cxx  |   40 +++
 3 files changed, 45 insertions(+), 26 deletions(-)

New commits:
commit 15d19cb69db25f99f7225c2708cda4a17cc7a053
Author: Noel Grandin 
AuthorDate: Thu Apr 25 12:19:42 2024 +0200
Commit: Noel Grandin 
CommitDate: Thu Apr 25 20:36:19 2024 +0200

Move ObjectInspectorWidgets code into cxx file

having this much code in a header file is not a good idea

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

diff --git a/include/sfx2/devtools/ObjectInspectorWidgets.hxx 
b/include/sfx2/devtools/ObjectInspectorWidgets.hxx
index 9c719d2aabef..04d6b0f1c06c 100644
--- a/include/sfx2/devtools/ObjectInspectorWidgets.hxx
+++ b/include/sfx2/devtools/ObjectInspectorWidgets.hxx
@@ -10,36 +10,14 @@
 
 #pragma once
 
+#include 
 #include 
 
-struct ObjectInspectorWidgets
+struct SFX2_DLLPUBLIC ObjectInspectorWidgets
 {
-ObjectInspectorWidgets(const std::unique_ptr& rxBuilder)
-: mpClassNameLabel(rxBuilder->weld_label("class_name_value_id"))
-, 
mpInterfacesTreeView(rxBuilder->weld_tree_view("interfaces_treeview_id"))
-, mpServicesTreeView(rxBuilder->weld_tree_view("services_treeview_id"))
-, 
mpPropertiesTreeView(rxBuilder->weld_tree_view("properties_treeview_id"))
-, mpMethodsTreeView(rxBuilder->weld_tree_view("methods_treeview_id"))
-, mpToolbar(rxBuilder->weld_toolbar("object_inspector_toolbar"))
-, mpNotebook(rxBuilder->weld_notebook("object_inspector_notebookbar"))
-, mpTextView(rxBuilder->weld_text_view("object_inspector_text_view"))
-, mpPaned(rxBuilder->weld_paned("object_inspector_paned"))
-{
-}
+ObjectInspectorWidgets(const std::unique_ptr& rxBuilder);
 
-~ObjectInspectorWidgets()
-{
-// dispose welded objects
-mpClassNameLabel.reset();
-mpInterfacesTreeView.reset();
-mpServicesTreeView.reset();
-mpPropertiesTreeView.reset();
-mpMethodsTreeView.reset();
-mpToolbar.reset();
-mpNotebook.reset();
-mpTextView.reset();
-mpPaned.reset();
-}
+~ObjectInspectorWidgets();
 
 std::unique_ptr mpClassNameLabel;
 std::unique_ptr mpInterfacesTreeView;
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index 5013ebc7a318..c34a48f1e515 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -174,6 +174,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
 sfx2/source/devtools/DevelopmentToolDockingWindow \
 sfx2/source/devtools/DocumentModelTreeHandler \
 sfx2/source/devtools/ObjectInspectorTreeHandler \
+sfx2/source/devtools/ObjectInspectorWidgets \
 sfx2/source/dialog/alienwarn \
 sfx2/source/dialog/basedlgs \
 sfx2/source/dialog/checkin \
diff --git a/sfx2/source/devtools/ObjectInspectorWidgets.cxx 
b/sfx2/source/devtools/ObjectInspectorWidgets.cxx
new file mode 100644
index ..eef505ed9e2d
--- /dev/null
+++ b/sfx2/source/devtools/ObjectInspectorWidgets.cxx
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+
+#include 
+
+ObjectInspectorWidgets::ObjectInspectorWidgets(const 
std::unique_ptr& rxBuilder)
+: mpClassNameLabel(rxBuilder->weld_label("class_name_value_id"))
+, mpInterfacesTreeView(rxBuilder->weld_tree_view("interfaces_treeview_id"))
+, mpServicesTreeView(rxBuilder->weld_tree_view("services_treeview_id"))
+, mpPropertiesTreeView(rxBuilder->weld_tree_view("properties_treeview_id"))
+, mpMethodsTreeView(rxBuilder->weld_tree_view("methods_treeview_id"))
+, mpToolbar(rxBuilder->weld_toolbar("object_inspector_toolbar"))
+, mpNotebook(rxBuilder->weld_notebook("object_inspector_notebookbar"))
+, mpTextView(rxBuilder->weld_text_view("object_inspector_text_view"))
+, mpPaned(rxBuilder->weld_paned("object_inspector_paned"))
+{
+}
+
+ObjectInspectorWidgets::~ObjectInspectorWidgets()
+{
+// dispose welded objects
+mpClassNameLabel.reset();
+mpInterfacesTreeView.reset();
+mpServicesTreeView.reset();
+mpPropertiesTreeView.reset();
+mpMethodsTreeView.reset();
+mpToolbar.reset();
+mpNotebook.reset();
+mpTextView.reset();
+mpPaned.reset();
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: sw/inc sw/Library_sw_writerfilter.mk sw/source

2024-04-25 Thread Noel Grandin (via logerrit)
 sw/Library_sw_writerfilter.mk  |2 
 sw/inc/unotxdoc.hxx|   30 +--
 sw/source/writerfilter/dmapper/DomainMapper.cxx|   90 --
 sw/source/writerfilter/dmapper/DomainMapper.hxx|4 
 sw/source/writerfilter/dmapper/DomainMapper_Impl.cxx   |  112 +
 sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx   |8 
 sw/source/writerfilter/dmapper/PropertyMap.cxx |   46 ++---
 sw/source/writerfilter/dmapper/SdtHelper.cxx   |5 
 sw/source/writerfilter/dmapper/SmartTagHandler.cxx |5 
 sw/source/writerfilter/dmapper/SmartTagHandler.hxx |4 
 sw/source/writerfilter/dmapper/StyleSheetTable.cxx |   52 +++---
 sw/source/writerfilter/dmapper/StyleSheetTable.hxx |4 
 sw/source/writerfilter/dmapper/domainmapperfactory.cxx |2 
 sw/source/writerfilter/filter/RtfFilter.cxx|   10 -
 sw/source/writerfilter/filter/WriterFilter.cxx |   22 +-
 sw/source/writerfilter/inc/dmapper/DomainMapperFactory.hxx |4 
 sw/source/writerfilter/inc/rtftok/RTFDocument.hxx  |4 
 sw/source/writerfilter/rtftok/rtfdispatchdestination.cxx   |7 
 sw/source/writerfilter/rtftok/rtfdispatchflag.cxx  |6 
 sw/source/writerfilter/rtftok/rtfdocumentfactory.cxx   |2 
 sw/source/writerfilter/rtftok/rtfdocumentimpl.cxx  |   22 +-
 sw/source/writerfilter/rtftok/rtfdocumentimpl.hxx  |4 
 sw/source/writerfilter/rtftok/rtfsdrimport.cxx |8 
 sw/source/writerfilter/rtftok/rtfsdrimport.hxx |5 
 24 files changed, 217 insertions(+), 241 deletions(-)

New commits:
commit d8d2a68271b5263777d3be8afd0bd39bd076bb87
Author: Noel Grandin 
AuthorDate: Tue Apr 23 21:33:19 2024 +0200
Commit: Noel Grandin 
CommitDate: Thu Apr 25 18:50:09 2024 +0200

use more concrete UNO classes in writerfilter

starting with SwXTextDocument.

Replace some UNO_QUERY_THROW with
   if (!foo)
   throw uno::RuntimeException()
because rtl::Reference does not have UNO_QUERY_THROW
constructors

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

diff --git a/sw/Library_sw_writerfilter.mk b/sw/Library_sw_writerfilter.mk
index deebdf1439e1..447752dabd43 100644
--- a/sw/Library_sw_writerfilter.mk
+++ b/sw/Library_sw_writerfilter.mk
@@ -19,6 +19,7 @@ $(eval $(call 
gb_Library_set_precompiled_header,sw_writerfilter,sw/inc/pch/preco
 
 $(eval $(call gb_Library_set_include,sw_writerfilter,\
 $$(INCLUDE) \
+-I$(SRCDIR)/sw/inc \
 -I$(SRCDIR)/sw/source/writerfilter/inc \
 -I$(SRCDIR)/sw/source/writerfilter \
 ))
@@ -45,6 +46,7 @@ $(eval $(call gb_Library_use_libraries,sw_writerfilter,\
 sot \
 svt \
svxcore \
+sw \
 tl \
 utl \
 vcl \
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 9b7b6f16e4d4..018784174cbb 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -224,9 +224,6 @@ private:
 // is implemented.
 bool m_bApplyPagePrintSettingsFromXPagePrintable;
 
-using SfxBaseModel::addEventListener;
-using SfxBaseModel::removeEventListener;
-
 /** abstract SdrModel provider */
 virtual SdrModel& getSdrModelFromUnoModel() const override;
 
@@ -256,6 +253,9 @@ public:
 rtl::Reference< SwXBodyText > getBodyText();
 virtual void SAL_CALL reformat() override;
 
+using SfxBaseModel::addEventListener;
+using SfxBaseModel::removeEventListener;
+
 //XModel
 virtual sal_Bool SAL_CALL attachResource( const OUString& aURL, const 
css::uno::Sequence< css::beans::PropertyValue >& aArgs ) override;
 virtual OUString SAL_CALL getURL(  ) override;
@@ -278,21 +278,21 @@ public:
 virtual void SAL_CALL close( sal_Bool bDeliverOwnership ) override;
 
 //XLineNumberingProperties
-virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL 
getLineNumberingProperties() override;
+SW_DLLPUBLIC virtual css::uno::Reference< css::beans::XPropertySet > 
SAL_CALL getLineNumberingProperties() override;
 
 //XChapterNumberingSupplier
-virtual css::uno::Reference< css::container::XIndexReplace >  SAL_CALL 
getChapterNumberingRules() override;
+SW_DLLPUBLIC virtual css::uno::Reference< css::container::XIndexReplace >  
SAL_CALL getChapterNumberingRules() override;
 
 //XNumberingRulesSupplier
 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL 
getNumberingRules() override;
 
 //XFootnotesSupplier
 SW_DLLPUBLIC virtual css::uno::Reference< css::container::XIndexAccess >  
SAL_CALL getFootnotes() override;
-virtual css::uno::Reference< css::beans::XPropertySet >  SAL_CALL 
getFootnoteSettings() override;
+SW_DLLPUBLIC virtual css::uno::Reference< css::beans::XPropertySet 

core.git: bridges/source

2024-04-25 Thread Stephan Bergmann (via logerrit)
 bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 7414fc841803201991d7e8e7b2959a89cca5a222
Author: Stephan Bergmann 
AuthorDate: Thu Apr 25 14:16:16 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Thu Apr 25 18:27:24 2024 +0200

Adapt queryInterface in fixed msvc_win32_arm64 UNO bridge

...where the function's argument is in x2, not x1 (see commit message of
ae6ee262d7649222a137f8722886a10db274ddf5 "Some fixing of msvc_win32_arm64 
UNO
bridge" for details)

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

diff --git a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx 
b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
index da8694667b3c..a43cd3e24698 100644
--- a/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/msvc_win32_arm64/cpp2uno.cxx
@@ -290,7 +290,7 @@ extern "C" void vtableCall(sal_Int32 functionIndex, 
sal_Int32 vtableOffset, sal_
 {
 typelib_TypeDescription* td = nullptr;
 TYPELIB_DANGER_GET(,
-   
(reinterpret_cast(gpr[1])->getTypeLibType()));
+   
(reinterpret_cast(gpr[2])->getTypeLibType()));
 if (td != 0 && td->eTypeClass == 
typelib_TypeClass_INTERFACE)
 {
 uno::XInterface* ifc = nullptr;


core.git: 2 commits - helpcontent2 officecfg/registry sd/source

2024-04-25 Thread Samuel Mehrbrodt (via logerrit)
 helpcontent2|2 
+-
 officecfg/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu |2 
+-
 sd/source/ui/view/ToolBarManager.cxx|3 
+++
 3 files changed, 5 insertions(+), 2 deletions(-)

New commits:
commit dee3e2d7c8d412951099e4425e6ece24431cd98d
Author: Samuel Mehrbrodt 
AuthorDate: Thu Apr 25 13:53:18 2024 +0200
Commit: Samuel Mehrbrodt 
CommitDate: Thu Apr 25 18:23:40 2024 +0200

Related tdf#87676 Enable text formatting toolbar when in a text box

Use the second row (hiding the shapes toolbar) to show the text formatting
toolbar when the user is inside a text box.

This helps users to do basic text formatting at the place where they
expect the controls from Writer, Calc, etc.

Otherwise, when the Sidebar is switched to another Deck, finding the text 
formatting
functions can be hard in the classic toolbar layout.

Change-Id: I8d6f54e6f3f44917b0c89ae699c2798e4f6b86a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166621
Reviewed-by: Samuel Mehrbrodt 
Tested-by: Jenkins

diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu
index 234502d43185..8475ac8c9847 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/ImpressWindowState.xcu
@@ -755,7 +755,7 @@
   true
 
 
-  false
+  true
 
 
   Text Formatting
diff --git a/sd/source/ui/view/ToolBarManager.cxx 
b/sd/source/ui/view/ToolBarManager.cxx
index 7dd95c962499..5296b7bd94ef 100644
--- a/sd/source/ui/view/ToolBarManager.cxx
+++ b/sd/source/ui/view/ToolBarManager.cxx
@@ -1079,6 +1079,8 @@ void ToolBarRules::SelectionHasChanged (
 case ::sd::ViewShell::ST_HANDOUT:
 
mpToolBarManager->SetToolBar(ToolBarManager::ToolBarGroup::Function,
  
ToolBarManager::msDrawingObjectToolBar);
+
mpToolBarManager->SetToolBar(ToolBarManager::ToolBarGroup::Permanent,
+ 
ToolBarManager::msToolBar);
 break;
 default:
 break;
@@ -1122,6 +1124,7 @@ void ToolBarRules::SubShellAdded (
 break;
 
 case ToolbarId::Draw_Text_Toolbox_Sd:
+
mpToolBarManager->RemoveToolBar(ToolBarManager::ToolBarGroup::Permanent, 
ToolBarManager::msToolBar);
 mpToolBarManager->AddToolBar(eGroup, 
ToolBarManager::msTextObjectBar);
 break;
 
commit bdc90ee923fc68f57fc7234192be2ba512797775
Author: Olivier Hallot 
AuthorDate: Thu Apr 25 13:23:35 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Thu Apr 25 18:23:35 2024 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to db688bf5d40a94939f8e6ab35744c267d35b39ab
  - tdf#132253 Hyperlink tab in Characters is gone.

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

diff --git a/helpcontent2 b/helpcontent2
index 686da2a7ece1..db688bf5d40a 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 686da2a7ece1ce03db28cfba2747870c88a9ca2e
+Subproject commit db688bf5d40a94939f8e6ab35744c267d35b39ab


help.git: AllLangHelp_shared.mk source/text

2024-04-25 Thread Olivier Hallot (via logerrit)
 AllLangHelp_shared.mk  |1 
 source/text/shared/01/0502.xhp |2 
 source/text/shared/01/05020400.xhp |  143 -
 3 files changed, 146 deletions(-)

New commits:
commit db688bf5d40a94939f8e6ab35744c267d35b39ab
Author: Olivier Hallot 
AuthorDate: Thu Apr 25 13:09:28 2024 -0300
Commit: Olivier Hallot 
CommitDate: Thu Apr 25 18:23:34 2024 +0200

tdf#132253 Hyperlink tab in Characters is gone.

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

diff --git a/AllLangHelp_shared.mk b/AllLangHelp_shared.mk
index f2085103e0..f8b46c1e10 100644
--- a/AllLangHelp_shared.mk
+++ b/AllLangHelp_shared.mk
@@ -165,7 +165,6 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,shared,\
 helpcontent2/source/text/shared/01/05020200 \
 helpcontent2/source/text/shared/01/05020300 \
 helpcontent2/source/text/shared/01/05020301 \
-helpcontent2/source/text/shared/01/05020400 \
 helpcontent2/source/text/shared/01/05020500 \
 helpcontent2/source/text/shared/01/05020600 \
 helpcontent2/source/text/shared/01/05020700 \
diff --git a/source/text/shared/01/0502.xhp 
b/source/text/shared/01/0502.xhp
index d7f5f2c31f..47ec078ec3 100644
--- a/source/text/shared/01/0502.xhp
+++ b/source/text/shared/01/0502.xhp
@@ -55,8 +55,6 @@
 
 
 
-Hyperlink
-
 
 
 
diff --git a/source/text/shared/01/05020400.xhp 
b/source/text/shared/01/05020400.xhp
deleted file mode 100644
index a81ec1668f..00
--- a/source/text/shared/01/05020400.xhp
+++ /dev/null
@@ -1,143 +0,0 @@
-
-
-
-
-
-  
-Hyperlink
-/text/shared/01/05020400.xhp
-  
-  
-Sun Microsystems, Inc.
-  
-
-
-formatting; hyperlinks
-characters; hyperlinks
-hyperlinks; character formats
-text;hyperlinks
-links; character formats
-
-
-
-
-Hyperlink
-Assigns a new hyperlink 
or edits the selected hyperlink.
- A hyperlink is a link to a file on the Internet or on your local 
system.
-
-
-You can also 
assign or edit a named HTML anchor, or Bookmark, that refers to a specific 
place in a document.
-
-
-
-  
-
-Hyperlink
-Specify the 
properties for the hyperlink.
-
-URL
-Enter a URL for the file that you want to 
open when you click the hyperlink. If you do not specify a target 
frame, the file opens in the current document or frame.
-
-
-Browse
-Locate the file that you want to 
link to, and then click Open.
-
-Reference
-Enter the text that you want to 
display for the hyperlink.
-
-Events
-Specify an event that triggers 
when you click the hyperlink.
-
-Name
-
-Enter a name for the 
hyperlink. $[officename] inserts a NAME tag in the 
hyperlink:
-A 
HREF="http://www.example.com/; NAME="Nametext" 
TARGET="_blank"Note/A
-
-
-Frame
-
-Enter 
the name of the frame that you want the linked file to open in, or select a 
predefined frame from the list. If you leave this box blank, the linked 
file opens in the current browser window.
-
-
-
-
-
-
-Name of 
Frame
-
-
-Definition
-
-
-
-
-Named 
entries
-
-
-File opens 
in a named frame in the current HTML document.
-
-
-
-
-_self
-
-
-File opens 
in the current frame.
-
-
-
-
-_blank
-
-
-File opens 
in a new page.
-
-
-
-
-_parent
-
-
-File opens 
in the parent frame of the current frame. If there is no parent frame, the 
current frame is used.
-
-
-
-
-_top
-
-
-File opens 
in the topmost frame in the hierarchy.
-
-
-
-
-Character Styles
-Specify the 
formatting options for the hyperlink.
-
-Visited links
-Select a formatting style to use 
for visited links from the list. To add or modify a style in this list, close 
this dialog, and click the Styles icon on the 
Formatting toolbar.
-
-Unvisited links
-Select a formatting style to 
use for unvisited links from the list. To add or modify a style in this list, 
close this dialog, and click the Styles icon on the 
Formatting toolbar.
-
-Hyperlink dialog
-Assign macro
-
-
-


core.git: helpcontent2

2024-04-25 Thread Stéphane Guillou (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit f7bcb8a9ee79008c8cd598626b8939085eb8074a
Author: Stéphane Guillou 
AuthorDate: Thu Apr 25 17:13:37 2024 +0100
Commit: Gerrit Code Review 
CommitDate: Thu Apr 25 18:13:37 2024 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 686da2a7ece1ce03db28cfba2747870c88a9ca2e
  - tdf#156273 tdf#155882 update Navigate By documentation

- update since changes in:
   - 7.0: from icon that opens a toolbar, to listbox
   - 7.1: commands hidden by default in Find toolbar
   - 7.2: Recency added to Navigate By
- hyperlink relevant pages and embed sections
- correct command labels
- add bookmarks
- related tdf#156332: remove space breaking HID linking
- paragraphs for categories that need explanations
- remove obsolete  and bookmarks

Remaining doubts:
- how "Wrong table formula" works (broken?)

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

diff --git a/helpcontent2 b/helpcontent2
index f32f607fcfb5..686da2a7ece1 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit f32f607fcfb59c462919261f26f8ae07e1e4707f
+Subproject commit 686da2a7ece1ce03db28cfba2747870c88a9ca2e


help.git: source/text

2024-04-25 Thread Stéphane Guillou (via logerrit)
 source/text/swriter/01/0211.xhp |   10 ++-
 source/text/swriter/01/02110100.xhp |  109 +++-
 2 files changed, 56 insertions(+), 63 deletions(-)

New commits:
commit 686da2a7ece1ce03db28cfba2747870c88a9ca2e
Author: Stéphane Guillou 
AuthorDate: Wed Apr 17 04:57:44 2024 +0100
Commit: Olivier Hallot 
CommitDate: Thu Apr 25 18:13:36 2024 +0200

tdf#156273 tdf#155882 update Navigate By documentation

- update since changes in:
   - 7.0: from icon that opens a toolbar, to listbox
   - 7.1: commands hidden by default in Find toolbar
   - 7.2: Recency added to Navigate By
- hyperlink relevant pages and embed sections
- correct command labels
- add bookmarks
- related tdf#156332: remove space breaking HID linking
- paragraphs for categories that need explanations
- remove obsolete  and bookmarks

Remaining doubts:
- how "Wrong table formula" works (broken?)

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

diff --git a/source/text/swriter/01/0211.xhp 
b/source/text/swriter/01/0211.xhp
index 803bd84d4f..0f24de8c07 100644
--- a/source/text/swriter/01/0211.xhp
+++ b/source/text/swriter/01/0211.xhp
@@ -48,7 +48,7 @@
 Click the expander icon (+) 
next to a category in the Navigator to view the items in the category. Click on 
an expanded category to collapse it.
 To view the number of 
items in a category, rest your mouse pointer over the category in the 
Navigator.
 To jump to an item in 
the document, double-click the item in the Navigator.
-To jump to the next or previous 
item in a document, use the Navigate by box to select the item 
category, and then click the up or down arrows.
+To jump to the next or previous 
item in a document, use the Navigate By list to 
select the item category, and then click the Previous or 
Next arrows.
 
 The navigator shows the 
correspondence between the current document cursor location element and the 
navigator view, according to different categories: Headings, Tables, Hyperlinks 
and more. The element is displayed and highlighted in the Navigator content 
view. If the element is located in a collapsed layer, the required layers above 
it are automatically expanded and remain expanded afterwards.
 
@@ -64,6 +64,7 @@
 
   Navigate By
 Use selection box to 
choose which type of item should be navigated, when using the Previous and Next 
buttons.
+  
 Previous
 Jumps to the previous item in 
the document. To specify the type of item to jump to, click the Navigate 
By list, and then click an item category - for example, 
"Images".
 
@@ -89,11 +90,14 @@
 
   
 
+
 
 
 
+  
 Page number
 Type the number of the 
page that you want to jump to, and then press Enter. Use the spin buttons to 
navigate.
+  
 
 Content Navigation View
 Switches between the display of 
all categories in the Navigator and the selected category.
@@ -175,7 +179,7 @@
 
 
 Set Reminder
-Click here to set a reminder at the current cursor 
position. You can define up to five reminders. To jump to a reminder, click the 
Navigation icon, 
in the Navigation window click the Reminder icon, and 
then click the Previous or Next button. Click 
here to set a reminder at the current cursor position. You can define up to 
five reminders. To jump to a reminder, click the Navigation icon, in the Navigation 
window click the Reminder icon, and then click the Previous or Next 
button.
+Click here to set a reminder at the current cursor 
position. You can define up to five reminders. To jump to a reminder, click the 
Navigation icon, 
in the Navigation window click the Reminder icon, and 
then click the Previous or Next button. Click 
here to set a reminder at the current cursor position. You can define up to 
five reminders. To jump to a reminder, click the Navigate By list, select 
Reminder, and then click Previous or 
Next.
 
 
   
@@ -187,7 +191,9 @@
 
   
 
+  
 Reminders are navigated in the order in which they 
are set. Reminders are not saved when a document is closed.
+  
 
 
 
diff --git a/source/text/swriter/01/02110100.xhp 
b/source/text/swriter/01/02110100.xhp
index 889dc2c45b..573dd2a298 100644
--- a/source/text/swriter/01/02110100.xhp
+++ b/source/text/swriter/01/02110100.xhp
@@ -33,66 +33,53 @@
 
 
 
-
-Navigation
-If you click this icon in the Navigator or in the lower 
right of the document window, a toolbar will appear which enables you to choose 
among the existing targets within a document. You can then use the up 
and down arrow icons to position the text cursor in the document on the 
previous or next target.
-
-Click the up button to scroll to the previous page or 
object.
-
-Click the down button to scroll to the next page or 
object.
-By default, as 
long as you have not selected any other entry, the arrow buttons jump to the 
previous or the 

core.git: vcl/unx

2024-04-25 Thread Michael Weghorn (via logerrit)
 vcl/unx/gtk4/convert3to4.cxx |7 +++
 1 file changed, 7 insertions(+)

New commits:
commit 0c3fb583b9fdbbc634a5cabe578d3e717c36bff6
Author: Michael Weghorn 
AuthorDate: Thu Apr 25 10:11:15 2024 +0200
Commit: Michael Weghorn 
CommitDate: Thu Apr 25 18:00:35 2024 +0200

gtk4: Ignore "input-purpose" for GtkSpinButton

"input-purpose" is a property of GtkEntry, for both,
GTK 3 [1] and GTK 4 [2].

However, while the GTK 3 GtkSpinButton derives from GtkEntry [3],
the GTK 4 one doesn't any more but it derives directly from
GtkWidget [4].

Therefore, after

commit 139199ee9c09d25624191132adbe4fd29365eb7a
Date:   Thu Feb 22 00:03:01 2024 -0900

tdf#141728 Revamp sw navigator go to page spin control

, opening the navigator by pressing F5 in Writer when
using the gtk4 VCL plugin triggered the following assert:

warn:vcl.gtk:233860:233860:vcl/unx/gtk4/convert3to4.cxx:1595: 
GtkInstanceBuilder: error when calling gtk_builder_add_from_string: .:197:65 
Invalid property: GtkSpinButton.input-purpose
soffice.bin: 
/home/michi/development/git/libreoffice/vcl/unx/gtk4/convert3to4.cxx:1598: void 
builder_add_from_gtk3_file(GtkBuilder *, const OUString &): Assertion `rc && 
"could not load UI file"' failed.

Just ignore that property for gtk4.

[1] https://docs.gtk.org/gtk3/property.Entry.input-purpose.html
[2] https://docs.gtk.org/gtk4/property.Entry.input-purpose.html
[3] https://docs.gtk.org/gtk3/class.SpinButton.html
[4] https://docs.gtk.org/gtk4/class.SpinButton.html

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

diff --git a/vcl/unx/gtk4/convert3to4.cxx b/vcl/unx/gtk4/convert3to4.cxx
index 16c7403bb261..ffbda70037ad 100644
--- a/vcl/unx/gtk4/convert3to4.cxx
+++ b/vcl/unx/gtk4/convert3to4.cxx
@@ -541,6 +541,13 @@ ConvertResult Convert3To4(const 
css::uno::Reference& xNode
 xRemoveList.push_back(xChild);
 }
 
+if (sName == "input-purpose" && GetParentObjectType(xChild) == 
"GtkSpinButton")
+{
+// "input-purpose" is a property of GtkEntry, but
+// GTK 4 GtkSpinButton no longer derives from GtkEntry
+xRemoveList.push_back(xChild);
+}
+
 if (sName == "truncate-multiline")
 {
 if (GetParentObjectType(xChild) == "GtkSpinButton")


core.git: Branch 'libreoffice-24-2' - sc/qa sc/source

2024-04-25 Thread Andreas Heinisch (via logerrit)
 sc/qa/uitest/pasteSpecial/tdf160765.py |   75 +
 sc/source/ui/view/viewfun3.cxx |3 -
 2 files changed, 77 insertions(+), 1 deletion(-)

New commits:
commit 7e2e1d7fd4531f57bbc30a0a8e1cb8c40519a349
Author: Andreas Heinisch 
AuthorDate: Mon Apr 22 20:06:50 2024 +0200
Commit: Xisco Fauli 
CommitDate: Thu Apr 25 16:22:56 2024 +0200

tdf#160765 - Save content for undo when pasting notes

even if no content was changed after pasting special. Otherwise, the undo 
functionality crashes due to undoing a cell with no content where the 
annotation indicator will remain (unod/redo of note captions are handled via 
drawing undo).

Change-Id: I7007fce510d6e9896cbda11a1e14a61b5ccb34a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166469
Tested-by: Jenkins
Reviewed-by: Stéphane Guillou 
Reviewed-by: Andreas Heinisch 
(cherry picked from commit a1694b194c2b3e89250c5b79a69e7dd184b69976)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166523
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/uitest/pasteSpecial/tdf160765.py 
b/sc/qa/uitest/pasteSpecial/tdf160765.py
new file mode 100755
index ..0b56be4c2dfa
--- /dev/null
+++ b/sc/qa/uitest/pasteSpecial/tdf160765.py
@@ -0,0 +1,75 @@
+# -*- 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/.
+#
+
+from uitest.framework import UITestCase
+
+from libreoffice.calc.document import get_cell_by_position
+from libreoffice.uno.propertyvalue import mkPropertyValues
+from uitest.uihelper.calc import enter_text_to_cell
+from libreoffice.calc.paste_special import reset_default_values
+
+class tdf160765(UITestCase):
+def test_tdf160765_undo_paste_comment(self):
+with self.ui_test.create_doc_in_start_center("calc") as document:
+xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
+
+# Write text to cell A1 and B1
+enter_text_to_cell(xGridWin, "A1", "A1 sample text")
+enter_text_to_cell(xGridWin, "B1", "B1 sample text")
+
+# Insert a comment in cell B1
+xArgs = mkPropertyValues({"Text": "Comment 1"})
+self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", 
xArgs)
+
+# Insert a comment in cell A2
+xGridWin.executeAction("SELECT", mkPropertyValues({"CELL":"A2"}))
+xArgs = mkPropertyValues({"Text": "Comment 2"})
+self.xUITest.executeCommandWithParameters(".uno:InsertAnnotation", 
xArgs)
+
+# Copy cell A2 to clipboard
+xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": "A2"}))
+self.xUITest.executeCommand(".uno:Copy")
+
+# Set cursor to cells and paste data using special options (check 
only comments)
+targetCells = ["A1", "B1"]
+for index, targetCell in enumerate(targetCells):
+xGridWin.executeAction("SELECT", mkPropertyValues({"CELL": 
targetCell}))
+with 
self.ui_test.execute_dialog_through_command(".uno:PasteSpecial") as 
xPasteSpecialDlg:
+reset_default_values(self, xPasteSpecialDlg)
+xDateTimeChkBox = xPasteSpecialDlg.getChild("datetime")
+xDateTimeChkBox.executeAction("CLICK", tuple())
+xTextChkBox = xPasteSpecialDlg.getChild("text")
+xTextChkBox.executeAction("CLICK", tuple())
+xNumbersChkBox = xPasteSpecialDlg.getChild("numbers")
+xNumbersChkBox.executeAction("CLICK", tuple())
+xCommentsChkBox = xPasteSpecialDlg.getChild("comments")
+xCommentsChkBox.executeAction("CLICK", tuple())
+
+# Undo both inserted comments
+self.xUITest.executeCommand(".uno:Undo")
+# Without the fix in place, this test would have failed with
+# AssertionError: 'Comment 1' != ''
+# i.e., the cell does not contain any comment
+self.assertEqual("Comment 1", get_cell_by_position(document, 0, 1, 
0).Annotation.String)
+self.xUITest.executeCommand(".uno:Undo")
+self.assertEqual("", get_cell_by_position(document, 0, 0, 
0).Annotation.String)
+
+# Redo both inserted comments
+self.xUITest.executeCommand(".uno:Redo")
+# Without the fix in place, this test would have failed with
+# AssertionError: 'Comment 2' != ''
+# i.e., the cell does not contain the restored comment
+self.assertEqual("Comment 2", get_cell_by_position(document, 0, 0, 
0).Annotation.String)
+self.xUITest.executeCommand(".uno:Redo")
+

  1   2   3   4   5   6   7   8   9   10   >