[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - 2 commits - sc/source vcl/quartz

2023-05-30 Thread Czeber László Ádám (via logerrit)
 sc/source/core/data/conditio.cxx |2 ++
 vcl/quartz/salgdi.cxx|6 --
 2 files changed, 2 insertions(+), 6 deletions(-)

New commits:
commit a47221ba0debb637f16e7b70c1d59e5cf6b3cfd6
Author: Czeber László Ádám 
AuthorDate: Fri May 26 10:14:11 2023 +0200
Commit: Xisco Fauli 
CommitDate: Wed May 31 08:56:36 2023 +0200

tdf#152037 XLSX import: fix false alarm data validation error

Fix validation error on valid input by adding missing
SimplifyCompiledFormula() to the implementation of
setFormula1() and setFormula2() of XSheetCondition UNO API,
which used by the XLSX input filter.

Change-Id: I8389227eb5a609c29e8d466cf62420bae36f7927
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152295
Tested-by: László Németh 
Reviewed-by: László Németh 
(cherry picked from commit b14118feb4da3b68caea3e9e60b4eb0f2f83593b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152328
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/source/core/data/conditio.cxx b/sc/source/core/data/conditio.cxx
index 8da18a4a0471..54f89dd3a7b3 100644
--- a/sc/source/core/data/conditio.cxx
+++ b/sc/source/core/data/conditio.cxx
@@ -474,6 +474,7 @@ void ScConditionEntry::SetFormula1( const ScTokenArray& 
rArray )
 if( rArray.GetLen() > 0 )
 {
 pFormula1.reset( new ScTokenArray( rArray ) );
+SimplifyCompiledFormula(pFormula1, nVal1, bIsStr1, aStrVal1);
 bRelRef1 = lcl_HasRelRef( mpDoc, pFormula1.get() );
 }
 
@@ -486,6 +487,7 @@ void ScConditionEntry::SetFormula2( const ScTokenArray& 
rArray )
 if( rArray.GetLen() > 0 )
 {
 pFormula2.reset( new ScTokenArray( rArray ) );
+SimplifyCompiledFormula(pFormula2, nVal2, bIsStr2, aStrVal2);
 bRelRef2 = lcl_HasRelRef( mpDoc, pFormula2.get() );
 }
 
commit b203a86f9249c217bf3a218da96d606573419a85
Author: Khaled Hosny 
AuthorDate: Mon May 29 11:01:56 2023 +0300
Commit: Xisco Fauli 
CommitDate: Wed May 31 08:56:26 2023 +0200

tdf#149297: Fix Y position of vertical glyphs on macOS

Remove the Y position offset that became redundant and now double shifts
the glyphs after:

commit dd0d0b44fd1c6c0292d7b2eb3f5cf2baa21e4481
Author: Mark Hung 
Date:   Sun May 2 15:12:46 2021 +0800

vcl: adjust LayoutText() for vertical writing.

Change-Id: Iac7abfa69acfe75860d05800f446c25ed622bb95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152366
Tested-by: Jenkins
Reviewed-by: خالد حسني 
(cherry picked from commit ab1985d0b39e8bcc976543b9700e04610f434423)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152324
Reviewed-by: Xisco Fauli 

diff --git a/vcl/quartz/salgdi.cxx b/vcl/quartz/salgdi.cxx
index 0793c15dd4ab..522ccb2b3add 100644
--- a/vcl/quartz/salgdi.cxx
+++ b/vcl/quartz/salgdi.cxx
@@ -346,16 +346,10 @@ void AquaGraphicsBackend::drawTextLayout(const 
GenericSalLayout& rLayout, bool b
 if (rFont.mfFontRotation)
 {
 if (pGlyph->IsVertical())
-{
 bUprightGlyph = true;
-// Adjust the position of upright (vertical) glyphs.
-aGCPos.y -= CTFontGetAscent(pCTFont) - 
CTFontGetDescent(pCTFont);
-}
 else
-{
 // Transform the position of rotated glyphs.
 aGCPos = CGPointApplyAffineTransform(aGCPos, aRotMatrix);
-}
 }
 
 aGlyphIds.push_back(pGlyph->glyphId());


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

2023-05-30 Thread Xisco Fauli (via logerrit)
 sc/source/core/data/dociter.cxx |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 5716bb7165e8b095c202ea7a8717f2633c0d006f
Author: Xisco Fauli 
AuthorDate: Fri May 19 12:17:13 2023 +0200
Commit: Xisco Fauli 
CommitDate: Wed May 31 08:56:07 2023 +0200

sc: avoid crash in ScHorizontalCellIterator

At least do not crash with release builds as seen in

https://crashreport.libreoffice.org/stats/signature/ScHorizontalCellIterator::ScHorizontalCellIterator(ScDocument%20&,short,short,long,short,long)

Change-Id: If253e950bbb709b585dc9398beddd1303dcb1b57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152000
Tested-by: Jenkins
Reviewed-by: Eike Rathke 
(cherry picked from commit 5655cc201e5a80997fe21bc2a0c7abcbe4fb488f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152325
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 

diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index 123d96d91b8c..fd4fa7afe42f 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -1039,7 +1039,11 @@ 
ScHorizontalCellIterator::ScHorizontalCellIterator(ScDocument& rDocument, SCTAB
 {
 assert(mnTab < rDoc.GetTableCount() && "index out of bounds, FIX IT");
 
-nEndCol = rDoc.maTabs[mnTab]->ClampToAllocatedColumns(nEndCol);
+const ScTable* pTab = rDoc.FetchTable(mnTab);
+if (!pTab)
+return;
+
+nEndCol = pTab->ClampToAllocatedColumns(nEndCol);
 if (nEndCol < nStartCol) // E.g., somewhere completely outside allocated 
area
 nEndCol = nStartCol - 1; // Empty
 


Re: changing the UNO dispose/disposing() protocol ?

2023-05-30 Thread Miklos Vajna
Hi Noel,

On Tue, May 30, 2023 at 12:29:40PM +0200, Noel Grandin  
wrote:
> > Do you have a context for this? I assume you dived into some actual
> > problem and then this came up?
> >
> I am specifically looking at cleaning up memory leaks, and a lot of those
> have to do with cycles forming in the UNO object graph.
> A recurrent problem in cleaning this up is when something throws
> DisposedException and short-circuits the dispose() logic in caller code.

I see. And also noticed in the meantime that the VclPtr dispose also
just does nothing on multiple disposes, so this sounds reasonable to me,
improves consistency.

Regards,

Miklos


Re: Welcome Khaled Hosny, new Developer at TDF

2023-05-30 Thread Regis Perdreau
Great news, welcome, have fun !

Regards,
Régis Perdreau



Le mer. 31 mai 2023 à 07:05, Khaled Hosny  a écrit :

>
>
> > On 30 May 2023, at 10:36 AM, Mike Saunders <
> mike.saund...@documentfoundation.org> wrote:
> >
> > Hello everyone,
> >
> > Khaled Hosny has joined the team at The Document Foundation as a
> Developer focusing initially on RTL/CTL improvements:
> >
> >
> https://blog.documentfoundation.org/blog/2023/05/30/welcome-khaled-hosny-new-developer-at-tdf/
>
> Thanks everyone. I’m really happy to be able to work full time on
> LibreOffice.
>
> Regards,
> Khaled


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

2023-05-30 Thread Julien Nabet (via logerrit)
 dbaccess/uiconfig/ui/postgrespage.ui |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit b960668bbde1c77c5eadf0a1ad8abde08114810f
Author: Julien Nabet 
AuthorDate: Tue May 30 21:40:05 2023 +0200
Commit: Julien Nabet 
CommitDate: Wed May 31 07:25:45 2023 +0200

tdf#155562: crash when switching to PostgreSQL connector in Database wizard

It seems "label" doesn't exist for AtkObject so rather use 
"AtkObject::accessible-description"

Regression from afe99617707c92460e66486c0057ef327e8aa017
tdf#43369: Specific UI for collecting PostgreSQL connection settings

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

diff --git a/dbaccess/uiconfig/ui/postgrespage.ui 
b/dbaccess/uiconfig/ui/postgrespage.ui
index cc478e00cca8..ce814a40a310 100644
--- a/dbaccess/uiconfig/ui/postgrespage.ui
+++ b/dbaccess/uiconfig/ui/postgrespage.ui
@@ -23,7 +23,7 @@
 6
 
   
-Set up connection to a PostgreSQL 
database
+Set up connection to a 
PostgreSQL database
 static
   
 
@@ -43,7 +43,7 @@
 False
 
   
-Please enter the required information 
to connect to a PostgreSQL database. Please contact your system administrator 
if you are unsure about the following settings. 
+Please enter the 
required information to connect to a PostgreSQL database. Please contact your 
system administrator if you are unsure about the following settings. 
 static
   
 


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

2023-05-30 Thread Mike Kaganski (via logerrit)
 sw/source/filter/html/htmlnumwriter.cxx |   13 +
 1 file changed, 5 insertions(+), 8 deletions(-)

New commits:
commit 9449d50a885b91bcf4f75b6569d5f3b28e868076
Author: Mike Kaganski 
AuthorDate: Tue May 30 12:11:08 2023 +0300
Commit: Andras Timar 
CommitDate: Wed May 31 07:24:26 2023 +0200

Fix CI breakage from commit 36831c668c53fdfcd78300045e6beafccbba35c6

It backported commit ebf8b0b0699fe34c86badb3087869d902a4e40a8 from
libreoffice-7-5 to co-23.05; and in the process, it manually restored
the 'if (rWrt.mbXHTML)' condition, that was removed in co-23.05 in
commit b401ff5020264adef2fd68c111d9bc9ea84ee1ab (htmlexport: close li
mark not only in xhtml, 2023-02-08).

Unfortunately, the backport that included manual merge conflict
resolution wasn't CI-tested.

Change-Id: Id42b6309ed92e209b682b4b1cf5578e2a0f20fc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152385
Reviewed-by: Andras Timar 
Tested-by: Andras Timar 

diff --git a/sw/source/filter/html/htmlnumwriter.cxx 
b/sw/source/filter/html/htmlnumwriter.cxx
index a3bc30891f76..2bb4f5d96457 100644
--- a/sw/source/filter/html/htmlnumwriter.cxx
+++ b/sw/source/filter/html/htmlnumwriter.cxx
@@ -287,15 +287,12 @@ Writer& OutHTML_NumberBulletListEnd( SwHTMLWriter& rWrt,
 bool bListEnd = !bSameRule || rNextInfo.GetDepth() < rInfo.GetDepth() || 
rNextInfo.IsRestart(rInfo);
 bool bNextIsSubitem = !bListEnd && rNextInfo.GetDepth() > rInfo.GetDepth();
 
-if (rWrt.mbXHTML)
+// XHTML  for the list item content, if there is an open .
+if (bListEnd || (!bNextIsSubitem && rNextInfo.IsNumbered()))
 {
-// XHTML  for the list item content, if there is an open .
-if (bListEnd || (!bNextIsSubitem && rNextInfo.IsNumbered()))
-{
-HTMLOutFuncs::Out_AsciiTag(
-rWrt.Strm(), Concat2View(rWrt.GetNamespace() + 
OOO_STRING_SVTOOLS_HTML_li),
-false);
-}
+HTMLOutFuncs::Out_AsciiTag(
+rWrt.Strm(), Concat2View(rWrt.GetNamespace() + 
OOO_STRING_SVTOOLS_HTML_li),
+false);
 }
 
 if (!bListEnd)


Re: Welcome Khaled Hosny, new Developer at TDF

2023-05-30 Thread Khaled Hosny



> On 30 May 2023, at 10:36 AM, Mike Saunders 
>  wrote:
> 
> Hello everyone,
> 
> Khaled Hosny has joined the team at The Document Foundation as a Developer 
> focusing initially on RTL/CTL improvements:
> 
> https://blog.documentfoundation.org/blog/2023/05/30/welcome-khaled-hosny-new-developer-at-tdf/

Thanks everyone. I’m really happy to be able to work full time on LibreOffice.

Regards,
Khaled

[Libreoffice-commits] core.git: helpcontent2

2023-05-30 Thread Adolfo Jayme Barrientos (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 60e499147963e42ce783dffcf9c8d4aba8b5d475
Author: Adolfo Jayme Barrientos 
AuthorDate: Tue May 30 15:27:56 2023 -0600
Commit: Gerrit Code Review 
CommitDate: Tue May 30 23:27:56 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 26a4384689855508e662ae04cb49852280db50ee
  - Proofreading: A document may have “contents”, but not the TOC itself

Change-Id: I5b20b7702a795570832ae88e5fac22d702dccb00

diff --git a/helpcontent2 b/helpcontent2
index e21dbdfd8585..26a438468985 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit e21dbdfd8585da7953ea5f442c7b7b9839a9be1c
+Subproject commit 26a4384689855508e662ae04cb49852280db50ee


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

2023-05-30 Thread Adolfo Jayme Barrientos (via logerrit)
 source/text/swriter/01/0211.xhp |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 26a4384689855508e662ae04cb49852280db50ee
Author: Adolfo Jayme Barrientos 
AuthorDate: Tue May 30 15:27:13 2023 -0600
Commit: Adolfo Jayme Barrientos 
CommitDate: Tue May 30 15:27:32 2023 -0600

Proofreading: A document may have “contents”, but not the TOC itself

Change-Id: I5b20b7702a795570832ae88e5fac22d702dccb00

diff --git a/source/text/swriter/01/0211.xhp 
b/source/text/swriter/01/0211.xhp
index 454d1322c9..26fcf8c2b1 100644
--- a/source/text/swriter/01/0211.xhp
+++ b/source/text/swriter/01/0211.xhp
@@ -417,7 +417,7 @@
 Removes the index. The 
contents of the index is not deleted but is not treated as an index 
anymore.
 
 Read only
-Mark this checkbox to 
prevent manual edition of contents of the index.
+Check this box to 
prevent manual editing of the index content.
 
 Delete 
Index
 Deletes the 
index.


[Libreoffice-commits] core.git: icon-themes/breeze icon-themes/breeze_dark icon-themes/colibre icon-themes/colibre_dark icon-themes/elementary icon-themes/karasa_jaga icon-themes/sifr icon-themes/sifr

2023-05-30 Thread Rizal Muttaqin (via logerrit)
 icon-themes/breeze/links.txt|4 
 icon-themes/breeze_dark/links.txt   |4 
 icon-themes/colibre/links.txt   |   40 
 icon-themes/colibre_dark/links.txt  |   40 
 icon-themes/elementary/links.txt|3 
 icon-themes/karasa_jaga/links.txt   | 4319 +--
 icon-themes/sifr/links.txt  |   53 
 icon-themes/sifr_dark/links.txt |   53 
 icon-themes/sukapura/links.txt  | 5626 ++--
 icon-themes/sukapura_dark/links.txt | 5626 ++--
 10 files changed, 7898 insertions(+), 7870 deletions(-)

New commits:
commit b2da36a0837c3d2614917f2382c19c070c5750ed
Author: Rizal Muttaqin 
AuthorDate: Wed May 31 03:38:19 2023 +0700
Commit: Rizal Muttaqin 
CommitDate: Tue May 30 23:23:31 2023 +0200

tdf#155374 Icons for PageNumberWizard

Change-Id: Ie0317d6640e2c2a40dc3e5808397dfada6edc55a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152408
Tested-by: Jenkins
Reviewed-by: Rizal Muttaqin 

diff --git a/icon-themes/breeze/links.txt b/icon-themes/breeze/links.txt
index e30e07f3c22c..95c330504e4b 100644
--- a/icon-themes/breeze/links.txt
+++ b/icon-themes/breeze/links.txt
@@ -97,6 +97,7 @@ cmd/32/insertobjectfloatingframe.png cmd/32/insertframe.png
 cmd/32/insertobjectstarmath.png cmd/32/insertmath.png
 cmd/32/insertpagefooter.png cmd/32/insertfooter.png
 cmd/32/insertpageheader.png cmd/32/insertheader.png
+cmd/32/insertpagenumberwizard.png cmd/32/insertpagenumberfield.png
 cmd/32/insertpatternfield.png cmd/32/patternfield.png
 cmd/32/insertpivottable.png cmd/32/datadatapilotrun.png
 cmd/32/insertpushbutton.png cmd/32/pushbutton.png
@@ -158,6 +159,7 @@ cmd/lc_insertobjectfloatingframe.png cmd/lc_insertframe.png
 cmd/lc_insertobjectstarmath.png cmd/lc_insertmath.png
 cmd/lc_insertpagefooter.png cmd/lc_insertfooter.png
 cmd/lc_insertpageheader.png cmd/lc_insertheader.png
+cmd/lc_insertpagenumberwizard.png cmd/lc_insertpagenumberfield.png
 cmd/lc_insertpatternfield.png cmd/lc_patternfield.png
 cmd/lc_insertpivottable.png cmd/lc_datadatapilotrun.png
 cmd/lc_insertpushbutton.png cmd/lc_pushbutton.png
@@ -219,6 +221,7 @@ cmd/sc_insertobjectfloatingframe.png cmd/sc_insertframe.png
 cmd/sc_insertobjectstarmath.png cmd/sc_insertmath.png
 cmd/sc_insertpagefooter.png cmd/sc_insertfooter.png
 cmd/sc_insertpageheader.png cmd/sc_insertheader.png
+cmd/sc_insertpagenumberwizard.png cmd/sc_insertpagenumberfield.png
 cmd/sc_insertpatternfield.png cmd/sc_patternfield.png
 cmd/sc_insertpivottable.png cmd/sc_datadatapilotrun.png
 cmd/sc_insertpushbutton.png cmd/sc_pushbutton.png
@@ -2130,7 +2133,6 @@ cmd/32/previousslide.png cmd/32/prevrecord.png
 cmd/32/slidesetup.png cmd/32/pagesetup.png
 cmd/32/nextslide.png cmd/32/nextrecord.png
 
-
 cmd/lc_deleteslide.png cmd/lc_deletepage.png
 cmd/lc_duplicateslide.png cmd/lc_duplicatepage.png
 cmd/lc_firstslide.png cmd/lc_firstrecord.png
diff --git a/icon-themes/breeze_dark/links.txt 
b/icon-themes/breeze_dark/links.txt
index e30e07f3c22c..95c330504e4b 100644
--- a/icon-themes/breeze_dark/links.txt
+++ b/icon-themes/breeze_dark/links.txt
@@ -97,6 +97,7 @@ cmd/32/insertobjectfloatingframe.png cmd/32/insertframe.png
 cmd/32/insertobjectstarmath.png cmd/32/insertmath.png
 cmd/32/insertpagefooter.png cmd/32/insertfooter.png
 cmd/32/insertpageheader.png cmd/32/insertheader.png
+cmd/32/insertpagenumberwizard.png cmd/32/insertpagenumberfield.png
 cmd/32/insertpatternfield.png cmd/32/patternfield.png
 cmd/32/insertpivottable.png cmd/32/datadatapilotrun.png
 cmd/32/insertpushbutton.png cmd/32/pushbutton.png
@@ -158,6 +159,7 @@ cmd/lc_insertobjectfloatingframe.png cmd/lc_insertframe.png
 cmd/lc_insertobjectstarmath.png cmd/lc_insertmath.png
 cmd/lc_insertpagefooter.png cmd/lc_insertfooter.png
 cmd/lc_insertpageheader.png cmd/lc_insertheader.png
+cmd/lc_insertpagenumberwizard.png cmd/lc_insertpagenumberfield.png
 cmd/lc_insertpatternfield.png cmd/lc_patternfield.png
 cmd/lc_insertpivottable.png cmd/lc_datadatapilotrun.png
 cmd/lc_insertpushbutton.png cmd/lc_pushbutton.png
@@ -219,6 +221,7 @@ cmd/sc_insertobjectfloatingframe.png cmd/sc_insertframe.png
 cmd/sc_insertobjectstarmath.png cmd/sc_insertmath.png
 cmd/sc_insertpagefooter.png cmd/sc_insertfooter.png
 cmd/sc_insertpageheader.png cmd/sc_insertheader.png
+cmd/sc_insertpagenumberwizard.png cmd/sc_insertpagenumberfield.png
 cmd/sc_insertpatternfield.png cmd/sc_patternfield.png
 cmd/sc_insertpivottable.png cmd/sc_datadatapilotrun.png
 cmd/sc_insertpushbutton.png cmd/sc_pushbutton.png
@@ -2130,7 +2133,6 @@ cmd/32/previousslide.png cmd/32/prevrecord.png
 cmd/32/slidesetup.png cmd/32/pagesetup.png
 cmd/32/nextslide.png cmd/32/nextrecord.png
 
-
 cmd/lc_deleteslide.png cmd/lc_deletepage.png
 cmd/lc_duplicateslide.png cmd/lc_duplicatepage.png
 cmd/lc_firstslide.png cmd/lc_firstrecord.png
diff --git a/icon-themes/colibre/links.txt b/icon-themes/colibre/links.txt
index a29281096c08..db242e0263e5 100644
--- a/icon-themes/colib

[Libreoffice-commits] core.git: helpcontent2

2023-05-30 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e0d2996d05be4eb0a3fdc6d1a5155e55294cbb11
Author: Olivier Hallot 
AuthorDate: Tue May 30 17:46:31 2023 -0300
Commit: Gerrit Code Review 
CommitDate: Tue May 30 22:46:31 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to e21dbdfd8585da7953ea5f442c7b7b9839a9be1c
  - Synch Contents Controls nomeclature with UI

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

diff --git a/helpcontent2 b/helpcontent2
index 3ffbf68223b9..e21dbdfd8585 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 3ffbf68223b981335abdfede5dc5f86c30269c13
+Subproject commit e21dbdfd8585da7953ea5f442c7b7b9839a9be1c


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

2023-05-30 Thread Olivier Hallot (via logerrit)
 source/text/swriter/00/formmenu.xhp |   20 ++--
 source/text/swriter/01/contentcontrol00.xhp |2 +-
 2 files changed, 11 insertions(+), 11 deletions(-)

New commits:
commit e21dbdfd8585da7953ea5f442c7b7b9839a9be1c
Author: Olivier Hallot 
AuthorDate: Tue May 30 17:44:11 2023 -0300
Commit: Olivier Hallot 
CommitDate: Tue May 30 22:46:31 2023 +0200

Synch Contents Controls nomeclature with UI

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

diff --git a/source/text/swriter/00/formmenu.xhp 
b/source/text/swriter/00/formmenu.xhp
index bec090d72f..7c0fb9fb12 100644
--- a/source/text/swriter/00/formmenu.xhp
+++ b/source/text/swriter/00/formmenu.xhp
@@ -10,19 +10,19 @@
 -->
 
 
-
-The Form Menu
+
+The Content Controls Menu
 /text/swriter/00/formmenu.xhp
 
 
 
-Choose Form - Content Control 
- Insert Rich Text.
-Choose Form - Content Control - Insert Plain 
Text.
-Choose Form - Content Control - Insert 
Picture.
-Choose Form - Content Control - Insert Check 
Box.
-Choose Form - Content Control - Insert Combo 
Box.
-Choose Form - Content Control - Insert Drop-down 
List.
-Choose Form - Content Control - Insert 
Date.
-Choose Form - Content Control - Content Control 
Properties.
+Choose Form - Content Controls - Rich 
Text.
+Choose Form - Content Controls - Plain 
Text.
+Choose Form - Content Controls - 
Picture.
+Choose Form - Content Controls - Check 
Box.
+Choose Form - Content Controls - Combo 
Box.
+Choose Form - Content Controls - Drop-down 
List.
+Choose Form - Content Controls - 
Date.
+Choose Form - Content Controls - 
Properties.
 
 
diff --git a/source/text/swriter/01/contentcontrol00.xhp 
b/source/text/swriter/01/contentcontrol00.xhp
index 82cd1bd365..8849e0f79a 100644
--- a/source/text/swriter/01/contentcontrol00.xhp
+++ b/source/text/swriter/01/contentcontrol00.xhp
@@ -37,7 +37,7 @@
 
 
 
-Content Control 
Properties
+Properties
 Allows 
setting various properties on the content control which is under the current 
cursor.
 
 General Properties


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

2023-05-30 Thread Caolán McNamara (via logerrit)
 sc/source/ui/app/inputwin.cxx |   23 ++-
 1 file changed, 10 insertions(+), 13 deletions(-)

New commits:
commit ecd270bc44d094cc01e9978af60715c0d3940416
Author: Caolán McNamara 
AuthorDate: Tue May 30 20:25:08 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue May 30 22:27:14 2023 +0200

Revert "Resolves: tdf#155453 formatting lost when formula bar edited via IM"

This reverts commit 1a6d250f34c63808552f783a31a315bc7d80ca93.

seemed to work at the time, but it crashes now.

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

diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index a3e8f0fd591b..a85baa1ccca4 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -1709,19 +1709,7 @@ bool ScTextWnd::Command( const CommandEvent& rCEvt )
 
 // Prevent that the EditView is lost when switching between Views
 pScMod->SetInEditCommand( true );
-
-// tdf#155453 send InputMethod events received by the InputBar through
-// ScInputHandler so formatting in other views can be retained
-bool bExtInput = nCommand == CommandEventId::StartExtTextInput ||
- nCommand == CommandEventId::ExtTextInput ||
- nCommand == CommandEventId::EndExtTextInput;
-
-ScInputHandler* pInputHdl = SC_MOD()->GetInputHdl();
-if (bExtInput && pInputHdl)
-pInputHdl->InputCommand(rCEvt);
-else
-m_xEditView->Command( rCEvt );
-
+m_xEditView->Command( rCEvt );
 pScMod->SetInEditCommand( false );
 
 //  CommandEventId::StartDrag does not mean by far that the content 
was actually changed,
@@ -1743,6 +1731,15 @@ bool ScTextWnd::Command( const CommandEvent& rCEvt )
 }
 }
 }
+else if ( nCommand == CommandEventId::EndExtTextInput )
+{
+if (bFormulaMode)
+{
+ScInputHandler* pHdl = SC_MOD()->GetInputHdl();
+if (pHdl)
+pHdl->InputCommand(rCEvt);
+}
+}
 else if ( nCommand == CommandEventId::CursorPos )
 {
 //  don't call InputChanged for CommandEventId::CursorPos


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5-4' - editeng/source

2023-05-30 Thread Caolán McNamara (via logerrit)
 editeng/source/editeng/impedit2.cxx |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 8ecb7a96c332fe070fc471fa0ac04c5026c7f396
Author: Caolán McNamara 
AuthorDate: Tue May 23 19:58:39 2023 +0100
Commit: Xisco Fauli 
CommitDate: Tue May 30 21:41:49 2023 +0200

tdf#155350 Do AutoCorrect of Input Method text

for all of SvxAutoCorrect::IsAutoCorrectChar() chars not just
quotes

Change-Id: I368836ea3c2dcdcc7fbe6906d7ae886f312d73d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152107
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 2b885a3924d9792a120cfc0ab71b216ad08d0996)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152109
Reviewed-by: Michael Stahl 
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Xisco Fauli 

diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 4e87e36af5d3..7e830da175b0 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -371,8 +371,9 @@ bool ImpEditEngine::Command( const CommandEvent& rCEvt, 
EditView* pView )
 // #102812# convert quotes in IME text
 // works on the last input character, this is especially in 
Korean text often done
 // quotes that are inside of the string are not replaced!
+// See also tdf#155350
 const sal_Unicode nCharCode = aSel.Min().GetNode()->GetChar( 
aSel.Min().GetIndex() );
-if ( ( GetStatus().DoAutoCorrect() ) && ( ( nCharCode == '\"' 
) || ( nCharCode == '\'' ) ) )
+if ( ( GetStatus().DoAutoCorrect() ) && 
SvxAutoCorrect::IsAutoCorrectChar(nCharCode) )
 {
 aSel = DeleteSelected( aSel );
 aSel = AutoCorrect( aSel, nCharCode, 
mpIMEInfos->bWasCursorOverwrite );


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

2023-05-30 Thread Michael Stahl (via logerrit)
 svx/source/sdr/contact/viewobjectcontact.cxx |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 669ee4ab680736ad87f0e41071eff906e6354480
Author: Michael Stahl 
AuthorDate: Thu May 25 19:43:56 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 21:41:33 2023 +0200

tdf#155436 svx: PDF export: fix crash on SdrMediaObj without URL

Both sw and sd don't call CreateScreen() if there is no URL.

(regression from commit e84b310b59825fd572d79def98c3d21566aac603)

Change-Id: I087511bb6ed41b0e39321f6ca8684f60261f01cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152282
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 8061cd765c7854667550d6aafda5832715648876)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152228
Reviewed-by: Xisco Fauli 
Tested-by: Xisco Fauli 
(cherry picked from commit 870aec31003df482b1b1a6bf0acdd9cb7e9e7b10)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152320
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Hossein 

diff --git a/svx/source/sdr/contact/viewobjectcontact.cxx 
b/svx/source/sdr/contact/viewobjectcontact.cxx
index 2e2ecfe8f711..aff704134ae1 100644
--- a/svx/source/sdr/contact/viewobjectcontact.cxx
+++ b/svx/source/sdr/contact/viewobjectcontact.cxx
@@ -31,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -434,7 +435,8 @@ drawinglayer::primitive2d::Primitive2DContainer const & 
ViewObjectContact::getPr
 }
 
 ::std::vector annotIds;
-if (eElement == vcl::PDFWriter::Annot)
+if (eElement == vcl::PDFWriter::Annot
+&& 
!static_cast(pSdrObj)->getURL().isEmpty())
 {
 auto const 
pPDFExtOutDevData(GetObjectContact().GetPDFExtOutDevData());
 assert(pPDFExtOutDevData);


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

2023-05-30 Thread Michael Stahl (via logerrit)
 sw/source/core/crsr/crsrsh.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit c2efddb1839ef5936daf69e62f4b9436c6cd
Author: Michael Stahl 
AuthorDate: Wed May 17 14:49:55 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 21:41:17 2023 +0200

tdf#155346 sw: fix crash from changing modal mode

When closing the dialog, UpdateCursor() creates a table cursor for
ExtendedSelectedAll() because mbSelectAll isn't set.

1  SwShellTableCursor::SwShellTableCursor
2  SwCursorShell::UpdateCursor
3  SwCursorShell::ShowCursor
4  SwView::ShowCursor
5  SfxViewFrame::Enable
6  SfxViewFrame::Notify
7  SfxBroadcaster::Broadcast
8  SfxObjectShell::SetModalMode_Impl
9  SfxViewFrame::SetModalMode

(regression from commit d81379db730a163c5ff75d4f3a3cddbd7b5eddda)

Change-Id: Ie73f8e42f764f8041288eb0850721a530d106a0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151880
Tested-by: Jenkins
Reviewed-by: Michael Stahl 
(cherry picked from commit 1458d2f935c50ab7f3e2f1277d1bc7d1b5b5f894)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151926
Reviewed-by: Xisco Fauli 
(cherry picked from commit 9d8d7fc60c345e02e8d73a3c2476c00217066885)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152093
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Hossein 
Tested-by: Xisco Fauli 

diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 53ccb4a839d3..03cecdbbd8bf 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -2661,6 +2661,8 @@ void SwCursorShell::ShowCursor()
 if( m_bBasicHideCursor )
 return;
 
+comphelper::FlagRestorationGuard g(mbSelectAll, StartsWith_() != 
StartsWith::None && ExtendedSelectedAll());
+
 m_bSVCursorVis = true;
 m_pCurrentCursor->SetShowTextInputFieldOverlay( true );
 m_pCurrentCursor->SetShowContentControlOverlay(true);


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

2023-05-30 Thread Xisco Fauli (via logerrit)
 svx/source/tbxctrls/tbcontrl.cxx |   15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)

New commits:
commit 41afea6e3228ecd51a178bf703be3f9ebfaa9f76
Author: Xisco Fauli 
AuthorDate: Thu May 18 15:52:37 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 21:40:51 2023 +0200

svx: check SfxObjectShell::Current()

See 
https://crashreport.libreoffice.org/stats/signature/static%20void%20%60anonymous%20namespace'::SvxStyleBox_Base::Select(bool)

Change-Id: I6edce9c8bad1ee087ddf884ff47439cceee3f1de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151923
Reviewed-by: Michael Stahl 
Tested-by: Jenkins
(cherry picked from commit ddc838a14108a175289a0261d8daebf53cc440e1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151927
Reviewed-by: Eike Rathke 
Reviewed-by: Ilmari Lauhakangas 
Reviewed-by: Hossein 
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 

diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 034a46645ff4..281fc6754ac3 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -1006,6 +1006,9 @@ void SvxStyleBox_Base::Select(bool bNonTravelSelect)
 
 //Do we need to create a new style?
 SfxObjectShell *pShell = SfxObjectShell::Current();
+if (!pShell)
+return;
+
 SfxStyleSheetBasePool* pPool = pShell->GetStyleSheetPool();
 SfxStyleSheetBase* pStyle = nullptr;
 
@@ -1316,11 +1319,13 @@ static bool SetFontSize(vcl::RenderContext& 
rRenderContext, const SfxItemSet& rS
 if (GetWhich(rSet, nSlot, nWhich))
 {
 const auto& rFontHeightItem = static_cast(rSet.Get(nWhich));
-SfxObjectShell *pShell = SfxObjectShell::Current();
-Size aFontSize(0, rFontHeightItem.GetHeight());
-Size aPixelSize(rRenderContext.LogicToPixel(aFontSize, 
MapMode(pShell->GetMapUnit(;
-rFont.SetFontSize(aPixelSize);
-return true;
+if (SfxObjectShell *pShell = SfxObjectShell::Current())
+{
+Size aFontSize(0, rFontHeightItem.GetHeight());
+Size aPixelSize(rRenderContext.LogicToPixel(aFontSize, 
MapMode(pShell->GetMapUnit(;
+rFont.SetFontSize(aPixelSize);
+return true;
+}
 }
 return false;
 }


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

2023-05-30 Thread Justin Luth (via logerrit)
 sw/qa/extras/ww8export/ww8export3.cxx |1 +
 sw/source/filter/ww8/ww8graf.cxx  |   21 -
 2 files changed, 17 insertions(+), 5 deletions(-)

New commits:
commit 0ceb131e964206efbb1c76a03f19d1992e2f89c7
Author: Justin Luth 
AuthorDate: Tue May 30 11:23:58 2023 -0400
Commit: Justin Luth 
CommitDate: Tue May 30 21:33:16 2023 +0200

tdf#140508 doc import: auto-contour for textboxes

This fixes a 6.3.1 regression.

The problem was that contour was turned off
despite settings indicating that it should be on.

An earlier patchset contains the results of a make sw.check assert.

make CppunitTest_sw_ww8export3 CPPUNIT_TEST_NAME=testTdf79186_noLayoutInCell

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

diff --git a/sw/qa/extras/ww8export/ww8export3.cxx 
b/sw/qa/extras/ww8export/ww8export3.cxx
index 0b116c232d60..7cbc2e256943 100644
--- a/sw/qa/extras/ww8export/ww8export3.cxx
+++ b/sw/qa/extras/ww8export/ww8export3.cxx
@@ -1066,6 +1066,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf79186_noLayoutInCell)
 CPPUNIT_ASSERT_EQUAL(1, getPages());
 
 CPPUNIT_ASSERT(!getProperty(getShape(1), "IsFollowingTextFlow"));
+CPPUNIT_ASSERT(getProperty(getShape(1), "SurroundContour")); // 
tdf#140508
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testClearingBreak)
diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx
index 35621217ece1..4e7a454ab773 100644
--- a/sw/source/filter/ww8/ww8graf.cxx
+++ b/sw/source/filter/ww8/ww8graf.cxx
@@ -2104,11 +2104,22 @@ void SwWW8ImplReader::MapWrapIntoFlyFormat(const 
SvxMSDffImportRec& rRecord,
 }
 else if (rFlyFormat.GetSurround().IsContour())
 {
-// Contour is enabled, but no polygon is set: disable contour, because 
Word does not
-// Writer-style auto-contour in that case.
-SwFormatSurround aSurround(rFlyFormat.GetSurround());
-aSurround.SetContour(false);
-rFlyFormat.SetFormatAttr(aSurround);
+const SdrObject* pSdrObj = rFlyFormat.FindSdrObject();
+SdrObjKind eKind = pSdrObj ? pSdrObj->GetObjIdentifier() : 
SdrObjKind::Graphic;
+switch (eKind)
+{
+case SdrObjKind::Text:
+break;
+case SdrObjKind::SwFlyDrawObjIdentifier:
+default:
+{
+// Contour is enabled, but no polygon is set: disable contour, 
because Word does not
+// Writer-style auto-contour in that case.
+SwFormatSurround aSurround(rFlyFormat.GetSurround());
+aSurround.SetContour(false);
+rFlyFormat.SetFormatAttr(aSurround);
+}
+}
 }
 }
 


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

2023-05-30 Thread Caolán McNamara (via logerrit)
 sw/source/uibase/docvw/edtwin.cxx |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

New commits:
commit f425c0aab6e33b8029bf7e87ac9b10b4b4489ac9
Author: Caolán McNamara 
AuthorDate: Fri May 26 14:47:58 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue May 30 21:08:01 2023 +0200

Related: tdf#155507 Only need this invalidate if using header/footer 
controls

which is implied from the IsUseHeaderFooterMenu option

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

diff --git a/sw/source/uibase/docvw/edtwin.cxx 
b/sw/source/uibase/docvw/edtwin.cxx
index 09e5b01c7758..7564385f19a9 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -2965,9 +2965,9 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt)
 
 if ( !bActive )
 {
-// When in Hide-Whitespace mode, we don't want header
-// and footer controls.
-if (!rSh.GetViewOptions()->IsHideWhitespaceMode())
+// HeaderFooter menu implies header/footer controls, so only 
do this with IsUseHeaderFooterMenu enabled.
+// But, additionally, when in Hide-Whitespace mode, we don't 
want those controls.
+if (rSh.GetViewOptions()->IsUseHeaderFooterMenu() && 
!rSh.GetViewOptions()->IsHideWhitespaceMode())
 {
 SwPaM aPam(*rSh.GetCurrentShellCursor().GetPoint());
 const bool bWasInHeader = 
aPam.GetPoint()->GetNode().FindHeaderStartNode() != nullptr;
@@ -2992,7 +2992,7 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt)
 // if the cursor cannot be positioned on-screen, then 
the user would need to scroll back again to use the control.
 // This should only be done for the footer. The cursor 
can always be re-positioned near the header. tdf#134023.
 if ( eControl == FrameControlType::Footer && 
!bSeparatorWasVisible
- && rSh.GetViewOptions()->IsUseHeaderFooterMenu() 
&& !Application::IsHeadlessModeEnabled() )
+ && !Application::IsHeadlessModeEnabled() )
 return;
 }
 }


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

2023-05-30 Thread Jim Raykowski (via logerrit)
 sd/source/ui/dlg/navigatr.cxx |1 +
 sd/source/ui/dlg/sdtreelb.cxx |   35 ---
 2 files changed, 33 insertions(+), 3 deletions(-)

New commits:
commit 60e32969a98cad348cf8e55e8f93abc3d6e9c70c
Author: Jim Raykowski 
AuthorDate: Sun May 21 15:39:11 2023 -0800
Commit: Jim Raykowski 
CommitDate: Tue May 30 21:06:26 2023 +0200

tdf#155393 SdNavigator: Enhancement to navigate in Notes view

Change-Id: Icea71217fa5ffadc637bd7d9b8cae2fa18ec93bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152075
Tested-by: Jenkins
Reviewed-by: Stéphane Guillou 
Reviewed-by: Heiko Tietze 
Reviewed-by: Jim Raykowski 

diff --git a/sd/source/ui/dlg/navigatr.cxx b/sd/source/ui/dlg/navigatr.cxx
index 2bdfaefde410..ca6bc100cad9 100644
--- a/sd/source/ui/dlg/navigatr.cxx
+++ b/sd/source/ui/dlg/navigatr.cxx
@@ -778,6 +778,7 @@ void 
SdNavigatorControllerItem::StateChangedAtToolBoxControl( sal_uInt16 nSId,
 static_cast<::sd::DrawViewShell 
*>(pDrawDocShell->GetViewShell());
 if (pDrawViewShell)
 {
+pNavigatorWin->FreshTree(pDrawDocShell->GetDoc());
 bool bEditModePage(pDrawViewShell->GetEditMode() == 
EditMode::Page);
 pNavigatorWin->mxToolbox->set_sensitive(bEditModePage);
 pNavigatorWin->mxLbDocs->set_sensitive(bEditModePage);
diff --git a/sd/source/ui/dlg/sdtreelb.cxx b/sd/source/ui/dlg/sdtreelb.cxx
index e39099a61675..45b078df0cb0 100644
--- a/sd/source/ui/dlg/sdtreelb.cxx
+++ b/sd/source/ui/dlg/sdtreelb.cxx
@@ -56,9 +56,21 @@
 #include 
 
 #include 
+#include 
 
 using namespace com::sun::star;
 
+namespace {
+
+sd::DrawViewShell* lcl_getDrawViewShell(const SdDrawDocument* pDoc)
+{
+if (!pDoc || !pDoc->GetDocSh())
+return nullptr;
+return static_cast(pDoc->GetDocSh()->GetViewShell());
+}
+
+}
+
 bool SdPageObjsTLV::bIsInDrag = false;
 
 bool SdPageObjsTLV::IsInDrag()
@@ -251,6 +263,13 @@ bool SdPageObjsTLV::IsEqualToDoc( const SdDrawDocument* 
pInDoc )
 if( !m_pDoc )
 return false;
 
+sd::DrawViewShell* pDrawViewShell = lcl_getDrawViewShell(m_pDoc);
+if (!pDrawViewShell)
+return false;
+PageKind eDrawViewShellPageKind = pDrawViewShell->GetPageKind();
+if (eDrawViewShellPageKind != PageKind::Standard && eDrawViewShellPageKind 
!= PageKind::Notes)
+return false;
+
 std::unique_ptr xEntry(m_xTreeView->make_iterator());
 if (!m_xTreeView->get_iter_first(*xEntry))
 xEntry.reset();
@@ -262,7 +281,7 @@ bool SdPageObjsTLV::IsEqualToDoc( const SdDrawDocument* 
pInDoc )
 while( nPage < nMaxPages )
 {
 const SdPage* pPage = static_cast( m_pDoc->GetPage( 
nPage ) );
-if( pPage->GetPageKind() == PageKind::Standard )
+if (pPage->GetPageKind() == eDrawViewShellPageKind)
 {
 bool bRet = IsEqualToShapeList(xEntry, *pPage, pPage->GetName());
 if (!bRet)
@@ -1247,11 +1266,21 @@ void SdPageObjsTLV::Fill(const SdDrawDocument* pInDoc, 
bool bAllPages, const OUS
 sal_uInt16 nPage = 0;
 const sal_uInt16 nMaxPages = m_pDoc->GetPageCount();
 
+sd::DrawViewShell* pDrawViewShell = lcl_getDrawViewShell(m_pDoc);
+if (!pDrawViewShell)
+return;
+PageKind eDrawViewShellPageKind = pDrawViewShell->GetPageKind();
+
 while( nPage < nMaxPages )
 {
 const SdPage* pPage = static_cast( m_pDoc->GetPage( 
nPage ) );
-if(  (m_bShowAllPages || pPage->GetPageKind() == PageKind::Standard)
- && (pPage->GetPageKind() != PageKind::Handout)   ) //#94954# 
never list the normal handout page ( handout-masterpage is used instead )
+PageKind ePagePageKind = pPage->GetPageKind();
+if ((m_bShowAllPages ||
+ (ePagePageKind == PageKind::Standard &&
+  eDrawViewShellPageKind == PageKind::Standard) ||
+ (ePagePageKind == PageKind::Notes &&
+  eDrawViewShellPageKind == PageKind::Notes)) &&
+ePagePageKind != PageKind::Handout) //#94954# never list the 
normal handout page ( handout-masterpage is used instead )
 {
 bool bPageExcluded = pPage->IsExcluded();
 


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

2023-05-30 Thread Xisco Fauli (via logerrit)
 sc/qa/unit/uicalc/data/tdf152037.xlsx |binary
 sc/qa/unit/uicalc/uicalc.cxx  |   14 ++
 2 files changed, 14 insertions(+)

New commits:
commit 8b5f9debcdb861589c6c9b01858388603dec0d24
Author: Xisco Fauli 
AuthorDate: Tue May 30 16:09:39 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 19:25:48 2023 +0200

tdf#152037: sc_uicalc: Add unittest

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

diff --git a/sc/qa/unit/uicalc/data/tdf152037.xlsx 
b/sc/qa/unit/uicalc/data/tdf152037.xlsx
new file mode 100644
index ..b6d482e99b2c
Binary files /dev/null and b/sc/qa/unit/uicalc/data/tdf152037.xlsx differ
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index daccc08c2600..b6a0db8bcd74 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -683,6 +683,20 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124820)
  aFont.GetStrikeout());
 }
 
+CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf152037)
+{
+createScDoc("tdf152037.xlsx");
+
+insertStringToCell("C2", u"abcdefghi");
+
+ScDocument* pDoc = getScDoc();
+
+// Without the fix in place, this test would have failed with
+// - Expected: abcdefghi
+// - Actual  :
+CPPUNIT_ASSERT_EQUAL(OUString("abcdefghi"), pDoc->GetString(ScAddress(2, 
1, 0)));
+}
+
 CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf119155)
 {
 createScDoc("tdf119155.xlsx");


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

2023-05-30 Thread Michael Stahl (via logerrit)
 sw/source/uibase/docvw/edtwin.cxx |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 35a79eac56f8b93b62de555ea92c28304f2333d9
Author: Michael Stahl 
AuthorDate: Tue May 30 14:18:23 2023 +0200
Commit: Michael Stahl 
CommitDate: Tue May 30 18:27:30 2023 +0200

sw: fix infinite recursion in SwEditWin::GetSurroundingText()

This is basically the same as what was fixed by commit
581ba395222e04e43697484bef9181c877d1fd61 and i'm not sure why this
problem is now happening here.

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

diff --git a/sw/source/uibase/docvw/edtwin.cxx 
b/sw/source/uibase/docvw/edtwin.cxx
index 147ae7b1d427..648ea2334583 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -6647,6 +6647,9 @@ OUString SwEditWin::GetSurroundingText() const
 {
 bool bUnLockView = !rSh.IsViewLocked();
 rSh.LockView(true);
+
+// store shell state *before* Push
+::std::optional aLink(std::in_place, rSh);
 rSh.Push();
 
 // disable accessible events for internal-only helper cursor
@@ -6660,7 +6663,7 @@ OUString SwEditWin::GetSurroundingText() const
 rSh.GoEndSentence();
 rSh.GetSelectedText( sReturn, ParaBreakType::ToOnlyCR  );
 
-rSh.Pop(SwCursorShell::PopMode::DeleteCurrent);
+rSh.Pop(SwCursorShell::PopMode::DeleteCurrent, aLink);
 rSh.SetSendAccessibleCursorEvents(bSendAccessibleEventOld);
 rSh.HideCursor();
 


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

2023-05-30 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/uiwriter/data/pageBreakWithPageStyle.fodt |   17 
 sw/qa/extras/uiwriter/uiwriter8.cxx|   32 +
 sw/source/core/doc/docfmt.cxx  |   60 +
 3 files changed, 82 insertions(+), 27 deletions(-)

New commits:
commit 05bc773b0e88b408a997ffa5851cc9207d3303e5
Author: Mike Kaganski 
AuthorDate: Tue May 30 16:10:03 2023 +0300
Commit: Mike Kaganski 
CommitDate: Tue May 30 18:05:08 2023 +0200

tdf#73483: make sure to not reset style names

The problem was, that resetting direct formatting also used to reset
RES_FRMATR_STYLE_NAME and RES_FRMATR_CONDITIONAL_STYLE_NAME. These
are important at autostyles export: in XMLTextParagraphExport::Add,
SwXAutoStyle is queried for ParaStyleName/ParaConditionalStyleName
properties, and empty values of these were used to add the autostyle
to pool. Looking for the autostyle while exporting the paragraph,
SwXParagraph reports the correct "Standard" as the style name, but
no matching children were found for the "Standard" parent style, and
so the paragraph got "Standard" style name, instead of the autostyle.

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

diff --git a/sw/qa/extras/uiwriter/data/pageBreakWithPageStyle.fodt 
b/sw/qa/extras/uiwriter/data/pageBreakWithPageStyle.fodt
new file mode 100644
index ..6cd520c7f674
--- /dev/null
+++ b/sw/qa/extras/uiwriter/data/pageBreakWithPageStyle.fodt
@@ -0,0 +1,17 @@
+
+
+
+ 
+  
+ 
+ 
+  
+  
+  
+ 
+ 
+  
+   
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/uiwriter/uiwriter8.cxx 
b/sw/qa/extras/uiwriter/uiwriter8.cxx
index 81a6d9e25fc2..610bdf9c8bf7 100644
--- a/sw/qa/extras/uiwriter/uiwriter8.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter8.cxx
@@ -2593,6 +2593,38 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, 
testCursorPositionAfterUndo)
 
CPPUNIT_ASSERT(!pWrtShell->GetViewOptions()->IsShowOutlineContentVisibilityButton());
 }
 
+CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf73483)
+{
+// Given a document with a first paragraph having a manually set page 
break with page style
+createSwDoc("pageBreakWithPageStyle.fodt");
+SwDoc* pDoc = getSwDoc();
+SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+
+CPPUNIT_ASSERT_EQUAL(OUString("Right Page"), pWrtShell->GetCurPageStyle());
+
+dispatchCommand(mxComponent, ".uno:ResetAttributes", {}); // Ctrl+M "Clear 
Direct Formatting"
+// Make sure that clearing direct formatting doesn't clear the page style
+CPPUNIT_ASSERT_EQUAL(OUString("Right Page"), pWrtShell->GetCurPageStyle());
+
+// Make sure that the page break with page style survives ODF 
save-and-reload
+reload("writer8", "pageBreakWithPageStyle.odt");
+
+xmlDocUniquePtr pXml = parseExport("content.xml");
+CPPUNIT_ASSERT(pXml);
+OUString para_style_name
+= getXPath(pXml, 
"/office:document-content/office:body/office:text/text:p", "style-name");
+// Without the fix in place, this would fail
+CPPUNIT_ASSERT(!para_style_name.equalsIgnoreAsciiCase("Standard"));
+
+OString para_style_path
+= 
"/office:document-content/office:automatic-styles/style:style[@style:name='"
+  + para_style_name.toUtf8() + "']";
+assertXPath(pXml, para_style_path, "family", "paragraph");
+// Without the fix in place, the autostyle had no parent
+assertXPath(pXml, para_style_path, "parent-style-name", "Standard");
+assertXPath(pXml, para_style_path, "master-page-name", "Right_20_Page");
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index bc5994a58d37..8ed9c4c9d249 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -116,7 +116,8 @@ static bool lcl_RstAttr( SwNode* pNd, void* pArgs )
 SfxItemSetFixed<
 RES_PARATR_NUMRULE, RES_PARATR_NUMRULE,
 RES_PARATR_LIST_BEGIN, RES_PARATR_LIST_END - 1,
-RES_PAGEDESC, RES_BREAK>  aSavedAttrsSet(rDoc.GetAttrPool());
+RES_PAGEDESC, RES_BREAK,
+RES_FRMATR_STYLE_NAME, RES_FRMATR_CONDITIONAL_STYLE_NAME> 
aSavedAttrsSet(rDoc.GetAttrPool());
 const SfxItemSet* pAttrSetOfNode = pNode->GetpSwAttrSet();
 
 std::vector aClearWhichIds;
@@ -137,32 +138,35 @@ static bool lcl_RstAttr( SwNode* pNd, void* pArgs )
 }
 }
 
-const SfxPoolItem* pItem;
-
-sal_uInt16 const aSavIds[3] = { RES_PAGEDESC, RES_BREAK, 
RES_PARATR_NUMRULE };
-for (sal_uInt16 aSavId : aSavIds)
+if (auto pItem = pAttrSetOfNode->GetItemIfSet(RES_PARATR_NUMRULE, 
false);
+pItem && !pItem->GetValue().isEmpty())
 {
-if (SfxItemState::SET == pAttrSetOfNode->GetItem

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

2023-05-30 Thread Michael Stahl (via logerrit)
 sw/source/uibase/uiview/viewmdi.cxx |   13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

New commits:
commit 4c29c7107ed45b777a63c4060340e03f54375391
Author: Michael Stahl 
AuthorDate: Tue May 30 14:49:22 2023 +0200
Commit: Michael Stahl 
CommitDate: Tue May 30 17:45:55 2023 +0200

sw: SwView::SetZoom_() shouldn't subtract page margins

In the PAGEWIDTH mode, this has the annoying habit of changing the zoom
factor when moving the cursor between a page with a mirrored page style
and a page with a non-mirrored page style.

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

diff --git a/sw/source/uibase/uiview/viewmdi.cxx 
b/sw/source/uibase/uiview/viewmdi.cxx
index b00cb475ea34..f07c25e2dfc1 100644
--- a/sw/source/uibase/uiview/viewmdi.cxx
+++ b/sw/source/uibase/uiview/viewmdi.cxx
@@ -121,14 +121,15 @@ void SwView::SetZoom_( const Size &rEditSize, SvxZoomType 
eZoomType,
 const MapMode aTmpMap( MapUnit::MapTwip );
 const Size aWindowSize( GetEditWin().PixelToLogic( rEditSize, aTmpMap 
) );
 
-if( UseOnPage::Mirror == rDesc.GetUseOn() )// mirrored pages
-{
-const SvxLRSpaceItem &rLeftLRSpace = rDesc.GetLeft().GetLRSpace();
-aPageSize.AdjustWidth(std::abs( rLeftLRSpace.GetLeft() - 
rLRSpace.GetLeft() ) );
-}
-
 if( SvxZoomType::OPTIMAL == eZoomType )
 {
+// unclear if this is useful for OPTIMAL, or completely useless?
+if( UseOnPage::Mirror == rDesc.GetUseOn() )// mirrored pages
+{
+const SvxLRSpaceItem &rLeftLRSpace = 
rDesc.GetLeft().GetLRSpace();
+aPageSize.AdjustWidth(std::abs( rLeftLRSpace.GetLeft() - 
rLRSpace.GetLeft() ) );
+}
+
 if (!pPostItMgr->HasNotes() || !pPostItMgr->ShowNotes())
 aPageSize.AdjustWidth( -( rLRSpace.GetLeft() + 
rLRSpace.GetRight() + nLeftOfst * 2 ) );
 lLeftMargin = rLRSpace.GetLeft() + DOCUMENTBORDER + nLeftOfst;


Re: Welcome Khaled Hosny, new Developer at TDF

2023-05-30 Thread Eike Rathke
Hi,

On Tuesday, 2023-05-30 09:36:40 +0200, Mike Saunders wrote:

> Khaled Hosny has joined the team at The Document Foundation as a Developer
> focusing initially on RTL/CTL improvements:

Great news indeed, welcome, Khaled!

  Eike

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


signature.asc
Description: PGP signature


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

2023-05-30 Thread Caolán McNamara (via logerrit)
 sw/source/core/crsr/crsrsh.cxx |   18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

New commits:
commit 643c6b9a96020d5498d981c7ab081226415ab016
Author: Caolán McNamara 
AuthorDate: Fri May 26 10:31:16 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue May 30 17:09:02 2023 +0200

tdf#155507 don't redraw numbering when cursor enters it, if...

"field shadings" are turned off and so the new output would be the same
as it already is. Which removes a potential source of whole document
invalidations in a multi-user collaborative scenario where participants
may be casually clicking around the place with an expectation that it
has limited effect on the other participants

Change-Id: I2fb51ba3358bfc920aa2bff3593a0dd46f287100
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152229
Reviewed-by: Michael Meeks 
Tested-by: Caolán McNamara 

diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 03cecdbbd8bf..15c0dc1a6409 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -391,12 +391,18 @@ void SwCursorShell::MarkListLevel( const OUString& 
sListId,
 if (sListId == m_sMarkedListId && nListLevel == m_nMarkedListLevel)
 return;
 
-if ( !m_sMarkedListId.isEmpty() )
-mxDoc->MarkListLevel( m_sMarkedListId, m_nMarkedListLevel, false );
-
-if ( !sListId.isEmpty() )
-{
-mxDoc->MarkListLevel( sListId, nListLevel, true );
+// Writer redraws the "marked" list with the field shading, if there
+// is no field shading then the marked list would be redrawn for no
+// visually identifiable reason, so skip the mark if field shadings
+// are disabled.
+const bool bVisuallyMarked(GetViewOptions()->IsFieldShadings());
+if (bVisuallyMarked)
+{
+if ( !m_sMarkedListId.isEmpty() )
+mxDoc->MarkListLevel( m_sMarkedListId, m_nMarkedListLevel, false );
+
+if ( !sListId.isEmpty() )
+mxDoc->MarkListLevel( sListId, nListLevel, true );
 }
 
 m_sMarkedListId = sListId;


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5-4' - officecfg/registry

2023-05-30 Thread Julien Nabet (via logerrit)
 officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu|
8 +
 officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu |
8 +
 officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu |   
14 --
 officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu  |   
14 ++
 4 files changed, 30 insertions(+), 14 deletions(-)

New commits:
commit eb5491238913b39313133622614e76d760232f75
Author: Julien Nabet 
AuthorDate: Tue May 23 19:27:01 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 16:52:30 2023 +0200

Revert "Related tdf#114286: put duplicates commands in GenericCommands..."

This reverts commit 52a695d2ceb4231a9fcc419959e29023ecef037b.

Reason: cause of tdf#155442
Accelerator to delete row(s) conflicts with the one for adding row(s)

Change-Id: If19d67a080e85d2a2716e4004db3335f0619c73f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152169
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 
(cherry picked from commit 791bc23d88dacf5e7d2ebcb6781a4c43187cbc0b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152106
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit 042d7662e35e17d3d6574c369efedd19a57ee0ab)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152108
Reviewed-by: Eike Rathke 
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Xisco Fauli 

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
index d79914600953..ccf99067b033 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
@@ -1167,6 +1167,14 @@
   Data ~Validation...
 
   
+  
+
+  Delete Rows
+
+
+  1
+
+  
   
 
   Insert
diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
index 8f8dba845c1a..256a4f90f860 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
@@ -2018,6 +2018,14 @@
   1
 
   
+  
+
+  Delete Row
+
+
+  1
+
+  
   
 
   Delete Table
diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index c355eb776ad3..f1ce0d323c10 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -7074,20 +7074,6 @@ bit 3 (0x8): #define 
UICOMMANDDESCRIPTION_PROPERTIES_TOGGLEBUTTON 8
   1
 
   
-  
-
-  Delete Rows
-
-
-  Delete ~Rows
-
-
-  Delete selected rows
-
-
-  1
-
-  
   
 
   Manage Language
diff --git 
a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu 
b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
index 2236ab475ffc..ec2125c35d90 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
@@ -1730,6 +1730,20 @@
   1
 
   
+  
+
+  Delete Rows
+
+
+  ~Rows
+
+
+  Delete selected rows
+
+
+  1
+
+  
   
 
   Delete Table


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5-4' - 2 commits - desktop/source sc/source

2023-05-30 Thread Xisco Fauli (via logerrit)
 desktop/source/deployment/gui/dp_gui_theextmgr.cxx |6 -
 sc/source/ui/vba/vbaapplication.cxx|   13 ++
 sc/source/ui/vba/vbapagesetup.cxx  |7 +
 sc/source/ui/vba/vbaworkbook.cxx   |   26 +++--
 sc/source/ui/vba/vbaworksheet.cxx  |  102 +++--
 5 files changed, 89 insertions(+), 65 deletions(-)

New commits:
commit 2e86a482da67bd6ad5791f6fd82be13b75dc04bd
Author: Xisco Fauli 
AuthorDate: Thu May 18 13:31:14 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 16:52:15 2023 +0200

sc: check excel::getDocShell

There seems to be some crashes related. See

https://crashreport.libreoffice.org/stats/signature/ScDocShell::GetDocument()
or

https://crashreport.libreoffice.org/stats/signature/ScDocShell::RegisterAutomationWorkbookObject(com::sun::star::uno::Reference%3Cooo::vba::excel::XWorkbook%3E%20const%20&)

Change-Id: I9affce5a28cb1198eb472d369debf83fd7dd8c0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151924
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 
(cherry picked from commit c0e96f302c04597bc49d55e262b069f1eb170e45)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151925
Reviewed-by: Michael Stahl 
Reviewed-by: Eike Rathke 
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Xisco Fauli 
Reviewed-by: Xisco Fauli 

diff --git a/sc/source/ui/vba/vbaapplication.cxx 
b/sc/source/ui/vba/vbaapplication.cxx
index 98c7cf7708a5..6676b4bb5eaa 100644
--- a/sc/source/ui/vba/vbaapplication.cxx
+++ b/sc/source/ui/vba/vbaapplication.cxx
@@ -1203,7 +1203,8 @@ uno::Reference< excel::XRange > lclCreateVbaRange(
 const ListOfScRange& rList )
 {
 ScDocShell* pDocShell = excel::getDocShell( rxModel );
-if( !pDocShell ) throw uno::RuntimeException();
+if( !pDocShell )
+throw uno::RuntimeException();
 
 ScRangeList aCellRanges;
 for( const auto& rItem : rList )
@@ -1345,8 +1346,11 @@ ScVbaApplication::Volatile( const uno::Any& aVolatile )
 if ( pMeth )
 {
 uno::Reference< frame::XModel > xModel( getCurrentDocument() );
-ScDocument& rDoc = excel::getDocShell( xModel )->GetDocument();
-rDoc.GetMacroManager()->SetUserFuncVolatile( pMeth->GetName(), 
bVolatile);
+if ( ScDocShell* pShell = excel::getDocShell( xModel ))
+{
+ScDocument& rDoc = pShell->GetDocument();
+rDoc.GetMacroManager()->SetUserFuncVolatile( pMeth->GetName(), 
bVolatile);
+}
 }
 
 // this is bound to break when loading the document
@@ -1446,7 +1450,10 @@ void SAL_CALL 
ScVbaApplication::setScreenUpdating(sal_Bool bUpdate)
 VbaApplicationBase::setScreenUpdating( bUpdate );
 
 uno::Reference< frame::XModel > xModel( getCurrentExcelDoc( mxContext ), 
uno::UNO_SET_THROW );
+
 ScDocShell* pDocShell = excel::getDocShell( xModel );
+if (!pDocShell)
+return;
 ScDocument& rDoc = pDocShell->GetDocument();
 
 if( bUpdate )
diff --git a/sc/source/ui/vba/vbapagesetup.cxx 
b/sc/source/ui/vba/vbapagesetup.cxx
index f487b74e0c7b..f945802e1082 100644
--- a/sc/source/ui/vba/vbapagesetup.cxx
+++ b/sc/source/ui/vba/vbapagesetup.cxx
@@ -77,8 +77,11 @@ OUString SAL_CALL ScVbaPageSetup::getPrintArea()
 ScUnoConversion::FillScRange( aRange, rRange );
 aRangeList.push_back( aRange );
 }
-ScDocument& rDoc = excel::getDocShell( mxModel )->GetDocument();
-aRangeList.Format( aPrintArea, ScRefFlags::RANGE_ABS, rDoc, 
formula::FormulaGrammar::CONV_XL_A1, ','  );
+if ( ScDocShell* pShell = excel::getDocShell( mxModel ))
+{
+ScDocument& rDoc = pShell->GetDocument();
+aRangeList.Format( aPrintArea, ScRefFlags::RANGE_ABS, rDoc, 
formula::FormulaGrammar::CONV_XL_A1, ','  );
+}
 }
 
 return aPrintArea;
diff --git a/sc/source/ui/vba/vbaworkbook.cxx b/sc/source/ui/vba/vbaworkbook.cxx
index 23cc523a1aa8..0604d9686b61 100644
--- a/sc/source/ui/vba/vbaworkbook.cxx
+++ b/sc/source/ui/vba/vbaworkbook.cxx
@@ -184,9 +184,8 @@ ScVbaWorkbook::init()
 {
 if ( !ColorData.hasElements() )
 ResetColors();
-uno::Reference< frame::XModel > xModel = getModel();
-if ( xModel.is() )
-excel::getDocShell( xModel )->RegisterAutomationWorkbookObject( this );
+if ( ScDocShell* pShell = excel::getDocShell( getModel() ))
+pShell->RegisterAutomationWorkbookObject( this );
 }
 
 ScVbaWorkbook::ScVbaWorkbook(   const css::uno::Reference< 
ov::XHelperInterface >& xParent, const css::uno::Reference< 
css::uno::XComponentContext >& xContext, css::uno::Reference< 
css::frame::XModel > const & xModel ) : ScVbaWorkbook_BASE( xParent, xContext, 
xModel )
@@ -264,18 +263,23 @@ ScVbaWorkbook::getProtectStructure()
 
 sal_Bool SAL_CALL ScVbaWorkbook::getPrecisionAsDisplayed()
 {
-uno::Reference< frame::XModel > xModel( getModel(), uno::UNO_SET_THROW );
-ScDocu

[Libreoffice-commits] core.git: Branch 'libreoffice-7-5-4' - vcl/source

2023-05-30 Thread Miklos Vajna (via logerrit)
 vcl/source/window/window.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 0fbd1856e8a2ac36b152c6b5fc80038f86931359
Author: Miklos Vajna 
AuthorDate: Mon May 15 13:33:11 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 16:51:18 2023 +0200

vcl: fix crash in Window::GetOutDev()

Crashreport signature:

program/libmergedlo.so
rtl::Reference::get() const
include/rtl/ref.hxx:208
program/libmergedlo.so
vcl::Window::GetOutDev()
vcl/source/window/window.cxx:574
program/libswlo.so
SwViewShell::ImplEndAction(bool)
sw/source/core/view/viewsh.cxx:294
program/libswlo.so
SwViewShell::EndAction(bool)
sw/inc/viewsh.hxx:611

i.e. GetOutDev() is called on a disposed vcl::Window.

Change-Id: I5b17225fced85c6804fc93fd12021c92966d3aa7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151857
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins
(cherry picked from commit 7952477debb9b7f10ec1e10bd6aac66a2e739b94)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151913
Reviewed-by: Xisco Fauli 
(cherry picked from commit 88a96a67a16c8a951f28c6244d84a067b52ee0fa)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151914
Reviewed-by: Michael Stahl 
Reviewed-by: Eike Rathke 
Tested-by: Xisco Fauli 

diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 5cfc50d717c0..9ac6614b3a97 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -571,7 +571,7 @@ Window::~Window()
 
 ::OutputDevice* Window::GetOutDev()
 {
-return mpWindowImpl->mxOutDev.get();
+return mpWindowImpl ? mpWindowImpl->mxOutDev.get() : nullptr;
 }
 
 Color WindowOutputDevice::GetBackgroundColor() const


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

2023-05-30 Thread Noel Grandin (via logerrit)
 sw/source/ui/dbui/mmresultdialogs.cxx |6 ++
 1 file changed, 6 insertions(+)

New commits:
commit 989705cd147fc1a937546da687f164d068fb794e
Author: Noel Grandin 
AuthorDate: Thu May 18 15:24:56 2023 +0200
Commit: Xisco Fauli 
CommitDate: Tue May 30 16:50:43 2023 +0200

prevent crash in mail merge

seen reports in crashreporter

Change-Id: I10ecac363eea0292f9dc257769da6d060dc350f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151962
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
(cherry picked from commit 9efbcce8b3f6f40a2687b9e4892527b6974227b7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151920
Reviewed-by: Xisco Fauli 
(cherry picked from commit 94861ae06bf861218080d21fac8ed3835d8809dd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151928
Reviewed-by: Michael Stahl 
Reviewed-by: Ilmari Lauhakangas 
Tested-by: Xisco Fauli 

diff --git a/sw/source/ui/dbui/mmresultdialogs.cxx 
b/sw/source/ui/dbui/mmresultdialogs.cxx
index 8d733118bbb4..b3404a30231a 100644
--- a/sw/source/ui/dbui/mmresultdialogs.cxx
+++ b/sw/source/ui/dbui/mmresultdialogs.cxx
@@ -893,6 +893,12 @@ IMPL_LINK(SwMMResultEmailDialog, SendTypeHdl_Impl, 
weld::ComboBox&, rBox, void)
 
 IMPL_LINK_NOARG(SwMMResultEmailDialog, SendAsHdl_Impl, weld::Button&, void)
 {
+// work around crash when calling constructor with no active view
+if (!GetActiveView())
+{
+SAL_WARN("sw", "ignoring SendAs button click, because no active view");
+return;
+}
 SwMailBodyDialog aDlg(m_xDialog.get());
 aDlg.SetBody(m_sBody);
 if (RET_OK == aDlg.run())


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - svtools/source

2023-05-30 Thread Khaled Hosny (via logerrit)
 svtools/source/misc/sampletext.cxx |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

New commits:
commit 547bfbdbdaaa3b44f76952275bf87453f7c8293a
Author: Khaled Hosny 
AuthorDate: Sun May 28 13:06:42 2023 +0300
Commit: Xisco Fauli 
CommitDate: Tue May 30 16:03:18 2023 +0200

tdf#154547: Improve Hebrew font preview sample text

The Hebrew font preview sample text include Nikkud (vowel marks) which
are optional for modern Hebrew and not all Hebrew fonts have them, and
for fonts lacking them we use a much shorter preview text.

The inclusion of Nikkud is unnecessary and we don’t include vowel marks
in many other scripts (e.g. Arabic where they are more used).

This patch drop the Nikkud marks and leaves the sample text otherwise
unchanged.

Change-Id: Ie4e5abcd74599d25db41c4cdf7e1d3bf997a998c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152350
Tested-by: Jenkins
Reviewed-by: خالد حسني 
(cherry picked from commit da09513ae6221f46ee453943b3669d1d922a4aa3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152319
Reviewed-by: Xisco Fauli 

diff --git a/svtools/source/misc/sampletext.cxx 
b/svtools/source/misc/sampletext.cxx
index abcfde92b7a1..9000f6f73d6c 100644
--- a/svtools/source/misc/sampletext.cxx
+++ b/svtools/source/misc/sampletext.cxx
@@ -232,9 +232,8 @@ OUString makeShortRepresentativeTextForScript(UScriptCode 
eScript)
 case USCRIPT_HEBREW:
 {
 static constexpr OUStringLiteral aHebr =
-u"\u05D0\u05B8\u05DC\u05B6\u05E3\u05BE\u05D1\u05B5"
-"\u05BC\u05D9\u05EA \u05E2\u05B4\u05D1\u05B0"
-"\u05E8\u05B4\u05D9";
+u"\u05D0\u05DC\u05E3\u05BE\u05D1\u05D9\u05EA "
+"\u05E2\u05D1\u05E8\u05D9";
 sSampleText = aHebr;
 break;
 }


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

2023-05-30 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/htmlexport/data/listsWithNumFormat.fodt |   74 +++
 sw/qa/extras/htmlexport/htmlexport.cxx   |   17 
 sw/source/filter/html/htmlnumwriter.cxx  |5 +
 3 files changed, 95 insertions(+), 1 deletion(-)

New commits:
commit 58db45b03dbde974cc1898df76fd145e440f5cd8
Author: Mike Kaganski 
AuthorDate: Mon May 29 14:47:20 2023 +0300
Commit: Xisco Fauli 
CommitDate: Tue May 30 16:02:56 2023 +0200

ReqIF: 'ol' elements must have no 'type' attribute

Change-Id: I62098bac9dc3751f7b939cbf94f1561b4539a294
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152368
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
(cherry picked from commit 949d1ee783f58504fdf7cb6b6a164384ae82533f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152387
Reviewed-by: Xisco Fauli 

diff --git a/sw/qa/extras/htmlexport/data/listsWithNumFormat.fodt 
b/sw/qa/extras/htmlexport/data/listsWithNumFormat.fodt
new file mode 100644
index ..c9a8225662a9
--- /dev/null
+++ b/sw/qa/extras/htmlexport/data/listsWithNumFormat.fodt
@@ -0,0 +1,74 @@
+
+
+
+ 
+  
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+  
+ 
+ 
+  
+   List A
+   
+
+ First
+
+
+ Second
+
+
+ Third
+
+   
+   
+   List a
+   
+
+ First
+
+
+ Second
+
+
+ Third
+
+   
+   
+   List I
+   
+
+ First
+
+
+ Second
+
+
+ Third
+
+   
+   
+   List i
+   
+
+ First
+
+
+ Second
+
+
+ Third
+
+   
+   
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index 0ba830337da6..132969717157 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -2541,6 +2541,23 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, 
testReqIF_RightAlignedTable)
 assertXPathNoAttribute(pDoc, 
"/reqif-xhtml:html/reqif-xhtml:div/reqif-xhtml:div", "align");
 }
 
+CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqIF_ListsWithNumFormat)
+{
+createSwDoc("listsWithNumFormat.fodt");
+ExportToReqif();
+
+SvMemoryStream aStream;
+WrapReqifFromTempFile(aStream);
+xmlDocUniquePtr pDoc = parseXmlStream(&aStream);
+CPPUNIT_ASSERT(pDoc);
+
+// No 'type' attribute must be present in 'ol'
+assertXPathNoAttribute(pDoc, 
"/reqif-xhtml:html/reqif-xhtml:div/reqif-xhtml:ol[1]", "type");
+assertXPathNoAttribute(pDoc, 
"/reqif-xhtml:html/reqif-xhtml:div/reqif-xhtml:ol[2]", "type");
+assertXPathNoAttribute(pDoc, 
"/reqif-xhtml:html/reqif-xhtml:div/reqif-xhtml:ol[3]", "type");
+assertXPathNoAttribute(pDoc, 
"/reqif-xhtml:html/reqif-xhtml:div/reqif-xhtml:ol[4]", "type");
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/html/htmlnumwriter.cxx 
b/sw/source/filter/html/htmlnumwriter.cxx
index a3bc30891f76..8045fb5b1c02 100644
--- a/sw/source/filter/html/htmlnumwriter.cxx
+++ b/sw/source/filter/html/htmlnumwriter.cxx
@@ -224,8 +224,10 @@ Writer& OutHTML_NumberBulletListStart( SwHTMLWriter& rWrt,
 
 // determine the type by the format
 char cType = 0;
-switch( eType )
+if (!rWrt.mbReqIF) // No 'type' attribute in ReqIF
 {
+switch (eType)
+{
 case SVX_NUM_CHARS_UPPER_LETTER:
 case SVX_NUM_CHARS_UPPER_LETTER_N:
 cType = 'A';
@@ -240,6 +242,7 @@ Writer& OutHTML_NumberBulletListStart( SwHTMLWriter& rWrt,
 case SVX_NUM_ROMAN_LOWER:
 cType = 'i';
 break;
+}
 }
 if( cType )
 {


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

2023-05-30 Thread Mike Kaganski (via logerrit)
 xmloff/source/text/txtparae.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit d2c02a9aba3c05e4b3072596d2b3871b7fe67864
Author: Mike Kaganski 
AuthorDate: Tue May 30 13:25:24 2023 +0200
Commit: Mike Kaganski 
CommitDate: Tue May 30 15:58:49 2023 +0200

Fix wrong check

It was introduced in commit 286ba5b6ca60c7f67106059ea56721b86c36925b
(#79947#: Improve performance, 2001-11-01), and there the size of
xPropStates did not change when incrementing nIgnoreProps. But later
commit 8195d7061ed52ebb98f46d35fe5929762c71e4b3 (INTEGRATION: CWS
swautomatic01 (1.126.4); FILE MERGED, 2006-12-01) started to remove
the ignored items from xPropStates.

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

diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index e5344665b5e6..2b3af03b93dd 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -691,7 +691,6 @@ void XMLTextParagraphExport::Add( XmlStyleFamily nFamily,
 
 Reference< XPropertySetInfo > xPropSetInfo(rPropSet->getPropertySetInfo());
 OUString sParent, sCondParent;
-sal_uInt16 nIgnoreProps = 0;
 switch( nFamily )
 {
 case XmlStyleFamily::TEXT_PARAGRAPH:
@@ -744,6 +743,7 @@ void XMLTextParagraphExport::Add( XmlStyleFamily nFamily,
 {
 // Get parent and remove hyperlinks (they aren't of interest)
 rtl::Reference< XMLPropertySetMapper > 
xPM(xPropMapper->getPropertySetMapper());
+sal_uInt16 nIgnoreProps = 0;
 for( ::std::vector< XMLPropertyState >::iterator 
i(aPropStates.begin());
   nIgnoreProps < 2 && i != aPropStates.end(); )
 {
@@ -780,7 +780,7 @@ void XMLTextParagraphExport::Add( XmlStyleFamily nFamily,
 break;
 default: break;
 }
-if (aPropStates.size() - nIgnoreProps)
+if (aPropStates.size()) // could change after the previous check
 {
 GetAutoStylePool().Add( nFamily, sParent, std::vector(aPropStates), 
bDontSeek );
 if( !sCondParent.isEmpty() && sParent != sCondParent )


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

2023-05-30 Thread Marco Cecchetti (via logerrit)
 desktop/source/lib/init.cxx |1 
 sfx2/source/view/viewsh.cxx |  556 +---
 2 files changed, 371 insertions(+), 186 deletions(-)

New commits:
commit cd726ba43c22e723b243dd6dfd5e3c253e81000b
Author: Marco Cecchetti 
AuthorDate: Mon May 22 16:32:50 2023 +0200
Commit: Marco Cecchetti 
CommitDate: Tue May 30 15:53:34 2023 +0200

lok: a11y: paragraph notifyied on text change, even coming from another view

Debug code has been re-organized.
Paragraph content is notifyied on any text change.
That fixed issues related to fast typing.
Paragraph content is also notified on text changed performed in
another view.
A paragraph is regarded as focused whenever the cursor position is
valid.

Change-Id: I33a187ced368b74824e55265be921804a492349c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152363
Reviewed-by: Michael Meeks 
Tested-by: Marco Cecchetti 

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 1472bbeb6747..560d6bf990b1 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -6987,7 +6987,6 @@ static void doc_setViewTimezone(SAL_UNUSED_PARAMETER 
LibreOfficeKitDocument* /*p
 static void doc_setAccessibilityState(SAL_UNUSED_PARAMETER 
LibreOfficeKitDocument* pThis, int nId, bool nEnabled)
 {
 SolarMutexGuard aGuard;
-SetLastExceptionMsg();
 
 int nDocType = getDocumentType(pThis);
 if (nDocType != LOK_DOCTYPE_TEXT)
diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx
index b19da3d1ee23..061a8efc09da 100644
--- a/sfx2/source/view/viewsh.cxx
+++ b/sfx2/source/view/viewsh.cxx
@@ -54,6 +54,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -235,6 +236,247 @@ void SAL_CALL 
SfxClipboardChangeListener::changedContents( const datatransfer::c
 delete pInfo;
 }
 
+namespace
+{
+
+bool hasState(const accessibility::AccessibleEventObject& aEvent, ::sal_Int64 
nState)
+{
+bool res = false;
+uno::Reference< accessibility::XAccessibleContext > 
xContext(aEvent.Source, uno::UNO_QUERY);
+if (xContext.is())
+{
+::sal_Int64 nStateSet = xContext->getAccessibleStateSet();
+res = (nStateSet & nState) != 0;
+}
+return res;
+}
+
+bool isFocused(const accessibility::AccessibleEventObject& aEvent)
+{
+return hasState(aEvent, accessibility::AccessibleStateType::FOCUSED);
+}
+
+std::string stateSetToString(::sal_Int64 stateSet)
+{
+static const std::string states[34] = {
+"ACTIVE", "ARMED", "BUSY", "CHECKED", "DEFUNC",
+"EDITABLE", "ENABLED", "EXPANDABLE", "EXPANDED", "FOCUSABLE",
+"FOCUSED", "HORIZONTAL", "ICONIFIED", "INDETERMINATE", 
"MANAGES_DESCENDANTS",
+"MODAL", "MULTI_LINE", "MULTI_SELECTABLE", "OPAQUE", "PRESSED",
+"RESIZABLE", "SELECTABLE", "SELECTED", "SENSITIVE", "SHOWING",
+"SINGLE_LINE", "STALE", "TRANSIENT", "VERTICAL", "VISIBLE",
+"MOVEABLE", "DEFAULT", "OFFSCREEN", "COLLAPSE"
+};
+
+if (stateSet == 0)
+return "INVALID";
+::sal_Int64 state = 1;
+std::string s;
+for (int i = 0; i < 34; ++i)
+{
+if (stateSet & state)
+{
+s += states[i];
+s += "|";
+}
+state <<= 1;
+}
+return s;
+}
+
+void aboutView(std::string msg,  const void* pInstance, const SfxViewShell* 
pViewShell)
+{
+if (!pViewShell)
+return;
+
+SAL_INFO("lok.a11y", ">>> " << msg << ": instance: " << pInstance
+<< ", VIED ID: " <<  pViewShell->GetViewShellId().get() << " <<<");
+}
+
+void aboutEvent(std::string msg, const accessibility::AccessibleEventObject& 
aEvent)
+{
+try
+{
+uno::Reference< accessibility::XAccessible > xSource(aEvent.Source, 
uno::UNO_QUERY);
+if (xSource.is())
+{
+uno::Reference< accessibility::XAccessibleContext > xContext =
+xSource->getAccessibleContext();
+
+if (xContext.is())
+{
+SAL_INFO("lok.a11y", msg << ": event id: " << aEvent.EventId
+<< "\n  xSource: " << xSource.get()
+<< "\n  role: " << xContext->getAccessibleRole()
+<< "\n  name: " << xContext->getAccessibleName()
+<< "\n  index in parent: " << 
xContext->getAccessibleIndexInParent()
+<< "\n  state set: " << 
stateSetToString(xContext->getAccessibleStateSet())
+<< "\n  parent: " << 
xContext->getAccessibleParent().get()
+<< "\n  child count: " << 
xContext->getAccessibleChildCount());
+}
+}
+uno::Reference< accessibility::XAccessible > xOldValue;
+aEvent.OldValue >>= xOldValue;
+if (xOldValue.is())
+{
+uno::Reference< accessibility::XAccessibleContext > xContext =
+  

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

2023-05-30 Thread Caolán McNamara (via logerrit)
 vcl/source/gdi/impglyphitem.cxx |4 
 1 file changed, 4 deletions(-)

New commits:
commit d669df25d2ac950da85e9d60074d059f9ef1459a
Author: Caolán McNamara 
AuthorDate: Tue May 30 09:54:17 2023 +0100
Commit: Caolán McNamara 
CommitDate: Tue May 30 15:53:09 2023 +0200

Related: tdf#155542 drop workaround for "XB Roya" issue

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

diff --git a/vcl/source/gdi/impglyphitem.cxx b/vcl/source/gdi/impglyphitem.cxx
index 315bdf4f58bb..0607c790886a 100644
--- a/vcl/source/gdi/impglyphitem.cxx
+++ b/vcl/source/gdi/impglyphitem.cxx
@@ -329,10 +329,6 @@ SalLayoutGlyphsCache::GetLayoutGlyphs(VclPtr outputDevice, c
 if (nLen == 0)
 return nullptr;
 const CachedGlyphsKey key(outputDevice, text, nIndex, nLen, nLogicWidth);
-// for now disable if the font is the one seen in tdf#119074
-// https://github.com/harfbuzz/harfbuzz/issues/3824
-if (key.fontMetric.GetFamilyName() == "XB Roya")
-return nullptr;
 GlyphsCache::const_iterator it = mCachedGlyphs.find(key);
 if (it != mCachedGlyphs.end())
 {


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

2023-05-30 Thread Dr. David Alan Gilbert (via logerrit)
 sc/source/core/data/conditio.cxx |2 ++
 sw/source/core/unocore/unofield.cxx  |6 +++---
 sw/source/ui/dbui/mmaddressblockpage.cxx |8 
 sw/source/ui/fldui/flddinf.cxx   |4 ++--
 sw/source/ui/fldui/fldref.cxx|6 +++---
 sw/source/ui/misc/outline.cxx|4 ++--
 sw/source/uibase/dbui/mmconfigitem.cxx   |4 ++--
 sw/source/uibase/sidebar/PageFormatPanel.cxx |   12 ++--
 sw/source/uibase/utlui/initui.cxx|4 ++--
 sw/source/uibase/utlui/unotools.cxx  |   17 -
 10 files changed, 30 insertions(+), 37 deletions(-)

New commits:
commit 4998370216bbea3bcaff7fac2d62cbb4ac978c5d
Author: Dr. David Alan Gilbert 
AuthorDate: Thu May 25 02:44:21 2023 +0100
Commit: Mike Kaganski 
CommitDate: Tue May 30 15:37:47 2023 +0200

tdf#145538,tdf#147021: sw/source: range based loops

A bunch of range based loop changes in sw/source

that also take out SAL_N_ELEMENTS usages

Change-Id: I28b929d2ecbe40c1b257454f21b5d2ff51d617e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152251
Tested-by: Mike Kaganski 
Reviewed-by: Mike Kaganski 

diff --git a/sw/source/core/unocore/unofield.cxx 
b/sw/source/core/unocore/unofield.cxx
index 36a4f5b27bc6..78b43b3158bd 100644
--- a/sw/source/core/unocore/unofield.cxx
+++ b/sw/source/core/unocore/unofield.cxx
@@ -183,9 +183,9 @@ const ServiceIdResId aServiceToRes[] =
 
 static SwFieldIds lcl_ServiceIdToResId(SwServiceType nServiceId)
 {
-for (size_t i=0; i 0
 OSL_FAIL("service id not found");
 #endif
diff --git a/sw/source/ui/dbui/mmaddressblockpage.cxx 
b/sw/source/ui/dbui/mmaddressblockpage.cxx
index ad4a7bfc4b83..48d4e3dce117 100644
--- a/sw/source/ui/dbui/mmaddressblockpage.cxx
+++ b/sw/source/ui/dbui/mmaddressblockpage.cxx
@@ -494,10 +494,10 @@ 
SwCustomizeAddressBlockDialog::SwCustomizeAddressBlockDialog(
 m_xAddressElementsLB->append(OUString::number(USER_DATA_SALUTATION), 
SwResId(ST_SALUTATION));
 m_xAddressElementsLB->append(OUString::number(USER_DATA_PUNCTUATION), 
SwResId(ST_PUNCTUATION));
 m_xAddressElementsLB->append(OUString::number(USER_DATA_TEXT), 
SwResId(ST_TEXT));
-for (size_t i = 0; i < SAL_N_ELEMENTS(RA_SALUTATION); ++i)
-m_aSalutations.push_back(SwResId(RA_SALUTATION[i]));
-for (size_t i = 0; i < SAL_N_ELEMENTS(RA_PUNCTUATION); ++i)
-m_aPunctuations.push_back(SwResId(RA_PUNCTUATION[i]));
+for (auto const& aID : RA_SALUTATION)
+m_aSalutations.push_back(SwResId(aID));
+for (auto const& aID : RA_PUNCTUATION)
+m_aPunctuations.push_back(SwResId(aID));
 m_xDragED->SetText("");
 m_xDialog->set_title(SwResId(eType == GREETING_MALE ? ST_TITLE_MALE : 
ST_TITLE_FEMALE));
 m_xAddressElementsFT->set_label(SwResId(ST_SALUTATIONELEMENTS));
diff --git a/sw/source/ui/fldui/flddinf.cxx b/sw/source/ui/fldui/flddinf.cxx
index 3fa401211b1f..7cb69c1d0e49 100644
--- a/sw/source/ui/fldui/flddinf.cxx
+++ b/sw/source/ui/fldui/flddinf.cxx
@@ -46,8 +46,8 @@ using namespace com::sun::star;
 
 void FillFieldSelect(weld::TreeView& rListBox)
 {
-for (size_t i = 0; i < SAL_N_ELEMENTS(FLD_SELECT); ++i)
-rListBox.append_text(SwResId(FLD_SELECT[i]));
+for (auto const& aID : FLD_SELECT)
+rListBox.append_text(SwResId(aID));
 }
 
 SwFieldDokInfPage::SwFieldDokInfPage(weld::Container* pPage, 
weld::DialogController* pController, const SfxItemSet *const pCoreSet)
diff --git a/sw/source/ui/fldui/fldref.cxx b/sw/source/ui/fldui/fldref.cxx
index bd6fef539478..54f9c9fc98dc 100644
--- a/sw/source/ui/fldui/fldref.cxx
+++ b/sw/source/ui/fldui/fldref.cxx
@@ -70,10 +70,10 @@ SwFieldRefPage::SwFieldRefPage(weld::Container* pPage, 
weld::DialogController* p
 {
 m_xSelectionLB->make_sorted();
 // #i83479#
-for (size_t i = 0; i < SAL_N_ELEMENTS(FLD_REF_PAGE_TYPES); ++i)
+for (auto const& aID : FLD_REF_PAGE_TYPES)
 {
-m_xTypeLB->append_text(SwResId(FLD_REF_PAGE_TYPES[i]));
-m_xFormatLB->append_text(SwResId(FLD_REF_PAGE_TYPES[i]));
+m_xTypeLB->append_text(SwResId(aID));
+m_xFormatLB->append_text(SwResId(aID));
 }
 
 m_sBookmarkText = m_xTypeLB->get_text(0);
diff --git a/sw/source/ui/misc/outline.cxx b/sw/source/ui/misc/outline.cxx
index 429cfb71915c..6500bfdd6eca 100644
--- a/sw/source/ui/misc/outline.cxx
+++ b/sw/source/ui/misc/outline.cxx
@@ -118,8 +118,8 @@ SwNumNamesDlg::SwNumNamesDlg(weld::Window *pParent)
 , m_xFormBox(m_xBuilder->weld_tree_view("form"))
 , m_xOKBtn(m_xBuilder->weld_button("ok"))
 {
-for (size_t i = 0; i < SAL_N_ELEMENTS(OUTLINE_STYLE); ++i)
-m_xFormBox->append_text(SwResId(OUTLINE_STYLE[i]));
+for (auto const& aID : OUTLINE_STYLE)
+m_xFormBox->append_text(SwResId(aID));
 
 m_xFormEdit->connect_changed(LINK(this, SwNumNamesDlg, ModifyHdl));
 m_x

Re: [libreoffice-marketing] Development will branch off of 7.6 on Jun 5. Please communicate the next version number

2023-05-30 Thread Italo Vignoli

On 30/05/23 13:57, Justin Luth wrote:


Italo, you have now communicated two different names for the "new"
process. Originally you said it was "24.2", but here you have noted it
as 2024.2. Please clarify.



I don't see any problem whatsoever with the shorter 24.2. I'm quite sure
the project will be able to transition to the latest versioning fad
before 2099.


The one that fits best developemnt: 24.2 or 2024.2 are the same for 
marketing. Stephan Bergmann has expressed a concern about 24.2, and I 
answered accordingly. Marketing is meant to change perceptions, and in 
this case the change from 24.2 to 2024.2 doesn't change the perception 
of a calendar based release number.



By the way, I think that the distinction between "fresh" and "still"
is now obsolete and can be deprecated.



Unfortunately, that is wishful marketing speak. Regressions are still a
huge concern. The distinction is absolutely relevant, and always will be.


Of course, but relating the two versions to software stability - the 
names "fresh" and "still" were created to counteract the campaign 
against LibreOffice, supported by IBM and mostly voiced by the Italian 
AOO community (there wasn't any other AOO community apart from the one 
in Italy) - has been perceived by users as "LibreOffice has stability 
issues" which is still used by some people against LibreOffice.


Luckily, this campaign is now over, and AOO has no energy and manpower 
to restart it (nor the AOO community, which has disappeared).


The reality is that, apart from regressions, the last version of 
LibreOffice is as stable as the previous one, and as the majority of 
users doesn't know the concept of bugs and regressions (because they are 
never mentioned by Microsoft, which is the reference for the office 
suite market) we have the opportunity of repositioning the two versions 
as targeted to different clusters of users: technology savvy users for 
the newer version, and normal users for the previous version.


This means that we revert a negative perception (LibreOffice has to 
provide two versions of the software because of stability issues) into a 
positive and unique advantage: LibreOffice provides a version optimized 
for different users, based on the different level of maturity of the 
underlying LibreOffice Technology platform.


LibreOffice Technology, being a development platform and not a product, 
can have different maturity levels, according to the number of tests and 
reviews performed by development and quality assurance. For users, this 
will mean choosing between the most feature rich and the most tested 
versions of the software.


All this will be explained in a white paper, and summarized in a slide 
deck which will be presented at the LibreOffice Conference.

--
Italo Vignoli - it...@vignoli.org
mobile/signal +39.348.5653829
hangout/jabber italo.vign...@gmail.com
GPG Key ID - 0xAAB8D5C0
DB75 1534 3FD0 EA5F 56B5 FDA6 DE82 934C AAB8 D5C0



[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - vcl/source

2023-05-30 Thread Khaled Hosny (via logerrit)
 vcl/source/gdi/impglyphitem.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 03721a30cea9d640d15b9e6ee247c862ba080707
Author: Khaled Hosny 
AuthorDate: Tue May 30 09:48:40 2023 +0300
Commit: Caolán McNamara 
CommitDate: Tue May 30 14:34:16 2023 +0200

tdf#155542: Fix crashtesting assert

When cloning an RTL glyph range, we might end up cutting in the middle
of a cluster e.g. between a base character and a combining mark since
both with have the same charPos() after:

commit 09c076c3f29c28497f162d3a5b7baab040725d56
Author: Khaled Hosny 
Date:   Wed Oct 5 21:00:46 2022 +0200

tdf#151350: Fix extraneous gaps before marks

(which changed how HarfBuzz sets up clusters back to the default where
marks form clusters with their bases, before that a mark formed its own
cluster).

This leads to the cloned glyph range to include the glyph for the
combining marks, while it is not included in the text string.

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

diff --git a/vcl/source/gdi/impglyphitem.cxx b/vcl/source/gdi/impglyphitem.cxx
index 6a2c576e1f1a..1fdd49756083 100644
--- a/vcl/source/gdi/impglyphitem.cxx
+++ b/vcl/source/gdi/impglyphitem.cxx
@@ -136,9 +136,10 @@ SalLayoutGlyphsImpl* 
SalLayoutGlyphsImpl::cloneCharRange(sal_Int32 index, sal_In
 // Require a start at the exact position given, otherwise bail out.
 if (pos->charPos() != beginPos)
 return nullptr;
-// For RTL make sure we're not cutting in the middle of a multi-character 
glyph
+// For RTL make sure we're not cutting in the middle of a multi-character 
glyph,
+// or in the middle of a cluster
 // (for non-RTL charPos is always the start of a multi-character glyph).
-if (rtl && pos->charPos() + pos->charCount() > beginPos + 1)
+if (rtl && (pos->charPos() + pos->charCount() > beginPos + 1 || 
pos->IsInCluster()))
 return nullptr;
 if (!isSafeToBreak(pos, rtl))
 return nullptr;


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

2023-05-30 Thread Mike Kaganski (via logerrit)
 ure/source/uretest/cppmain.cc   |8 
 ure/source/uretest/cppserver.cc |2 +-
 ure/source/uretest/cpptest.cc   |4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

New commits:
commit 20db76c08f870f1f1b4f890d93c0597e2bd36a0a
Author: Mike Kaganski 
AuthorDate: Tue May 30 10:59:56 2023 +0200
Commit: Mike Kaganski 
CommitDate: Tue May 30 13:57:12 2023 +0200

Revert "Use getXWeak in ure"

This reverts commit d9225a59e89907e9d289ab93c44fd8e6883f1be2.

Reason for revert: this is not a LIBO_INTERNAL_ONLY code.

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

diff --git a/ure/source/uretest/cppmain.cc b/ure/source/uretest/cppmain.cc
index 3346245ccca4..fb957d9f221a 100644
--- a/ure/source/uretest/cppmain.cc
+++ b/ure/source/uretest/cppmain.cc
@@ -131,12 +131,12 @@ private:
 } catch (css::uno::Exception &) {
 throw css::uno::RuntimeException(
 ::rtl::OUString("error creating instance"),
-getXWeak());
+static_cast< ::cppu::OWeakObject * >(this));
 }
 if (!instance.is()) {
 throw css::uno::RuntimeException(
 "no instance: " + name,
-getXWeak());
+static_cast< ::cppu::OWeakObject * >(this));
 }
 }
 css::beans::Introspection::create(context_);
@@ -195,7 +195,7 @@ void Service::test(
 throw css::uno::RuntimeException(
 (name
  + ::rtl::OUString(".throwException failed")),
-getXWeak());
+static_cast< ::cppu::OWeakObject * >(this));
 }
 }
 
@@ -204,7 +204,7 @@ namespace CppMain {
 css::uno::Reference< css::uno::XInterface > create(
 css::uno::Reference< css::uno::XComponentContext > const & context)
 {
-return getXWeak(new Service(context));
+return static_cast< ::cppu::OWeakObject * >(new Service(context));
 }
 
 rtl::OUString getImplementationName() {
diff --git a/ure/source/uretest/cppserver.cc b/ure/source/uretest/cppserver.cc
index 6f25bb2591ff..db42c9fb3f9f 100644
--- a/ure/source/uretest/cppserver.cc
+++ b/ure/source/uretest/cppserver.cc
@@ -57,7 +57,7 @@ namespace CppServer {
 css::uno::Reference< css::uno::XInterface > create(
 css::uno::Reference< css::uno::XComponentContext > const &)
 {
-return getXWeak(new Service);
+return static_cast< ::cppu::OWeakObject * >(new Service);
 }
 
 rtl::OUString getImplementationName() {
diff --git a/ure/source/uretest/cpptest.cc b/ure/source/uretest/cpptest.cc
index 38302e1bc0d9..b037fdceebfb 100644
--- a/ure/source/uretest/cpptest.cc
+++ b/ure/source/uretest/cpptest.cc
@@ -44,7 +44,7 @@ public:
 virtual void SAL_CALL throwException() {
 throw test::types::TestException(
 rtl::OUString("test"),
-getXWeak());
+static_cast< cppu::OWeakObject * >(this));
 }
 
 private:
@@ -59,7 +59,7 @@ namespace CppTest {
 css::uno::Reference< css::uno::XInterface > create(
 css::uno::Reference< css::uno::XComponentContext > const &)
 {
-return getXWeak(new Service);
+return static_cast< cppu::OWeakObject * >(new Service);
 }
 
 rtl::OUString getImplementationName() {


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

2023-05-30 Thread Mike Kaganski (via logerrit)
 unodevtools/source/skeletonmaker/cppcompskeleton.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c9d3abf80e6d8617b7447d2f291cefe16c133514
Author: Mike Kaganski 
AuthorDate: Tue May 30 11:00:11 2023 +0200
Commit: Mike Kaganski 
CommitDate: Tue May 30 13:56:49 2023 +0200

Revert "Use getXWeak in unodevtools"

This reverts commit 35eb21d563418bdd664677d073c5653ace3da957.

Reason for revert: this is not a LIBO_INTERNAL_ONLY code.

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

diff --git a/unodevtools/source/skeletonmaker/cppcompskeleton.cxx 
b/unodevtools/source/skeletonmaker/cppcompskeleton.cxx
index a550a8e63c85..b17c35c90c84 100644
--- a/unodevtools/source/skeletonmaker/cppcompskeleton.cxx
+++ b/unodevtools/source/skeletonmaker/cppcompskeleton.cxx
@@ -160,7 +160,7 @@ static void generateCompHelperDefinition(std::ostream & o,
 o << "css::uno::Reference< css::uno::XInterface > SAL_CALL _create("
  "\nconst css::uno::Reference< css::uno::XComponentContext > & "
  "context)\n{\n"
- "return getXWeak(new "
+ "return static_cast< ::cppu::OWeakObject * >(new "
   << classname <<  "(context));\n}\n\n";
 
 // close namespace


[Libreoffice-commits] core.git: include/svtools

2023-05-30 Thread Heiko Tietze (via logerrit)
 include/svtools/strings.hrc |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 57d5c01ac1bcce56591b4eae96d1e679ef7197d4
Author: Heiko Tietze 
AuthorDate: Tue May 30 10:52:30 2023 +0200
Commit: Heiko Tietze 
CommitDate: Tue May 30 13:53:15 2023 +0200

Resolves tdf#140091 - Tooltip to add sheets should be more informative

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

diff --git a/include/svtools/strings.hrc b/include/svtools/strings.hrc
index c77d3f6cfe7d..645b19b86567 100644
--- a/include/svtools/strings.hrc
+++ b/include/svtools/strings.hrc
@@ -187,7 +187,7 @@
 #define STR_TABBAR_HINT_MOVELEFT_SHEETS 
NC_("STR_TABBAR_HINT_MOVELEFT_SHEETS", "Scroll to previous sheet")
 #define STR_TABBAR_HINT_MOVERIGHT_SHEETS
NC_("STR_TABBAR_HINT_MOVERIGHT_SHEETS", "Scroll to next sheet")
 #define STR_TABBAR_HINT_MOVETOEND_SHEETS
NC_("STR_TABBAR_HINT_MOVETOEND_SHEETS", "Scroll to last sheet")
-#define STR_TABBAR_HINT_ADDTAB_SHEETS   
NC_("STR_TABBAR_HINT_ADDTAB_SHEETS", "Add sheet")
+#define STR_TABBAR_HINT_ADDTAB_SHEETS   
NC_("STR_TABBAR_HINT_ADDTAB_SHEETS", "Add new sheet (right click to see all 
non-hidden sheets)")
 
 #define STR_SVT_ACC_RULER_HORZ_NAME 
NC_("STR_SVT_ACC_RULER_HORZ_NAME", "Horizontal Ruler")
 #define STR_SVT_ACC_RULER_VERT_NAME 
NC_("STR_SVT_ACC_RULER_VERT_NAME", "Vertical Ruler")


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

2023-05-30 Thread Miklos Vajna (via logerrit)
 sc/source/core/data/dociter.cxx  |
6 +-
 sw/qa/extras/rtfexport/rtfexport3.cxx|   
23 +++
 sw/source/filter/ww8/rtfexport.cxx   |
8 ++
 writerfilter/qa/cppunittests/rtftok/data/do-not-break-wrapped-tables.rtf |   
10 +++
 writerfilter/qa/cppunittests/rtftok/rtfdispatchflag.cxx  |   
17 +
 writerfilter/source/dmapper/SettingsTable.cxx|
3 -
 writerfilter/source/rtftok/rtfdispatchflag.cxx   |
8 --
 writerfilter/source/rtftok/rtfdispatchvalue.cxx  |   
30 --
 writerfilter/source/rtftok/rtfdocumentimpl.hxx   |
3 -
 9 files changed, 65 insertions(+), 43 deletions(-)

New commits:
commit d785d26a5599d3d546b96958b0f1c6d5ed777a0d
Author: Miklos Vajna 
AuthorDate: Tue May 30 08:21:33 2023 +0200
Commit: Miklos Vajna 
CommitDate: Tue May 30 12:49:52 2023 +0200

sw floattable: handle \nobrkwrptbl in the RTF filter

This is the RTF import/export for the functionality added in
commit 08fa2903df1a7cf9a1647fcf967e4c8b57dad793 (sw floattable: add a
DoNotBreakWrappedTables compat flag, 2023-05-24).

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

diff --git a/sw/qa/extras/rtfexport/rtfexport3.cxx 
b/sw/qa/extras/rtfexport/rtfexport3.cxx
index 2b45ca61f33e..8b5e2489a001 100644
--- a/sw/qa/extras/rtfexport/rtfexport3.cxx
+++ b/sw/qa/extras/rtfexport/rtfexport3.cxx
@@ -28,6 +28,7 @@
 #include 
 #include 
 #include 
+#include 
 
 using namespace css;
 
@@ -430,6 +431,28 @@ DECLARE_RTFEXPORT_TEST(testTdf128428_dntblnsbdb, 
"tdf128428_dntblnsbdb.rtf")
 CPPUNIT_ASSERT_EQUAL(1, getPages());
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testDontBreakWrappedTables)
+{
+// Given a document with no DO_NOT_BREAK_WRAPPED_TABLES compat mode 
enabled:
+createSwDoc();
+{
+SwDoc* pDoc = getSwDoc();
+IDocumentSettingAccess& rIDSA = pDoc->getIDocumentSettingAccess();
+rIDSA.set(DocumentSettingId::DO_NOT_BREAK_WRAPPED_TABLES, true);
+}
+
+// When saving to rtf:
+reload(mpFilter, "dont-break-wrapped-tables.rtf");
+
+// Then make sure \nobrkwrptbl is not written:
+SwDoc* pDoc = getSwDoc();
+IDocumentSettingAccess& rIDSA = pDoc->getIDocumentSettingAccess();
+bool bDontBreakWrappedTables = 
rIDSA.get(DocumentSettingId::DO_NOT_BREAK_WRAPPED_TABLES);
+// Without the accompanying fix in place, this test would have failed, the 
compat flag was not
+// set.
+CPPUNIT_ASSERT(bDontBreakWrappedTables);
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testRtlGutter)
 {
 auto verify = [this]() {
diff --git a/sw/source/filter/ww8/rtfexport.cxx 
b/sw/source/filter/ww8/rtfexport.cxx
index 1bfc2ebc5740..96f0f628f6a9 100644
--- a/sw/source/filter/ww8/rtfexport.cxx
+++ b/sw/source/filter/ww8/rtfexport.cxx
@@ -829,7 +829,8 @@ ErrCode RtfExport::ExportDocument_Impl()
 Strm().WriteOString(OOO_STRING_SVTOOLS_RTF_MARGMIRROR);
 
 // Gutter at top?
-if 
(m_rDoc.getIDocumentSettingAccess().get(DocumentSettingId::GUTTER_AT_TOP))
+IDocumentSettingAccess& rIDSA = m_rDoc.getIDocumentSettingAccess();
+if (rIDSA.get(DocumentSettingId::GUTTER_AT_TOP))
 {
 Strm().WriteOString(LO_STRING_SVTOOLS_RTF_GUTTERPRL);
 }
@@ -858,7 +859,10 @@ ErrCode RtfExport::ExportDocument_Impl()
 
 // Enable breaking wrapped tables across pages: the "no" in the control 
word's name is
 // confusing.
-Strm().WriteOString(LO_STRING_SVTOOLS_RTF_NOBRKWRPTBL);
+if (!rIDSA.get(DocumentSettingId::DO_NOT_BREAK_WRAPPED_TABLES))
+{
+Strm().WriteOString(LO_STRING_SVTOOLS_RTF_NOBRKWRPTBL);
+}
 
 // size and empty margins of the page
 if (m_rDoc.GetPageDescCnt())
diff --git 
a/writerfilter/qa/cppunittests/rtftok/data/do-not-break-wrapped-tables.rtf 
b/writerfilter/qa/cppunittests/rtftok/data/do-not-break-wrapped-tables.rtf
new file mode 100644
index ..f6ec013cb1dc
--- /dev/null
+++ b/writerfilter/qa/cppunittests/rtftok/data/do-not-break-wrapped-tables.rtf
@@ -0,0 +1,10 @@
+{\rtf1
+\paperw12240\paperh6203\margl1440\margr1440\margt1440\margb1440
+\pard\plain First paragraph\par
+\pard\plain\intbl A1\cell
+\pard\plain\trowd\trrh1812\tpvpara\tphcol\tposy10\tposx20\tdfrmtxtLeft30\tdfrmtxtRight40\cellx3828\row
+\pard\plain\intbl A2\cell
+\pard\plain\trowd\trrh1812\tpvpara\tphcol\tposy10\tposx20\tdfrmtxtLeft30\tdfrmtxtRight40\cellx3828\row
+\pard\plain Second paragraph.
+\par
+}
diff --git a/writerfilter/qa/cppunittests/rtftok/rtfdispatchflag.cxx 
b/writerfilter/qa/cppunittests/rtftok/rtfdispatchflag.cxx
index 810dc750d7d7..6d6b85be61c4 100644
--- a/writerfilter/qa/cppunittests/rtftok/rtfdispatchflag.cxx
+++ b/writerfilter/qa/cppunittests/rtftok/rtfdispatchflag.c

Re: changing the UNO dispose/disposing() protocol ?

2023-05-30 Thread Noel Grandin
On Tue, 30 May 2023 at 10:25, Stephan Bergmann  wrote:

> This does not encourage implementations of XComponent to throw
> DisposedException upon repeated calls to dispose, anyway.
>
>
Aha, that is good to know!
In that case I can fix the cases where it is unnecessarily throwing (one by
one of course).


Re: changing the UNO dispose/disposing() protocol ?

2023-05-30 Thread Noel Grandin
On Tue, 30 May 2023 at 08:40, Miklos Vajna  wrote:

> Did you try if make check enforces the current behavior?
>
No idea.


>
> Do you have a context for this? I assume you dived into some actual
> problem and then this came up?
>
>
I am specifically looking at cleaning up memory leaks, and a lot of those
have to do with cycles forming in the UNO object graph.
A recurrent problem in cleaning this up is when something throws
DisposedException and short-circuits the dispose() logic in caller code.


[Libreoffice-commits] core.git: Branch 'libreoffice-7-5-4' - download.lst external/freetype

2023-05-30 Thread Taichi Haradaguchi (via logerrit)
 download.lst |4 +--
 external/freetype/freetype-2.6.5.patch.1 |   36 +++
 external/freetype/ubsan.patch|   17 ++
 3 files changed, 23 insertions(+), 34 deletions(-)

New commits:
commit 05c58c3f93cac2f2b8c9f031e35922e839e9511f
Author: Taichi Haradaguchi <20001...@ymail.ne.jp>
AuthorDate: Tue Feb 21 20:14:33 2023 +0900
Commit: Miklos Vajna 
CommitDate: Tue May 30 12:07:19 2023 +0200

freetype: upgrade to release 2.13.0

Fixes CVE-2023-2004.[1]

As the issue has been fixed upstream[2], removed some codes from 
"external/freetype/ubsan.patch".

[1] "CVE-2023-2094"


[2] "[truetype] Fix undefined pointer arithmetic."



Change-Id: I66c11e414cd9ecdad8678487d0c3f645a352ad92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147464
Reviewed-by: Caolán McNamara 
Tested-by: Caolán McNamara 
(cherry picked from commit 803e3a63d879d8095b53b020cb648522fcb2af99)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151922
Reviewed-by: Michael Stahl 
Tested-by: Jenkins
(cherry picked from commit 517ea6e0a0cc9f3bebeaa2bad0d5c4fff21482c7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151929
Reviewed-by: Xisco Fauli 
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/download.lst b/download.lst
index 8e7326daa777..d68415d9bb6d 100644
--- a/download.lst
+++ b/download.lst
@@ -198,8 +198,8 @@ FREEHAND_TARBALL := libfreehand-0.1.2.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-FREETYPE_SHA256SUM := 
ef5c336aacc1a079ff9262d6308d6c2a066dd4d2a905301c4adda9b354399033
-FREETYPE_TARBALL := freetype-2.12.0.tar.xz
+FREETYPE_SHA256SUM := 
5ee23abd047636c24b2d43c6625dcafc1d1aca64dec9e0d05df29592624c
+FREETYPE_TARBALL := freetype-2.13.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/freetype/freetype-2.6.5.patch.1 
b/external/freetype/freetype-2.6.5.patch.1
index c10c0bb38ea8..544e4fa496a6 100644
--- a/external/freetype/freetype-2.6.5.patch.1
+++ b/external/freetype/freetype-2.6.5.patch.1
@@ -1,7 +1,7 @@
 diff -up freetype/builds/unix/configure.dt freetype/builds/unix/configure
 freetype/builds/unix/configure.dt  2017-02-01 22:14:45.206257952 +0100
-+++ freetype/builds/unix/configure 2017-02-01 22:16:31.076183707 +0100
-@@ -9386,7 +9386,7 @@
+--- freetype/builds/unix/configure.dt  2023-02-09 15:33:17.0 +0900
 freetype/builds/unix/configure 2023-02-22 16:53:49.547740397 +0900
+@@ -9523,7 +9523,7 @@ _LT_EOF
case $host_cpu in
powerpc)
  # see comment about AmigaOS4 .so support
@@ -10,7 +10,7 @@ diff -up freetype/builds/unix/configure.dt 
freetype/builds/unix/configure
  archive_expsym_cmds=''
  ;;
m68k)
-@@ -9402,7 +9402,7 @@
+@@ -9539,7 +9539,7 @@ _LT_EOF
allow_undefined_flag=unsupported
# Joseph Beckenbach  says some releases of gcc
# support --undefined.  This deserves some investigation.  FIXME
@@ -19,7 +19,7 @@ diff -up freetype/builds/unix/configure.dt 
freetype/builds/unix/configure
else
ld_shlibs=no
fi
-@@ -9436,7 +9436,7 @@
+@@ -9573,7 +9573,7 @@ _LT_EOF
;;
  
  haiku*)
@@ -28,7 +28,7 @@ diff -up freetype/builds/unix/configure.dt 
freetype/builds/unix/configure
link_all_deplibs=yes
;;
  
-@@ -9531,13 +9531,13 @@
+@@ -9669,13 +9669,13 @@ _LT_EOF
*Sun\ F*)   # Sun Fortran 8.3
  tmp_sharedflag='-G' ;;
esac
@@ -37,14 +37,14 @@ diff -up freetype/builds/unix/configure.dt 
freetype/builds/unix/configure
  
  if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> 
$output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> 
$output_objdir/$libname.ver~
  echo "local: *; };" >> $output_objdir/$libname.ver~
 -$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs 
$compiler_flags $wl-soname $wl$soname $wl-version-script 
$wl$output_objdir/$libname.ver -o $lib'
 +$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs 
$compiler_flags $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
  fi
  
case $cc_basename in
-@@ -9567,8 +9567,8 @@
+@@ -9705,8 +9705,8 @@ _LT_EOF
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
@@ -55,7 +55,7 @@ diff -up freetype/builds/unix/configure.dt 
freetype/builds/unix/configure
fi
;;
  
-@@ -9586,8 +9586,8 @@
+@@ -9724,8 +9724,8 @@ _LT_EOF

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

2023-05-30 Thread Khaled Hosny (via logerrit)
 sw/source/core/text/porlay.cxx |   24 
 1 file changed, 24 deletions(-)

New commits:
commit 72835e8283f871e94c26049b06e813a804d2d04b
Author: Khaled Hosny 
AuthorDate: Sun May 28 16:28:52 2023 +0300
Commit: Xisco Fauli 
CommitDate: Tue May 30 11:52:03 2023 +0200

tdf#139863, tdf#155514: Don’t split COMPLEX text portions

When a COMPLEX text portion contains more than one script, it gets split
into multiple portions. This is broken into more than one way:
* ScriptTypeDetector::endOfCTLScriptType() does not handle surrogate
  pairs, so it split the portion in the middle of a surrogate pair,
  causing tdf#139863.
* If a combing mark of a different COMPLEX script is used, it gets split
  into its own portion, causing tdf#155514

This was supposedly done to fix 
https://bz.apache.org/ooo/show_bug.cgi?id=28203,
but testing the documents from this bug report with this change does not
show recurrence of any of the kashida issue, so this split is unnecessary.

Change-Id: I9bd60efe3023b96ee74f861a5dc15a2229c27d79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152354
Tested-by: Jenkins
Reviewed-by: خالد حسني 
(cherry picked from commit 98f7ec383db74a6491e925e30125d3fbf270afc2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152318
Reviewed-by: Xisco Fauli 

diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index 3b00fac71031..5dda6c2ac0e2 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -33,7 +33,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -1447,29 +1446,6 @@ void SwScriptInfo::InitScriptInfo(const SwTextNode& 
rNode,
 if (nChg > TextFrameIndex(rText.getLength()) || nChg < 
TextFrameIndex(0))
 nChg = TextFrameIndex(rText.getLength());
 
-// #i28203#
-// for 'complex' portions, we make sure that a portion does not 
contain more
-// than one script:
-if( i18n::ScriptType::COMPLEX == nScript )
-{
-const short nScriptType = ScriptTypeDetector::getCTLScriptType(
-rText, sal_Int32(nSearchStt) );
-TextFrameIndex nNextCTLScriptStart = nSearchStt;
-short nCurrentScriptType = nScriptType;
-while( css::i18n::CTLScriptType::CTL_UNKNOWN == nCurrentScriptType 
|| nScriptType == nCurrentScriptType )
-{
-nNextCTLScriptStart = TextFrameIndex(
-ScriptTypeDetector::endOfCTLScriptType(
-rText, sal_Int32(nNextCTLScriptStart)));
-if (nNextCTLScriptStart >= TextFrameIndex(rText.getLength())
-|| nNextCTLScriptStart >= nChg)
-break;
-nCurrentScriptType = ScriptTypeDetector::getCTLScriptType(
-rText, sal_Int32(nNextCTLScriptStart));
-}
-nChg = std::min( nChg, nNextCTLScriptStart );
-}
-
 // special case for dotted circle since it can be used with complex
 // before a mark, so we want it associated with the mark's script
 if (nChg < TextFrameIndex(rText.getLength()) && nChg > 
TextFrameIndex(0)


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

2023-05-30 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/htmlexport/data/tableRight.fodt |   22 ++
 sw/qa/extras/htmlexport/htmlexport.cxx   |   14 ++
 sw/source/filter/html/htmltabw.cxx   |   19 +++
 3 files changed, 51 insertions(+), 4 deletions(-)

New commits:
commit ff8a99c40b9829b4062c94c3b3e3286f47ae5e17
Author: Mike Kaganski 
AuthorDate: Sat May 27 11:02:06 2023 +0300
Commit: Xisco Fauli 
CommitDate: Tue May 30 11:51:01 2023 +0200

ReqIF: do not write 'align' attribute to 'div' element

To keep the alignment information, use 'style' in this case. Maybe it
makes sense to unify on 'style' also in normal case in a later change.

Change-Id: I6e07acd46fbabeaa47ae9dbe71c00e1b1abc6b73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152340
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152367

diff --git a/sw/qa/extras/htmlexport/data/tableRight.fodt 
b/sw/qa/extras/htmlexport/data/tableRight.fodt
new file mode 100644
index ..374364750f51
--- /dev/null
+++ b/sw/qa/extras/htmlexport/data/tableRight.fodt
@@ -0,0 +1,22 @@
+
+
+
+ 
+  
+   
+  
+ 
+ 
+  
+   This is a right aligned table:
+   
+
+
+ 
+ 
+
+   
+   
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index 0cac6b56af8c..0ba830337da6 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -2527,6 +2527,20 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testTdf155496)
 CPPUNIT_ASSERT_EQUAL(OUString("list 1 item 1\n\t\tsub-header"), 
aContent.trim());
 }
 
+CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqIF_RightAlignedTable)
+{
+createSwDoc("tableRight.fodt");
+ExportToReqif();
+
+SvMemoryStream aStream;
+WrapReqifFromTempFile(aStream);
+xmlDocUniquePtr pDoc = parseXmlStream(&aStream);
+CPPUNIT_ASSERT(pDoc);
+
+// No 'align' attribute must be present in 'div'
+assertXPathNoAttribute(pDoc, 
"/reqif-xhtml:html/reqif-xhtml:div/reqif-xhtml:div", "align");
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/html/htmltabw.cxx 
b/sw/source/filter/html/htmltabw.cxx
index 538a509db53c..acc9e6f76049 100644
--- a/sw/source/filter/html/htmltabw.cxx
+++ b/sw/source/filter/html/htmltabw.cxx
@@ -1115,10 +1115,21 @@ Writer& OutHTML_SwTableNode( Writer& rWrt, SwTableNode 
& rNode,
 }
 else
 {
-OStringLiteral sOut = OOO_STRING_SVTOOLS_HTML_division
-" " OOO_STRING_SVTOOLS_HTML_O_align "=\""
-OOO_STRING_SVTOOLS_HTML_AL_right "\"";
-HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), 
Concat2View(rHTMLWrt.GetNamespace() + sOut) );
+if (rHTMLWrt.mbReqIF)
+{
+// In ReqIF, div cannot have an 'align' attribute. For now, 
use 'style' only
+// for ReqIF; maybe it makes sense to use it in both cases?
+static constexpr char sOut[] = OOO_STRING_SVTOOLS_HTML_division
+" style=\"display: flex; flex-direction: column; 
align-items: flex-end\"";
+HTMLOutFuncs::Out_AsciiTag(rWrt.Strm(), 
Concat2View(rHTMLWrt.GetNamespace() + sOut));
+}
+else
+{
+static constexpr char sOut[] = OOO_STRING_SVTOOLS_HTML_division
+" " OOO_STRING_SVTOOLS_HTML_O_align "=\""
+OOO_STRING_SVTOOLS_HTML_AL_right "\"";
+HTMLOutFuncs::Out_AsciiTag( rWrt.Strm(), 
Concat2View(rHTMLWrt.GetNamespace() + sOut) );
+}
 }
 rHTMLWrt.IncIndentLevel();  // indent content of 
 rHTMLWrt.m_bLFPossible = true;


Re: [libreoffice-marketing] Development will branch off of 7.6 on Jun 5. Please communicate the next version number

2023-05-30 Thread Italo Vignoli

On 30/05/23 10:19, Stephan Bergmann wrote:

* How does the new versioning scheme fit with the current setup of 
having two parallel streams of "fresh" (currently LO 7.5.3) and "still" 
(currently LO 7.4.7) versions?


We will announce the change explaining in detail what will happen in the 
interim period (i.e. when we will have the 2024.2 and the 7.6 releases). 
By the way, I think that the distinction between "fresh" and "still" is 
now obsolete and can be deprecated (as it was created when LibreOffice 
was undergoing code cleaning and refactoring, and as such was not as 
stable as today). We have dropped that distinction since LibreOffice 7.0 
when we have announced new major and minor releases, and is now time to 
position the two versions in relation to users and not to LibreOffice 
(technology savvy vs normal users).


* Some places in the code rely on version numbers being strictly 
monotonically increasing based on a lexicographical ordering of their 
dotted version number segments.  (For example, 7.4.6 < 7.4.7 < 7.5.3 < 
8.0.)  Switching to a 24.2/24.8/... versioning scheme would initially 
fit that requirement (as 7.6 < 24.2).  But the two-digit year component 
of that scheme has the disturbing (to pedants, at least) issue of 
wrap-around.  Can we instead use a full-year versioning scheme, 
2024.2/2024.8/...?


No problem for 2024.2 and 2024.8, of course.
--
Italo Vignoli - it...@vignoli.org
mobile/signal +39.348.5653829
hangout/jabber italo.vign...@gmail.com
GPG Key ID - 0xAAB8D5C0
DB75 1534 3FD0 EA5F 56B5 FDA6 DE82 934C AAB8 D5C0



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

2023-05-30 Thread Vojtěch Doležal (via logerrit)
 sw/source/core/text/porexp.cxx |   10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

New commits:
commit 8716f10f8a3b59ceb8b7673d6c5948b882830167
Author: Vojtěch Doležal 
AuthorDate: Sun May 28 03:10:07 2023 +0200
Commit: Miklos Vajna 
CommitDate: Tue May 30 11:25:15 2023 +0200

Fix gray shade for NBSPs

28675af broke field shading for NBSPs, showing it only when non-printing 
characters are enabled.

This commit reverts the behaviour to the original state, where field shade 
is independent on whether the non-printing characters are enabled.

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

diff --git a/sw/source/core/text/porexp.cxx b/sw/source/core/text/porexp.cxx
index de435df5ae54..8fc8d7b17fc9 100644
--- a/sw/source/core/text/porexp.cxx
+++ b/sw/source/core/text/porexp.cxx
@@ -208,13 +208,14 @@ bool SwBlankPortion::Format( SwTextFormatInfo &rInf )
 
 void SwBlankPortion::Paint( const SwTextPaintInfo &rInf ) const
 {
+// Draw field shade (can be disabled individually)
+if (!m_bMulti) // No gray background for multiportion brackets
+rInf.DrawViewOpt(*this, PortionType::Blank);
+
 if (m_cChar == CHAR_HARDBLANK)
 {
 if (rInf.GetOpt().IsBlank())
 {
-// Draw background
-rInf.DrawViewOpt(*this, PortionType::Blank);
-
 // Draw tilde or degree sign
 OUString aMarker = 
(rInf.GetTextFrame()->GetDoc().getIDocumentSettingAccess()
 
.get(DocumentSettingId::USE_VARIABLE_WIDTH_NBSP)
@@ -243,9 +244,6 @@ void SwBlankPortion::Paint( const SwTextPaintInfo &rInf ) 
const
 }
 else
 {
-if (!m_bMulti) // No gray background for multiportion brackets
-rInf.DrawViewOpt(*this, PortionType::Blank);
-
 SwExpandPortion::Paint(rInf);
 }
 }


Re: Welcome Khaled Hosny, new Developer at TDF

2023-05-30 Thread Michael Stahl

On 30/05/2023 09:36, Mike Saunders wrote:

Hello everyone,

Khaled Hosny has joined the team at The Document Foundation as a 
Developer focusing initially on RTL/CTL improvements:


https://blog.documentfoundation.org/blog/2023/05/30/welcome-khaled-hosny-new-developer-at-tdf/



that's great news, welcome Khaled!


Re: [libreoffice-marketing] Development will branch off of 7.6 on Jun 5. Please communicate the next version number

2023-05-30 Thread Michael Stahl

On 30/05/2023 10:19, Stephan Bergmann wrote:

On 5/27/23 23:13, Italo Vignoli wrote:
The next major release after LibreOffice 7.6 will be LibreOffice 24.2 
(February), which will be followed by LibreOffice 24.8 (August)


* Given the current level of maturity of the LibreOffice Technology 
development platform, it is increasingly difficult to provide a number 
of significant new features for each major release based on the 
current numbering scheme (while new features are key for media 
coverage, if we maintain the current numbering scheme)


* By choosing a calendar based numbering scheme, we decouple the 
expectation of significant new features from each new major release: 
if we have significant new features they will be welcomed by the 
media, but if we don't have them the media will not be disappointed 
(and will write about LibreOffice)


* We have already started to adapt our communication strategy to the 
new numbering scheme by meeting journalists independently from 
announcements


* At LibreOffice Conference we will provide additional information 
about the communication strategy, and how this will help increasing 
the update frequency by users (which is now rather low, apart from a 
very small percentage of users)


This raises two questions:

* How does the new versioning scheme fit with the current setup of 
having two parallel streams of "fresh" (currently LO 7.5.3) and "still" 
(currently LO 7.4.7) versions?


* Some places in the code rely on version numbers being strictly 
monotonically increasing based on a lexicographical ordering of their 
dotted version number segments.  (For example, 7.4.6 < 7.4.7 < 7.5.3 < 
8.0.)  Switching to a 24.2/24.8/... versioning scheme would initially 
fit that requirement (as 7.6 < 24.2).  But the two-digit year component 
of that scheme has the disturbing (to pedants, at least) issue of 
wrap-around.  Can we instead use a full-year versioning scheme, 
2024.2/2024.8/...?


another option would be to have an internal version number that is just 
an integer incremented with every release... a 64-bit integer should be 
enough for 10^18 years of bi-yearly releases... simple and obvious :)




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

2023-05-30 Thread Khaled Hosny (via logerrit)
 vcl/source/gdi/impglyphitem.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit bf8d1290a4de26f06d429148a92cbdb7a63eecf5
Author: Khaled Hosny 
AuthorDate: Tue May 30 09:48:40 2023 +0300
Commit: Caolán McNamara 
CommitDate: Tue May 30 10:54:01 2023 +0200

tdf#155542: Fix crashtesting assert

When cloning an RTL glyph range, we might end up cutting in the middle
of a cluster e.g. between a base character and a combining mark since
both with have the same charPos() after:

commit 09c076c3f29c28497f162d3a5b7baab040725d56
Author: Khaled Hosny 
Date:   Wed Oct 5 21:00:46 2022 +0200

tdf#151350: Fix extraneous gaps before marks

(which changed how HarfBuzz sets up clusters back to the default where
marks form clusters with their bases, before that a mark formed its own
cluster).

This leads to the cloned glyph range to include the glyph for the
combining marks, while it is not included in the text string.

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

diff --git a/vcl/source/gdi/impglyphitem.cxx b/vcl/source/gdi/impglyphitem.cxx
index fed2ee0f3fe7..315bdf4f58bb 100644
--- a/vcl/source/gdi/impglyphitem.cxx
+++ b/vcl/source/gdi/impglyphitem.cxx
@@ -137,9 +137,10 @@ SalLayoutGlyphsImpl* 
SalLayoutGlyphsImpl::cloneCharRange(sal_Int32 index, sal_In
 // Require a start at the exact position given, otherwise bail out.
 if (pos->charPos() != beginPos)
 return nullptr;
-// For RTL make sure we're not cutting in the middle of a multi-character 
glyph
+// For RTL make sure we're not cutting in the middle of a multi-character 
glyph,
+// or in the middle of a cluster
 // (for non-RTL charPos is always the start of a multi-character glyph).
-if (rtl && pos->charPos() + pos->charCount() > beginPos + 1)
+if (rtl && (pos->charPos() + pos->charCount() > beginPos + 1 || 
pos->IsInCluster()))
 return nullptr;
 if (!isSafeToBreak(pos, rtl))
 return nullptr;


Re: changing the UNO dispose/disposing() protocol ?

2023-05-30 Thread Stephan Bergmann

On 5/28/23 16:02, Noel Grandin wrote:
Specifically, I would like to change the part where if a component is 
already disposed, it throws a DisposedException. Instead it should 
simply ignore the call (i.e. return early)


The documentation of css.lang.XComponent::dispose at 
udkapi/com/sun/star/lang/XComponent.idl states



After this method has been called, the object should behave as 
passive
as possible, thus it should ignore all calls
in case it can comply with its specification (for instance 
addEventListener()).
Often the object can't fulfill its specification anymore,
in this case it must throw the DisposedException
(which is derived from com::sun::star::uno::RuntimeException)
when it gets called.

For some objects no real owner can be identified, thus it can be
disposed from multiple reference holders. In this case
the object should be able to cope with multiple dispose()-calls (which
are inevitable in a multithreaded environment).


This does not encourage implementations of XComponent to throw 
DisposedException upon repeated calls to dispose, anyway.




Re: [libreoffice-marketing] Development will branch off of 7.6 on Jun 5. Please communicate the next version number

2023-05-30 Thread Stephan Bergmann

On 5/27/23 23:13, Italo Vignoli wrote:
The next major release after LibreOffice 7.6 will be LibreOffice 24.2 
(February), which will be followed by LibreOffice 24.8 (August)


* Given the current level of maturity of the LibreOffice Technology 
development platform, it is increasingly difficult to provide a number 
of significant new features for each major release based on the current 
numbering scheme (while new features are key for media coverage, if we 
maintain the current numbering scheme)


* By choosing a calendar based numbering scheme, we decouple the 
expectation of significant new features from each new major release: if 
we have significant new features they will be welcomed by the media, but 
if we don't have them the media will not be disappointed (and will write 
about LibreOffice)


* We have already started to adapt our communication strategy to the new 
numbering scheme by meeting journalists independently from announcements


* At LibreOffice Conference we will provide additional information about 
the communication strategy, and how this will help increasing the update 
frequency by users (which is now rather low, apart from a very small 
percentage of users)


This raises two questions:

* How does the new versioning scheme fit with the current setup of 
having two parallel streams of "fresh" (currently LO 7.5.3) and "still" 
(currently LO 7.4.7) versions?


* Some places in the code rely on version numbers being strictly 
monotonically increasing based on a lexicographical ordering of their 
dotted version number segments.  (For example, 7.4.6 < 7.4.7 < 7.5.3 < 
8.0.)  Switching to a 24.2/24.8/... versioning scheme would initially 
fit that requirement (as 7.6 < 24.2).  But the two-digit year component 
of that scheme has the disturbing (to pedants, at least) issue of 
wrap-around.  Can we instead use a full-year versioning scheme, 
2024.2/2024.8/...?




Re: Welcome Khaled Hosny, new Developer at TDF

2023-05-30 Thread Caolán McNamara
On Tue, 2023-05-30 at 09:36 +0200, Mike Saunders wrote:
> Hello everyone,
> 
> Khaled Hosny has joined the team at The Document Foundation as a 
> Developer focusing initially on RTL/CTL improvements

Really good news. 


Welcome Khaled Hosny, new Developer at TDF

2023-05-30 Thread Mike Saunders

Hello everyone,

Khaled Hosny has joined the team at The Document Foundation as a 
Developer focusing initially on RTL/CTL improvements:


https://blog.documentfoundation.org/blog/2023/05/30/welcome-khaled-hosny-new-developer-at-tdf/

--
Mike Saunders, Marketing and Community Coordinator
The Document Foundation


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

2023-05-30 Thread Miklos Vajna (via logerrit)
 include/xmloff/MarkerStyle.hxx  |4 ++--
 include/xmloff/XMLEventsImportContext.hxx   |4 ++--
 include/xmloff/XMLFontStylesContext.hxx |   20 ++--
 xmloff/source/forms/eventimport.cxx |4 ++--
 xmloff/source/script/XMLEventsImportContext.cxx |   22 +++---
 xmloff/source/style/MarkerStyle.cxx |   20 ++--
 xmloff/source/style/XMLFontStylesContext.cxx|   10 +-
 7 files changed, 42 insertions(+), 42 deletions(-)

New commits:
commit 385d3323ce23833e8706b0d21f6df07e1927b8e0
Author: Miklos Vajna 
AuthorDate: Tue May 30 08:15:55 2023 +0200
Commit: Miklos Vajna 
CommitDate: Tue May 30 09:19:09 2023 +0200

sw: prefix members of XMLEventsImportContext, XMLFontStylesContext, ...

... XMLMarkerStyleExport and XMLMarkerStyleImport

See tdf#94879 for motivation.

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

diff --git a/include/xmloff/MarkerStyle.hxx b/include/xmloff/MarkerStyle.hxx
index ce1ae3080a00..8159a40cea50 100644
--- a/include/xmloff/MarkerStyle.hxx
+++ b/include/xmloff/MarkerStyle.hxx
@@ -35,7 +35,7 @@ namespace com::sun::star {
 
 class XMLOFF_DLLPUBLIC XMLMarkerStyleImport
 {
-SvXMLImport& rImport;
+SvXMLImport& m_rImport;
 
 public:
 XMLMarkerStyleImport( SvXMLImport& rImport );
@@ -48,7 +48,7 @@ public:
 
 class XMLOFF_DLLPUBLIC XMLMarkerStyleExport
 {
-SvXMLExport& rExport;
+SvXMLExport& m_rExport;
 
 public:
 XMLMarkerStyleExport( SvXMLExport& rExport );
diff --git a/include/xmloff/XMLEventsImportContext.hxx 
b/include/xmloff/XMLEventsImportContext.hxx
index dc03d91a61ab..910a12e55079 100644
--- a/include/xmloff/XMLEventsImportContext.hxx
+++ b/include/xmloff/XMLEventsImportContext.hxx
@@ -51,11 +51,11 @@ typedef ::std::pair<
 class XMLOFF_DLLPUBLIC XMLEventsImportContext : public SvXMLImportContext
 {
 // the event XNameReplace; may be empty
-css::uno::Reference xEvents;
+css::uno::Reference m_xEvents;
 
 protected:
 // if no XNameReplace is given, use this vector to collect events
-std::vector< EventNameValuesPair > aCollectEvents;
+std::vector< EventNameValuesPair > m_aCollectEvents;
 
 public:
 
diff --git a/include/xmloff/XMLFontStylesContext.hxx 
b/include/xmloff/XMLFontStylesContext.hxx
index 6768ca43b970..13bfb0545325 100644
--- a/include/xmloff/XMLFontStylesContext.hxx
+++ b/include/xmloff/XMLFontStylesContext.hxx
@@ -35,12 +35,12 @@ class XMLFontEncodingPropHdl;
 
 class XMLOFF_DLLPUBLIC XMLFontStylesContext final : public SvXMLStylesContext
 {
-std::unique_ptrpFamilyNameHdl;
-std::unique_ptrpFamilyHdl;
-std::unique_ptr pPitchHdl;
-std::unique_ptr  pEncHdl;
+std::unique_ptrm_pFamilyNameHdl;
+std::unique_ptrm_pFamilyHdl;
+std::unique_ptr m_pPitchHdl;
+std::unique_ptr  m_pEncHdl;
 
-rtl_TextEncodingeDfltEncoding;
+rtl_TextEncodingm_eDefaultEncoding;
 
 using SvXMLStylesContext::CreateStyleChildContext;
 virtual SvXMLStyleContext *CreateStyleChildContext( sal_Int32 nElement,
@@ -60,12 +60,12 @@ public:
  sal_Int32 nPitchIdx,
  sal_Int32 nCharsetIdx ) const;
 
-rtl_TextEncoding GetDfltCharset() const { return eDfltEncoding; }
+rtl_TextEncoding GetDfltCharset() const { return m_eDefaultEncoding; }
 
-XMLFontFamilyNamePropHdl& GetFamilyNameHdl() const { return 
*pFamilyNameHdl; }
-XMLFontFamilyPropHdl& GetFamilyHdl() const { return *pFamilyHdl; }
-XMLFontPitchPropHdl& GetPitchHdl() const { return *pPitchHdl; }
-XMLFontEncodingPropHdl& GetEncodingHdl() const { return *pEncHdl; }
+XMLFontFamilyNamePropHdl& GetFamilyNameHdl() const { return 
*m_pFamilyNameHdl; }
+XMLFontFamilyPropHdl& GetFamilyHdl() const { return *m_pFamilyHdl; }
+XMLFontPitchPropHdl& GetPitchHdl() const { return *m_pPitchHdl; }
+XMLFontEncodingPropHdl& GetEncodingHdl() const { return *m_pEncHdl; }
 
 };
 
diff --git a/xmloff/source/forms/eventimport.cxx 
b/xmloff/source/forms/eventimport.cxx
index 02bfe7764a6b..ae909fd9e9c0 100644
--- a/xmloff/source/forms/eventimport.cxx
+++ b/xmloff/source/forms/eventimport.cxx
@@ -40,12 +40,12 @@ namespace xmloff
 
 void OFormEventsImportContext::endFastElement(sal_Int32 )
 {
-Sequence< ScriptEventDescriptor > aTranslated(aCollectEvents.size());
+Sequence< ScriptEventDescriptor > aTranslated(m_aCollectEvents.size());
 ScriptEventDescriptor* pTranslated = aTranslated.getArray();
 
 // loop through the collected events and translate them
 sal_Int32 nSeparatorPos = -1;
-for ( const auto& rEvent : aCollectEvents )
+for ( const auto& rEvent : m_aCollectEvents )
 {
 // the name of the event is buil