android/source/build.gradle                                     |    1 
 download.lst                                                    |    4 
 extensions/source/macosx/quicklookpreview/appex/Info.plist.in   |    4 
 extensions/source/macosx/quicklookthumbnail/appex/Info.plist.in |    4 
 external/lcms2/0001-Added-missing-export.patch.1                |   25 --
 external/lcms2/ExternalPackage_lcms2.mk                         |    2 
 external/lcms2/UnpackedTarball_lcms2.mk                         |    4 
 external/lcms2/lcms2-windows_aarch64_outdir.patch.1             |   26 --
 oox/source/drawingml/shape.cxx                                  |   14 -
 scp2/source/ooo/file_extra_ooo.scp                              |    1 
 sd/qa/unit/data/pptx/tdf165261.pptx                             |binary
 sd/qa/unit/data/xml/n762695_1.xml                               |    4 
 sd/qa/unit/data/xml/n820786_0.xml                               |    4 
 sd/qa/unit/data/xml/tdf90338_0.xml                              |    2 
 sd/qa/unit/data/xml/tdf92001_0.xml                              |    2 
 sd/qa/unit/export-tests-ooxml4.cxx                              |   28 ++
 solenv/bin/modules/installer/windows/mergemodule.pm             |   33 +-
 sw/inc/view.hxx                                                 |    2 
 sw/qa/extras/layout/data/tdf149089.fodt                         |  121 
++++++++++
 sw/qa/extras/layout/layout5.cxx                                 |   14 +
 sw/source/core/text/itrform2.cxx                                |    9 
 sw/source/filter/ww8/ww8par.cxx                                 |    2 
 sw/source/uibase/docvw/edtwin.cxx                               |    2 
 sw/source/uibase/uiview/viewling.cxx                            |    9 
 vcl/qt5/QtTransferable.cxx                                      |   11 
 25 files changed, 220 insertions(+), 108 deletions(-)

New commits:
commit e2a673f095ee51f373eafce661471b1a73d99b5d
Author:     Balazs Varga <[email protected]>
AuthorDate: Tue Feb 18 10:31:06 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:02 2025 +0100

    tdf#165261 - PPTX import: fix text in shape is left-aligned
    
    instead of being centered
    
    regression from: 1d9ce0a67a71e51569cd33c26270eeece587a354
    (tdf#162571 - sd: Text box expands or shrinks on left or right or...)
    
    Change-Id: Ieed39426dc5aec7a34d15bbb0a4faaeba04ba50f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181822
    Tested-by: Jenkins
    Reviewed-by: Balazs Varga <[email protected]>
    (cherry picked from commit f9b9bf030618f66eccf9168413f1935ac521f161)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181859
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 409b67b58ba2..cd2903179949 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -1531,16 +1531,12 @@ Reference< XShape > const & Shape::createAndInsert(
                 std::optional<css::style::ParagraphAdjust>& oParaAdjust
                     = 
mpTextBody->getParagraphs()[0]->getProperties().getParaAdjust();
 
-                bool bAutoHeight = false;
-                Reference< XPropertySetInfo > 
xSetInfo(xSet->getPropertySetInfo());
-                const OUString& rPropName = 
PropertyMap::getPropertyName(PROP_TextAutoGrowHeight);
-                if (xSetInfo.is() && xSetInfo->hasPropertyByName(rPropName))
-                {
-                    uno::Any aTextAutoGrowHeight = 
xSet->getPropertyValue(u"TextAutoGrowHeight"_ustr);
-                    aTextAutoGrowHeight >>= bAutoHeight;
-                }
+                bool bAutoGrowHeight = getTextBody()
+                    ->getTextProperties()
+                    .maPropertyMap.getProperty(PROP_TextAutoGrowHeight)
+                    .get<bool>();
 
-                if (bAutoHeight && nShapeRotateInclCamera == 0)
+                if (bAutoGrowHeight && nShapeRotateInclCamera == 0)
                 {
                     mpTextBody->getTextProperties().maPropertyMap.setProperty(
                         PROP_TextHorizontalAdjust, lcl_convertTextAdjust(
diff --git a/sd/qa/unit/data/pptx/tdf165261.pptx 
b/sd/qa/unit/data/pptx/tdf165261.pptx
new file mode 100644
index 000000000000..1f0ae1706401
Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf165261.pptx differ
diff --git a/sd/qa/unit/data/xml/n762695_1.xml 
b/sd/qa/unit/data/xml/n762695_1.xml
index 8cd404c575be..02d3b735da86 100644
--- a/sd/qa/unit/data/xml/n762695_1.xml
+++ b/sd/qa/unit/data/xml/n762695_1.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <XShapes>
- <XShape positionX="3175" positionY="7197" sizeX="17991" sizeY="7619" 
type="com.sun.star.drawing.CustomShape" name="Freeform 15" 
fontHeight="24.000000" fontColor="000000" textAutoGrowHeight="false" 
textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" 
textHorizontalAdjust="LEFT" textVerticalAdjust="CENTER" textLeftDistance="250" 
textRightDistance="250" textUpperDistance="125" textLowerDistance="125" 
textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" 
textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" 
textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" 
fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="3175" positionY="7197" sizeX="17991" sizeY="7619" 
type="com.sun.star.drawing.CustomShape" name="Freeform 15" 
fontHeight="24.000000" fontColor="000000" textAutoGrowHeight="false" 
textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" 
textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" 
textRightDistance="250" textUpperDistance="125" textLowerDistance="125" 
textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" 
textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" 
textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" 
fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" 
endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" 
startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" 
border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" 
stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
@@ -85,7 +85,7 @@
    </PropertyValue>
   </CustomShapeGeometry>
  </XShape>
- <XShape positionX="3387" positionY="4229" sizeX="17682" sizeY="9528" 
type="com.sun.star.drawing.CustomShape" name="Freeform 16" 
fontHeight="24.000000" fontColor="000000" textAutoGrowHeight="false" 
textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" 
textHorizontalAdjust="LEFT" textVerticalAdjust="CENTER" textLeftDistance="250" 
textRightDistance="250" textUpperDistance="125" textLowerDistance="125" 
textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" 
textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" 
textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" 
fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="3387" positionY="4229" sizeX="17682" sizeY="9528" 
type="com.sun.star.drawing.CustomShape" name="Freeform 16" 
fontHeight="24.000000" fontColor="000000" textAutoGrowHeight="false" 
textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" 
textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" 
textRightDistance="250" textUpperDistance="125" textLowerDistance="125" 
textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" 
textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" 
textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="NONE" fillColor="729fcf" 
fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" 
endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" 
startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" 
border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" 
stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
diff --git a/sd/qa/unit/data/xml/n820786_0.xml 
b/sd/qa/unit/data/xml/n820786_0.xml
index fee4d9667e52..4b2e06b3f347 100644
--- a/sd/qa/unit/data/xml/n820786_0.xml
+++ b/sd/qa/unit/data/xml/n820786_0.xml
@@ -64,7 +64,7 @@
  </XShape>
  <XShape positionX="20904" positionY="11701" sizeX="846" sizeY="1057" 
type="com.sun.star.drawing.GroupShape" name="Group 43">
   <XShapes>
-   <XShape positionX="21750" positionY="12758" sizeX="846" sizeY="1057" 
type="com.sun.star.drawing.CustomShape" name="Oval 44" fontHeight="24.000000" 
fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" 
textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="LEFT" 
textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" 
textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" 
textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" 
textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" 
textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="HATCH" fillColor="ffffff" 
fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="21750" positionY="12758" sizeX="846" sizeY="1057" 
type="com.sun.star.drawing.CustomShape" name="Oval 44" fontHeight="24.000000" 
fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" 
textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" 
textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" 
textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" 
textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" 
textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" 
textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="HATCH" fillColor="ffffff" 
fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" 
endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" 
startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" 
angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" 
endIntensity="100" stepCount="0"/>
     <FillHatch style="DOUBLE" color="000000" distance="175" angle="450"/>
@@ -148,7 +148,7 @@
      </PropertyValue>
     </CustomShapeGeometry>
    </XShape>
-   <XShape positionX="21750" positionY="12758" sizeX="211" sizeY="1057" 
type="com.sun.star.drawing.CustomShape" name="Oval 45" fontHeight="24.000000" 
fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" 
textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="LEFT" 
textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" 
textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" 
textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" 
textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" 
textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="HATCH" fillColor="ffffff" 
fillTransparence="0" fillTransparenceGradientName="">
+   <XShape positionX="21750" positionY="12758" sizeX="211" sizeY="1057" 
type="com.sun.star.drawing.CustomShape" name="Oval 45" fontHeight="24.000000" 
fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" 
textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" 
textVerticalAdjust="CENTER" textLeftDistance="250" textRightDistance="250" 
textUpperDistance="125" textLowerDistance="125" textMaximumFrameHeight="0" 
textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" 
textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" 
textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="HATCH" fillColor="ffffff" 
fillTransparence="0" fillTransparenceGradientName="">
     <FillTransparenceGradient style="LINEAR" startColor="000000" 
endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" 
startIntensity="100" endIntensity="100" stepCount="0"/>
     <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" 
angle="0" border="0" xOffset="50" yOffset="50" startIntensity="100" 
endIntensity="100" stepCount="0"/>
     <FillHatch style="DOUBLE" color="000000" distance="175" angle="450"/>
diff --git a/sd/qa/unit/data/xml/tdf90338_0.xml 
b/sd/qa/unit/data/xml/tdf90338_0.xml
index 792eca6f4cf1..741d6ca08071 100644
--- a/sd/qa/unit/data/xml/tdf90338_0.xml
+++ b/sd/qa/unit/data/xml/tdf90338_0.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <XShapes>
- <XShape positionX="5498" positionY="2715" sizeX="11630" sizeY="8623" 
type="com.sun.star.drawing.CustomShape" name="Freeform 3" 
fontHeight="11.000000" fontColor="000000" textAutoGrowHeight="false" 
textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" 
textHorizontalAdjust="LEFT" textVerticalAdjust="CENTER" textLeftDistance="250" 
textRightDistance="250" textUpperDistance="125" textLowerDistance="125" 
textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" 
textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" 
textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="SOLID" fillColor="e7e6e6" 
fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="5498" positionY="2715" sizeX="11630" sizeY="8623" 
type="com.sun.star.drawing.CustomShape" name="Freeform 3" 
fontHeight="11.000000" fontColor="000000" textAutoGrowHeight="false" 
textAutoGrowWidth="false" textContourFrame="false" textFitToSize="NONE" 
textHorizontalAdjust="BLOCK" textVerticalAdjust="CENTER" textLeftDistance="250" 
textRightDistance="250" textUpperDistance="125" textLowerDistance="125" 
textMaximumFrameHeight="0" textMaximumFrameWidth="0" textMinimumFrameHeight="0" 
textMinimumFrameWidth="0" textAnimationAmount="0" textAnimationCount="0" 
textAnimationDelay="0" textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="SOLID" fillColor="e7e6e6" 
fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" 
endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" 
startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" 
border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" 
stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
diff --git a/sd/qa/unit/data/xml/tdf92001_0.xml 
b/sd/qa/unit/data/xml/tdf92001_0.xml
index d5c59dd7ff0e..d67952eb1fe5 100644
--- a/sd/qa/unit/data/xml/tdf92001_0.xml
+++ b/sd/qa/unit/data/xml/tdf92001_0.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <XShapes>
- <XShape positionX="4826" positionY="4826" sizeX="19557" sizeY="12953" 
type="com.sun.star.drawing.CustomShape" fontHeight="18.000000" 
fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" 
textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="LEFT" 
textVerticalAdjust="CENTER" textLeftDistance="325" textRightDistance="325" 
textUpperDistance="200" textLowerDistance="200" textMaximumFrameHeight="0" 
textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" 
textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" 
textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="SOLID" fillColor="729fcf" 
fillTransparence="0" fillTransparenceGradientName="">
+ <XShape positionX="4826" positionY="4826" sizeX="19557" sizeY="12953" 
type="com.sun.star.drawing.CustomShape" fontHeight="18.000000" 
fontColor="000000" textAutoGrowHeight="false" textAutoGrowWidth="false" 
textContourFrame="false" textFitToSize="NONE" textHorizontalAdjust="BLOCK" 
textVerticalAdjust="CENTER" textLeftDistance="325" textRightDistance="325" 
textUpperDistance="200" textLowerDistance="200" textMaximumFrameHeight="0" 
textMaximumFrameWidth="0" textMinimumFrameHeight="0" textMinimumFrameWidth="0" 
textAnimationAmount="0" textAnimationCount="0" textAnimationDelay="0" 
textAnimationDirection="LEFT" textAnimationKind="NONE" 
textAnimationStartInside="false" textAnimationStopInside="false" 
textWritingMode="LR_TB" fillStyle="SOLID" fillColor="729fcf" 
fillTransparence="0" fillTransparenceGradientName="">
   <FillTransparenceGradient style="LINEAR" startColor="000000" 
endColor="000000" angle="0" border="0" xOffset="50" yOffset="50" 
startIntensity="100" endIntensity="100" stepCount="0"/>
   <FillGradient style="LINEAR" startColor="3465a4" endColor="ffffff" angle="0" 
border="0" xOffset="50" yOffset="50" startIntensity="100" endIntensity="100" 
stepCount="0"/>
   <FillHatch style="SINGLE" color="3465a4" distance="20" angle="0"/>
diff --git a/sd/qa/unit/export-tests-ooxml4.cxx 
b/sd/qa/unit/export-tests-ooxml4.cxx
index 4cf8e852267b..d9bea30c1334 100644
--- a/sd/qa/unit/export-tests-ooxml4.cxx
+++ b/sd/qa/unit/export-tests-ooxml4.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/awt/FontUnderline.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
 #include <com/sun/star/drawing/FillStyle.hpp>
+#include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
 #include <com/sun/star/lang/Locale.hpp>
 #include <com/sun/star/text/GraphicCrop.hpp>
@@ -1346,6 +1347,33 @@ CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest4, 
testConvertWithMasterDeduplication)
     }
 }
 
+CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest4, testTdf162571HorzAnchor)
+{
+    createSdImpressDoc("pptx/tdf165261.pptx");
+    saveAndReload(u"Impress Office Open XML"_ustr);
+
+    uno::Reference<drawing::XShape> xShape(getShapeFromPage(1, 0), 
uno::UNO_QUERY);
+    uno::Reference<beans::XPropertySet> xProp(xShape, uno::UNO_QUERY);
+
+    drawing::TextHorizontalAdjust eHori;
+    CPPUNIT_ASSERT(xProp->getPropertyValue(u"TextHorizontalAdjust"_ustr) >>= 
eHori);
+    
CPPUNIT_ASSERT_EQUAL(drawing::TextHorizontalAdjust::TextHorizontalAdjust_LEFT, 
eHori);
+}
+
+CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest4, testTdf165261HorzAnchor)
+{
+    createSdImpressDoc("pptx/tdf165261.pptx");
+    saveAndReload(u"Impress Office Open XML"_ustr);
+
+    uno::Reference<drawing::XShapes> xGroupShape(getShapeFromPage(0, 0), 
uno::UNO_QUERY);
+    uno::Reference<drawing::XShape> xShape(xGroupShape->getByIndex(0), 
uno::UNO_QUERY);
+
+    uno::Reference<beans::XPropertySet> xProp(xShape, uno::UNO_QUERY);
+    drawing::TextHorizontalAdjust eHori;
+    CPPUNIT_ASSERT(xProp->getPropertyValue(u"TextHorizontalAdjust"_ustr) >>= 
eHori);
+    
CPPUNIT_ASSERT_EQUAL(drawing::TextHorizontalAdjust::TextHorizontalAdjust_CENTER,
 eHori);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit b1506104fcd1f0166caad07ec1a65223c243d524
Author:     Jonathan Clark <[email protected]>
AuthorDate: Thu Feb 13 02:46:49 2025 -0700
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    tdf#149089 sw: DOC/DOCX portions should not be snapped to char grid
    
    The Writer and Word text grid implementations differ significantly.
    Writer tries to align characters to grid cells for attractive
    typesetting. Word, on the other hand, adds extra space to each character
    based solely on the grid metrics, with no effort to align characters to
    the grid. The result looks odd, but emulating it is necessary in order
    to display most CJK Word documents (or non-CJK documents translated
    from CJK languages).
    
    Part of this mismatch was already addressed by tdf#161145.
    
    This change builds upon the previous work by updating Writer to no
    longer insert extra kerning portions when the MS_WORD_COMP_GRID_METRICS
    compatibility flag is set. Writer normally needs these portions in order
    to align the starts of successive portions to the grid. However, Word
    doesn't do this. This mismatch was causing layout issues manifesting as
    excessive indentation or whitespace inserted into text where none is
    expected.
    
    Change-Id: I3adf9001bdb49a69bdf760919d6f8810eac565d7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181617
    Reviewed-by: Jonathan Clark <[email protected]>
    Tested-by: Jenkins
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181633
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/sw/qa/extras/layout/data/tdf149089.fodt 
b/sw/qa/extras/layout/data/tdf149089.fodt
new file mode 100644
index 000000000000..e3aa2bd353c3
--- /dev/null
+++ b/sw/qa/extras/layout/data/tdf149089.fodt
@@ -0,0 +1,121 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<office:document xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.4" office:mimetype="application/vnd.oasis.opendocument.text">
+ 
<office:meta><meta:creation-date>2025-02-13T04:23:16.326282421</meta:creation-date><meta:generator>LibreOfficeDev/25.8.0.0.alpha0$Linux_X86_64
 
LibreOffice_project/1b9abff28de5e0e0d4ff3583facbb7db78b5f4be</meta:generator><dc:date>2025-02-13T04:27:41.902739947</dc:date><meta:editing-duration>PT4M23S</meta:editing-duration><meta:editing-cycles>7</meta:editing-cycles><meta:document-statistic
 meta:table-count="0" meta:image-count="0" meta:object-count="0" 
meta:page-count="1" meta:paragraph-count="1" meta:word-count="3" 
meta:character-count="13" 
meta:non-whitespace-character-count="11"/></office:meta>
+ <office:settings>
+  <config:config-item-set config:name="ooo:configuration-settings">
+   <config:config-item config:name="MsWordCompGridMetrics" 
config:type="boolean">true</config:config-item>
+  </config:config-item-set>
+ </office:settings>
+ <office:font-face-decls>
+  <style:font-face style:name="Liberation Serif" svg:font-family="'Liberation 
Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
+  <style:font-face style:name="Noto Sans Arabic" svg:font-family="'Noto Sans 
Arabic'" style:font-adornments="Regular" style:font-family-generic="swiss" 
style:font-pitch="variable"/>
+  <style:font-face style:name="Noto Sans1" svg:font-family="'Noto Sans'" 
style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="Noto Sans2" svg:font-family="'Noto Sans'" 
style:font-adornments="Regular" style:font-family-generic="swiss" 
style:font-pitch="variable"/>
+  <style:font-face style:name="Noto Serif CJK SC" svg:font-family="'Noto Serif 
CJK SC'" style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+  <style:default-style style:family="graphic">
+   <style:graphic-properties svg:stroke-color="#3465a4" 
draw:fill-color="#729fcf" fo:wrap-option="no-wrap" 
draw:shadow-offset-x="0.1181in" draw:shadow-offset-y="0.1181in" 
draw:start-line-spacing-horizontal="0.1114in" 
draw:start-line-spacing-vertical="0.1114in" 
draw:end-line-spacing-horizontal="0.1114in" 
draw:end-line-spacing-vertical="0.1114in" style:writing-mode="lr-tb" 
style:flow-with-text="false"/>
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" 
style:line-break="strict" loext:tab-stop-distance="0in" 
style:writing-mode="lr-tb" style:font-independent-line-spacing="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties style:use-window-font-color="true" 
loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt" 
fo:language="en" fo:country="US" style:letter-kerning="true" 
style:font-name-asian="Noto Serif CJK SC" style:font-size-asian="10.5pt" 
style:language-asian="zh" style:country-asian="CN" 
style:font-name-complex="Noto Sans1" style:font-size-complex="12pt" 
style:language-complex="hi" style:country-complex="IN"/>
+  </style:default-style>
+  <style:default-style style:family="paragraph">
+   <style:paragraph-properties fo:orphans="2" fo:widows="2" 
fo:hyphenation-ladder-count="no-limit" fo:hyphenation-keep="auto" 
loext:hyphenation-keep-type="column" style:text-autospace="ideograph-alpha" 
style:punctuation-wrap="hanging" style:line-break="strict" 
style:tab-stop-distance="0.4925in" style:writing-mode="page"/>
+   <style:text-properties style:use-window-font-color="true" 
loext:opacity="0%" style:font-name="Liberation Serif" fo:font-size="12pt" 
fo:language="en" fo:country="US" style:letter-kerning="true" 
style:font-name-asian="Noto Serif CJK SC" style:font-size-asian="10.5pt" 
style:language-asian="zh" style:country-asian="CN" 
style:font-name-complex="Noto Sans1" style:font-size-complex="12pt" 
style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" 
fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" 
loext:hyphenation-no-caps="false" loext:hyphenation-no-last-word="false" 
loext:hyphenation-word-char-count="5" loext:hyphenation-zone="no-limit"/>
+  </style:default-style>
+  <style:default-style style:family="table">
+   <style:table-properties table:border-model="collapsing"/>
+  </style:default-style>
+  <style:default-style style:family="table-row">
+   <style:table-row-properties fo:keep-together="auto"/>
+  </style:default-style>
+  <style:style style:name="Standard" style:family="paragraph" 
style:class="text"/>
+  <text:outline-style style:name="Outline">
+   <text:outline-level-style text:level="1" loext:num-list-format="%1%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="2" loext:num-list-format="%2%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="3" loext:num-list-format="%3%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="4" loext:num-list-format="%4%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="5" loext:num-list-format="%5%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="6" loext:num-list-format="%6%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="7" loext:num-list-format="%7%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="8" loext:num-list-format="%8%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="9" loext:num-list-format="%9%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="10" loext:num-list-format="%10%" 
style:num-format="">
+    <style:list-level-properties 
text:list-level-position-and-space-mode="label-alignment">
+     <style:list-level-label-alignment text:label-followed-by="listtab"/>
+    </style:list-level-properties>
+   </text:outline-level-style>
+  </text:outline-style>
+  <text:notes-configuration text:note-class="footnote" style:num-format="1" 
text:start-value="0" text:footnotes-position="page" 
text:start-numbering-at="document"/>
+  <text:notes-configuration text:note-class="endnote" style:num-format="i" 
text:start-value="0"/>
+  <text:linenumbering-configuration text:number-lines="false" 
text:offset="0.1965in" style:num-format="1" text:number-position="left" 
text:increment="5"/>
+  </office:styles>
+ <office:automatic-styles>
+  <style:style style:name="P1" style:family="paragraph" 
style:parent-style-name="Standard">
+   <style:text-properties style:font-name="Noto Sans2" fo:font-size="60pt" 
style:font-name-asian="Noto Sans2" style:font-size-asian="60pt" 
style:font-name-complex="Noto Sans Arabic" style:font-size-complex="60pt"/>
+  </style:style>
+  <style:page-layout style:name="pm1">
+   <style:page-layout-properties fo:page-width="8.2681in" 
fo:page-height="11.6929in" style:num-format="1" 
style:print-orientation="portrait" fo:margin-top="0.7874in" 
fo:margin-bottom="0.7874in" fo:margin-left="0.7874in" 
fo:margin-right="0.7874in" style:writing-mode="lr-tb" 
style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" 
style:layout-grid-base-height="0.278in" style:layout-grid-ruby-height="0.139in" 
style:layout-grid-mode="both" style:layout-grid-ruby-below="false" 
style:layout-grid-print="true" style:layout-grid-display="true" 
style:footnote-max-height="0in" loext:margin-gutter="0in">
+    <style:footnote-sep style:width="0.0071in" 
style:distance-before-sep="0.0398in" style:distance-after-sep="0.0398in" 
style:line-style="solid" style:adjustment="left" style:rel-width="25%" 
style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style/>
+   <style:footer-style/>
+  </style:page-layout>
+  <style:style style:name="dp1" style:family="drawing-page">
+   <style:drawing-page-properties draw:background-size="full"/>
+  </style:style>
+ </office:automatic-styles>
+ <office:master-styles>
+  <style:master-page style:name="Standard" style:page-layout-name="pm1" 
draw:style-name="dp1"/>
+ </office:master-styles>
+ <office:body>
+  <office:text>
+   <text:sequence-decls>
+    <text:sequence-decl text:display-outline-level="0" 
text:name="Illustration"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
+   </text:sequence-decls>
+   <text:p text:style-name="P1">Test ألف Test</text:p>
+  </office:text>
+ </office:body>
+</office:document>
\ No newline at end of file
diff --git a/sw/qa/extras/layout/layout5.cxx b/sw/qa/extras/layout/layout5.cxx
index 73b0218a16e1..f749d188694d 100644
--- a/sw/qa/extras/layout/layout5.cxx
+++ b/sw/qa/extras/layout/layout5.cxx
@@ -1529,6 +1529,20 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter5, testTdf144450)
     CPPUNIT_ASSERT_LESS(sal_Int32(5765), nCase11);
 }
 
+CPPUNIT_TEST_FIXTURE(SwLayoutWriter5, testTdf149089)
+{
+    createSwDoc("tdf149089.fodt");
+    auto pXmlDoc = parseLayoutDump();
+
+    // Tests that kern portions aren't inserted for lines-and-chars grids when 
the
+    // MS_WORD_COMP_GRID_METRICS compatibility flag is set.
+    //
+    // Without the fix, this would be 4
+    sal_Int32 nKernPors
+        = getXPathContent(pXmlDoc, 
"count(//SwLinePortion[@type='PortionType::Kern'])").toInt32();
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(0), nKernPors);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/text/itrform2.cxx b/sw/source/core/text/itrform2.cxx
index 2cb76dc3f60c..cab7c33ed951 100644
--- a/sw/source/core/text/itrform2.cxx
+++ b/sw/source/core/text/itrform2.cxx
@@ -441,9 +441,14 @@ void SwTextFormatter::BuildPortions( SwTextFormatInfo 
&rInf )
 
     // Asian grid stuff
     SwTextGridItem const*const pGrid(GetGridItem(m_pFrame->FindPageFrame()));
-    const bool bHasGrid = pGrid && rInf.SnapToGrid() &&
-                              GRID_LINES_CHARS == pGrid->GetGridType();
 
+    // tdf#149089: For compatibility with MSO grid layout, do not insert kern 
portions to
+    // align successive portions to the char grid when 
MS_WORD_COMP_GRID_METRICS is set.
+    // See also tdf#161145.
+    const bool bHasGrid = pGrid && rInf.SnapToGrid()
+                          && GRID_LINES_CHARS == pGrid->GetGridType()
+                          && 
!GetTextFrame()->GetDoc().getIDocumentSettingAccess().get(
+                              DocumentSettingId::MS_WORD_COMP_GRID_METRICS);
 
     const SwDoc & rDoc = rInf.GetTextFrame()->GetDoc();
     const sal_uInt16 nGridWidth = bHasGrid ? GetGridWidth(*pGrid, rDoc) : 0;
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index f9f6136f31a4..6773e9e9fe9e 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -1885,6 +1885,8 @@ void SwWW8ImplReader::ImportDop()
     // tdf#155229 calculate minimum row height including horizontal border 
width
     m_rDoc.getIDocumentSettingAccess().set(
         DocumentSettingId::MIN_ROW_HEIGHT_INCL_BORDER, true);
+    // use Word-compatible CJK text grid metrics
+    
m_rDoc.getIDocumentSettingAccess().set(DocumentSettingId::MS_WORD_COMP_GRID_METRICS,
 true);
 
     // Import Default Tabs
     tools::Long nDefTabSiz = m_xWDop->dxaTab;
commit 97879ae28888a0ddcd2588c4bbcfd5d33cf1dd06
Author:     Michael Weghorn <[email protected]>
AuthorDate: Tue Feb 18 12:16:09 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    tdf#165211 android: Include tabbuttonsmirrored.ui
    
    This fixes a crash seen when trying to open the
    sample file from tdf#165211. From ADB log:
    
        02-18 12:10:07.538  7343  7378 E libo:sal/osl/unx/file: failed to open 
/assets/share/config/soffice.cfg/svt/ui/tabbuttonsmirrored.ui
        02-18 12:10:07.538  7343  7378 W vcl.builder: 
1:include/vcl/widgetbuilder.hxx:74: Unable to read .ui file 
file:///assets/share/config/soffice.cfg/svt/ui/tabbuttonsmirrored.ui
        02-18 12:10:07.538  7343  7378 F libc    : 
/home/michi/development/git/libreoffice-WORKTREE-android/include/vcl/widgetbuilder.hxx:76:
 void WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, 
VclPtr<PopupMenu>>::processUIFile(Widget *) [Widget = vcl::Window, WidgetPtr = 
VclPtr<vcl::Window>, MenuClass = PopupMenu, MenuPtr = VclPtr<PopupMenu>]: 
assertion "false && "missing ui file or missing gb_CppunitTest_use_uiconfigs 
dependency"" failed
        02-18 12:10:07.538  7343  7381 I stderr  : 
/home/michi/development/git/libreoffice-WORKTREE-android/include/vcl/widgetbuilder.hxx:76:
 void WidgetBuilder<vcl::Window, VclPtr<vcl::Window>, PopupMenu, 
VclPtr<PopupMenu>>::processUIFile(Widget *) [Widget = vcl::Window, WidgetPtr = 
VclPtr<vcl::Window>, MenuClass = PopupMenu, MenuPtr = VclPtr<PopupMenu>]: 
assertion "false && "missing ui file or missing gb_CppunitTest_use_uiconfigs 
dependency"" failed
        02-18 12:10:07.538  7343  7378 E LibreOffice/androidinst: SalAbort: 
'Unspecified application error'
        02-18 12:10:07.538  7343  7378 F libc    : Fatal signal 6 (SIGABRT), 
code -1 (SI_QUEUE) in tid 7378 (Thread-2), pid 7343 (org.libreoffice)
    
    Change-Id: Ie3917043671f43af5e8251d4d9a05723c0c51690
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181828
    Reviewed-by: Michael Weghorn <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 45cfeed90899ff43015d9ee9e3bbf42ea07d8992)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181835
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/android/source/build.gradle b/android/source/build.gradle
index 84b9f4233bd0..99d90870e047 100644
--- a/android/source/build.gradle
+++ b/android/source/build.gradle
@@ -181,6 +181,7 @@ task copyAssets(type: Copy) {
                         '**/pbmenubutton.ui',
                         '**/scrollbars.ui',
                         '**/tabbuttons.ui',
+                        '**/tabbuttonsmirrored.ui',
                         '**/tabviewbar.ui'
                         ]
         }
commit 220943f6f4c3bbe3fbefb05aeb4abac7a15fc370
Author:     Justin Luth <[email protected]>
AuthorDate: Wed Feb 12 21:43:25 2025 -0500
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    tdf#164703 tdf#111969 sw Get*Correction: only mouse passes PixelPos
    
    This fixes my 24.8 commit 5bc7d0186d1a70990377a2f4c630fe11e2dfd166.
    
    All my focus was on mouse clicks, so I didn't realize that
    keyboard shortcuts were badly affected.
    
    Avoid all of that cursor -> pixel -> cursor madness
    and just don't provide a pixel position at all
    when it is a keyboard request for a context menu.
    
    I don't see how to create a unit test for this. (See earlier patchsets)
    
    Change-Id: Id1fe7d1c15ce590ea4f882be49cfe539971c8c69
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181522
    Reviewed-by: Justin Luth <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 793853fbd1665e90ab91e9b45826174707617275)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181680

diff --git a/sw/inc/view.hxx b/sw/inc/view.hxx
index 4429382416a4..8c367a171ee6 100644
--- a/sw/inc/view.hxx
+++ b/sw/inc/view.hxx
@@ -453,7 +453,7 @@ public:
     tools::Long            SetHScrollMax(tools::Long lMax);
 
     void            SpellError(LanguageType eLang);
-    bool            ExecSpellPopup( const Point& rPt );
+    bool            ExecSpellPopup(const Point& rPt, bool bIsMouseEvent);
     void            ExecSmartTagPopup( const Point& rPt );
 
     DECL_DLLPRIVATE_LINK( OnlineSpellCallback, SpellCallbackInfo&, void );
diff --git a/sw/source/uibase/docvw/edtwin.cxx 
b/sw/source/uibase/docvw/edtwin.cxx
index 0e24f7542f57..f8c8798c7a5b 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -5783,7 +5783,7 @@ void SwEditWin::Command( const CommandEvent& rCEvt )
                                 aROPopup.Execute(this, aPixPos);
                         }
                     }
-                    else if ( !m_rView.ExecSpellPopup( aDocPos ) )
+                    else if (!m_rView.ExecSpellPopup(aDocPos, 
rCEvt.IsMouseEvent()))
                         SfxDispatcher::ExecutePopup(this, &aPixPos);
                 }
                 else if (m_pApplyTempl->nUndo < 
rSh.GetDoc()->GetIDocumentUndoRedo().GetUndoActionCount())
diff --git a/sw/source/uibase/uiview/viewling.cxx 
b/sw/source/uibase/uiview/viewling.cxx
index ef7c2dfbc77c..ed62ec6fc742 100644
--- a/sw/source/uibase/uiview/viewling.cxx
+++ b/sw/source/uibase/uiview/viewling.cxx
@@ -620,7 +620,7 @@ IMPL_STATIC_LINK( AsyncExecute, ExecuteHdl_Impl, void*, p, 
void )
 }
 //!! End of extra code for context menu modifying extensions
 
-bool SwView::ExecSpellPopup(const Point& rPt)
+bool SwView::ExecSpellPopup(const Point& rPt, bool bIsMouseEvent)
 {
     bool bRet = false;
     const SwViewOption* pVOpt = m_pWrtShell->GetViewOptions();
@@ -666,7 +666,8 @@ bool SwView::ExecSpellPopup(const Point& rPt)
             // if neither spell checking nor grammar checking provides 
suggestions use the
             // default context menu.
             bool bUseGrammarContext = false;
-            Reference< XSpellAlternatives >  xAlt( 
m_pWrtShell->GetCorrection(&rPt, aToFill) );
+            Reference<XSpellAlternatives> xAlt(
+                m_pWrtShell->GetCorrection(bIsMouseEvent ? &rPt : nullptr, 
aToFill));
             ProofreadingResult aGrammarCheckRes;
             sal_Int32 nErrorInResult = -1;
             uno::Sequence< OUString > aSuggestions;
@@ -674,7 +675,9 @@ bool SwView::ExecSpellPopup(const Point& rPt)
             if (!xAlt.is() || !xAlt->getAlternatives().hasElements())
             {
                 sal_Int32 nErrorPosInText = -1;
-                bCorrectionRes = m_pWrtShell->GetGrammarCorrection( 
aGrammarCheckRes, nErrorPosInText, nErrorInResult, aSuggestions, &rPt, aToFill 
);
+                bCorrectionRes = m_pWrtShell->GetGrammarCorrection(
+                    aGrammarCheckRes, nErrorPosInText, nErrorInResult, 
aSuggestions,
+                    bIsMouseEvent ? &rPt : nullptr, aToFill);
                 OUString aMessageText;
                 if (nErrorInResult >= 0)
                     aMessageText = aGrammarCheckRes.aErrors[ nErrorInResult 
].aShortComment;
commit 000b43070d70359b0d355b2cd71d67b37690582c
Author:     Sahil Gautam <[email protected]>
AuthorDate: Thu Feb 13 03:52:25 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    tdf#164886 register gallery/backgrounds with scp2
    
    app background bitmap customization wasn't working on any release of
    25.2. The issue was that the gallery/backgrounds folder wasn't
    registered under the package-file mechanism in the build system.
    
    so the backgrounds weren't included in the installation, hence this
    issue.
    
    Change-Id: I32c70ee80e074e927a59b51d1c5146230f72442f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181520
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit 0434700e36440082c9f23bb591924d9f57f449aa)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181826
    Reviewed-by: Christian Lohmaier <[email protected]>

diff --git a/scp2/source/ooo/file_extra_ooo.scp 
b/scp2/source/ooo/file_extra_ooo.scp
index 47a32179d766..3fcea35d1ce4 100644
--- a/scp2/source/ooo/file_extra_ooo.scp
+++ b/scp2/source/ooo/file_extra_ooo.scp
@@ -39,6 +39,7 @@ End
 #if defined (WITH_GALLERY_BUILD)
 
 GALLERY_FILELIST(sounds)
+GALLERY_FILELIST(backgrounds)
 
 #endif
 
commit 75b9fb10df4dff0894850177d53684873eb8621e
Author:     Xisco Fauli <[email protected]>
AuthorDate: Mon Feb 10 10:52:43 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    lcms2: upgrade to 2.17
    
    * external/lcms2/0001-Added-missing-export.patch.1 has been
    fixed uptream
    * external/lcms2/lcms2-windows_aarch64_outdir.patch.1 has been
    fixed upstream
    
    Downloaded from
    
https://sourceforge.net/projects/lcms/files/lcms/2.17/lcms2-2.17.tar.gz/download
    
    Change-Id: Iae97a557f153279582878c8eb94dc2fab75b658d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181340
    Reviewed-by: Xisco Fauli <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit e52899ed08405f67ea755271a2592ed0df516c77)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181413
    Reviewed-by: Christian Lohmaier <[email protected]>

diff --git a/download.lst b/download.lst
index b23cc00159ea..69b46b5176aa 100644
--- a/download.lst
+++ b/download.lst
@@ -467,8 +467,8 @@ LANGTAGREG_TARBALL := 
language-subtag-registry-2025-02-06.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LCMS2_SHA256SUM := 
d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51
-LCMS2_TARBALL := lcms2-2.16.tar.gz
+LCMS2_SHA256SUM := 
d11af569e42a1baa1650d20ad61d12e41af4fead4aa7964a01f93b08b53ab074
+LCMS2_TARBALL := lcms2-2.17.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/lcms2/0001-Added-missing-export.patch.1 
b/external/lcms2/0001-Added-missing-export.patch.1
deleted file mode 100644
index ad131e9533d3..000000000000
--- a/external/lcms2/0001-Added-missing-export.patch.1
+++ /dev/null
@@ -1,25 +0,0 @@
-From f7b3c637c20508655f8b49935a4b556d52937b69 Mon Sep 17 00:00:00 2001
-From: Dirk Lemstra <[email protected]>
-Date: Sun, 10 Dec 2023 20:31:32 +0100
-Subject: [PATCH] Added missing export.
-
----
- src/cmsvirt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cmsvirt.c b/src/cmsvirt.c
-index 3d662b2..6615604 100644
---- a/src/cmsvirt.c
-+++ b/src/cmsvirt.c
-@@ -676,7 +676,7 @@ cmsHPROFILE CMSEXPORT cmsCreate_sRGBProfile(void)
- * 
- * This virtual profile cannot be saved as an ICC file
- */
--cmsHPROFILE cmsCreate_OkLabProfile(cmsContext ctx)
-+cmsHPROFILE CMSEXPORT cmsCreate_OkLabProfile(cmsContext ctx)
- {
-     cmsStage* XYZPCS = _cmsStageNormalizeFromXyzFloat(ctx);
-     cmsStage* PCSXYZ = _cmsStageNormalizeToXyzFloat(ctx);
--- 
-2.44.0.windows.1
-
diff --git a/external/lcms2/ExternalPackage_lcms2.mk 
b/external/lcms2/ExternalPackage_lcms2.mk
index 62e2ebad8981..a71b31ef7395 100644
--- a/external/lcms2/ExternalPackage_lcms2.mk
+++ b/external/lcms2/ExternalPackage_lcms2.mk
@@ -17,7 +17,7 @@ $(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/liblcms2.2.dy
 else ifeq ($(COM),MSC)
 $(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/lcms2.dll,bin/lcms2.dll))
 else
-$(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/liblcms2.so.2,src/.libs/liblcms2.so.2.0.16))
+$(eval $(call 
gb_ExternalPackage_add_file,lcms2,$(LIBO_LIB_FOLDER)/liblcms2.so.2,src/.libs/liblcms2.so.2.0.17))
 endif
 endif # $(DISABLE_DYNLOADING)
 
diff --git a/external/lcms2/UnpackedTarball_lcms2.mk 
b/external/lcms2/UnpackedTarball_lcms2.mk
index f44683e03809..f99fc708a33e 100644
--- a/external/lcms2/UnpackedTarball_lcms2.mk
+++ b/external/lcms2/UnpackedTarball_lcms2.mk
@@ -20,12 +20,8 @@ ifneq ($(MSYSTEM),)
 $(eval $(call gb_UnpackedTarball_set_patchflags,lcms2,--binary))
 endif
 
-# external/lcms2/0001-Added-missing-export.patch.1:
-# backport of 
https://github.com/mm2/Little-CMS/commit/f7b3c637c20508655f8b49935a4b556d52937b69
 $(eval $(call gb_UnpackedTarball_add_patches,lcms2,\
-       external/lcms2/0001-Added-missing-export.patch.1 \
        external/lcms2/lcms2-2.4-windows.patch \
-       external/lcms2/lcms2-windows_aarch64_outdir.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/lcms2/lcms2-windows_aarch64_outdir.patch.1 
b/external/lcms2/lcms2-windows_aarch64_outdir.patch.1
deleted file mode 100644
index aa27b1b77923..000000000000
--- a/external/lcms2/lcms2-windows_aarch64_outdir.patch.1
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -ur lcms2.org/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj 
lcms2/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj
---- lcms2.org/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj      2023-12-08 
18:49:59.819483000 +0100
-+++ lcms2/Projects/VC2019/lcms2_DLL/lcms2_DLL.vcxproj  2023-12-08 
18:50:59.460115500 +0100
-@@ -92,6 +92,7 @@
-     <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion>
-     <OutDir 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..in\</OutDir>
-     <OutDir 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\..in\</OutDir>
-+    <OutDir 
Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">..\..\..in\</OutDir>
-     <IntDir 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)_$(Platform)\</IntDir>
-     <IntDir 
Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(Configuration)_$(Platform)\</IntDir>
-     <IntDir 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)_$(Platform)\</IntDir>
-@@ -100,6 +101,7 @@
-     <LinkIncremental 
Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
-     <OutDir 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..in\</OutDir>
-     <OutDir 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\..in\</OutDir>
-+    <OutDir 
Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">..\..\..in\</OutDir>
-     <IntDir 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)_$(Platform)\</IntDir>
-     <IntDir 
Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(Configuration)_$(Platform)\</IntDir>
-     <IntDir 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)_$(Platform)\</IntDir>
-@@ -340,4 +342,4 @@
-   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-   <ImportGroup Label="ExtensionTargets">
-   </ImportGroup>
--</Project>
-\ No newline at end of file
-+</Project>
commit e154b40324fff63c3e762fb6f10dfad4301274e3
Author:     Christian Lohmaier <[email protected]>
AuthorDate: Wed Feb 12 21:07:24 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    tdf#165149 fix installing Visual Studio C++ runtime dlls/merge modules
    
    regression from 1cabb20fad8303d16e25957ee245970f37ad2f82
    previously the code had the foreach loop only for the cygwin case, but
    it was added in a way that looked more like a leftover/temporary
    addition to add more fine-grained logging that was left in the code on
    accident rather than intentionally (indents weren't adjusted for
    example) in a commit that talked about adding support for filesystems
    without short names (fac37861914f255c55a196a154575a0d7e143ac8) and the
    code before that one also passed all the tables at once – but it
    turns out that there actually is a functional difference.
    
    Description for msidb's -i option reads:
    "Import text archive files from folder into database. Table names for
    import are file names 8 characters long with an ".idt" extension. Longer
    names are truncated to 8 characters if supplied by command for import.
    Standard wild card specifications may be used."
    
    Maybe that truncation mechansism doesn't work as expected when
    specifying more than one table… Instead of messing around with that
    however: Play it safe and use the method that was used for the last
    14 years
    
    Change-Id: If1bdc1f01f4ccdee13277267f5407046cba4ca03
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181511
    Reviewed-by: Christian Lohmaier <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 7fa9691dc204cef02b14141697f1a68330dcdf30)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181519
    Reviewed-by: Ilmari Lauhakangas <[email protected]>

diff --git a/solenv/bin/modules/installer/windows/mergemodule.pm 
b/solenv/bin/modules/installer/windows/mergemodule.pm
index 2fc8a98c0211..7f5055b70217 100644
--- a/solenv/bin/modules/installer/windows/mergemodule.pm
+++ b/solenv/bin/modules/installer/windows/mergemodule.pm
@@ -535,23 +535,26 @@ sub merge_mergemodules_into_msi_database
 
             installer::logger::include_timestamp_into_logfile("
Performance Info: Before including tables");
 
-            $systemcall = $msidb . " -d " . $msifilename . " -f " . $workdir . 
" -i " . $workingtables. " " . $executetables;
-            # msidb.exe really wants backslashes
-            $systemcall =~ s/\//\\/g;
+            # trying to import all tables at once seems to work fine, but 
creates a broken installer tdf#165149
+            foreach my $table (split / /, $workingtables . ' ' . 
$executetables) {
+                $systemcall = $msidb . " -d " . $msifilename . " -f " . 
$workdir . " -i " . $table;
+                # msidb.exe really wants backslashes
+                $systemcall =~ s/\//\\/g;
 
-            $systemcall_output = `$systemcall`;
-            $returnvalue = $? >> 8;
+                $systemcall_output = `$systemcall`;
+                $returnvalue = $? >> 8;
 
-            if ($returnvalue)
-            {
-                $infoline = "ERROR: Could not execute $systemcall - 
returncode: $returnvalue - output: $systemcall_output
";
-                push( @installer::globals::logfileinfo, $infoline);
-                installer::exiter::exit_program("ERROR: Could not include 
tables into msi database: $msifilename !", 
"merge_mergemodules_into_msi_database");
-            }
-            else
-            {
-                $infoline = "Success: Executed $systemcall successfully!
";
-                push( @installer::globals::logfileinfo, $infoline);
+                if ($returnvalue)
+                {
+                    $infoline = "ERROR: Could not execute $systemcall - 
returncode: $returnvalue - output: $systemcall_output
";
+                    push( @installer::globals::logfileinfo, $infoline);
+                    installer::exiter::exit_program("ERROR: Could not include 
tables into msi database: $msifilename !", 
"merge_mergemodules_into_msi_database");
+                }
+                else
+                {
+                    $infoline = "Success: Executed $systemcall successfully!
";
+                    push( @installer::globals::logfileinfo, $infoline);
+                }
             }
 
             installer::logger::include_timestamp_into_logfile("
Performance Info: After including tables");
commit 3f15d0718e42669478febf68bb8101feee9e1c6d
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Feb 14 10:38:13 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    tdf#165238 qt: Rely on Qt for "text/plain" and UTF-8 clipboard text
    
    QMimeData::text implements handling for the
    "text/plain;charset=utf-8" and "text/plain" MIME types
    (see [1]).
    
    Rely on that instead of implementing our own handling for
    these MIME types.
    
    This fixes copying Greek characters from Firefox as plain
    text into Writer with qt6 on Wayland (tdf#165238).
    
    This approach was already mentioned as an idea in
    
        commit 5b3227fac58dcbd588e2389e205679cd77842bac
        Author: Michael Weghorn <[email protected]>
        Date:   Wed Apr 6 13:51:59 2022 +0200
    
            tdf#147285 qt: Prefer "text/plain;charset=utf-8" over "text/plain"
    
    > (An alternative solution to adding our own handling for
    > "text/plain;charset=utf-8" and making assumptions for the
    > encoding of "text/plain" data would be to let Qt handle
    > this and just call `QMimeData::text()` for the
    > `m_bProvideUTF16FromOtherEncoding=true` case
    > in `QtTransferable::getTransferData`.
    > Since qtbase commit 589a01ff6b1eacf81e74a5fc4801572135214f43
    > ("QMimeData: Prefer UTF-8 when multiple charsets are available",
    > contained in Qt >= 5.13), that one handles MIME type
    > "text/plain;charset=utf-8" in addition to "text/plain".)
    
    [1] 
https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/kernel/qmimedata.cpp?id=6c61d7b0f804ae5c048af95abef4d41ecc8862df#n383
    
    Change-Id: Iee695f62e836f3a8776b719ca95afb8fbddea82f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181660
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>
    (cherry picked from commit ec95d529b51e95b074adaafb9f113904fed636c7)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181672
    Reviewed-by: Adolfo Jayme Barrientos <[email protected]>

diff --git a/vcl/qt5/QtTransferable.cxx b/vcl/qt5/QtTransferable.cxx
index 16f24763cf6e..6d4f002ec2d0 100644
--- a/vcl/qt5/QtTransferable.cxx
+++ b/vcl/qt5/QtTransferable.cxx
@@ -131,23 +131,16 @@ css::uno::Any SAL_CALL 
QtTransferable::getTransferData(const css::datatransfer::
     if (rFlavor.MimeType == "text/plain;charset=utf-16")
     {
         OUString aString;
-        // use existing UTF-16 encoded text/plain or convert to UTF-16 as 
needed
+        // use existing UTF-16 encoded MIME data if present
         if (m_pMimeData->hasFormat("text/plain;charset=utf-16"))
         {
             QByteArray 
aByteData(m_pMimeData->data(toQString(rFlavor.MimeType)));
             aString = OUString(reinterpret_cast<const 
sal_Unicode*>(aByteData.data()),
                                aByteData.size() / 2);
         }
-        else if (m_pMimeData->hasFormat("text/plain;charset=utf-8"))
-        {
-            QByteArray 
aByteData(m_pMimeData->data(QStringLiteral("text/plain;charset=utf-8")));
-            aString = OUString::fromUtf8(reinterpret_cast<const 
char*>(aByteData.data()));
-        }
         else
         {
-            QByteArray 
aByteData(m_pMimeData->data(QStringLiteral("text/plain")));
-            aString = OUString(reinterpret_cast<const 
char*>(aByteData.data()), aByteData.size(),
-                               osl_getThreadTextEncoding());
+            aString = toOUString(m_pMimeData->text());
         }
         aAny <<= aString;
     }
commit 062ca40bf04d6173c35bd8a3d3c25d269efc2def
Author:     Christian Lohmaier <[email protected]>
AuthorDate: Fri Feb 14 21:05:27 2025 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Feb 19 12:07:01 2025 +0100

    QuickLook Preview/Thumbnail version should match the app's version
    
    appstore verification complains about CFBundleVersion Mismatch /
    CFBundleShortVersionString Mismatch and while submissions aren't
    rejected yet "you may want to correct the following issues in your
    next delivery"…
    
    Change-Id: I19f7db194c1f027f91eb84100955f85cd0bfd545
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181681
    Reviewed-by: Christian Lohmaier <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 41df8ca6cb7ec210cf391ff27fce1a6eb36de33b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181731
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/extensions/source/macosx/quicklookpreview/appex/Info.plist.in 
b/extensions/source/macosx/quicklookpreview/appex/Info.plist.in
index 2010e8a1bca2..5892fae09fce 100644
--- a/extensions/source/macosx/quicklookpreview/appex/Info.plist.in
+++ b/extensions/source/macosx/quicklookpreview/appex/Info.plist.in
@@ -24,13 +24,13 @@
     <key>CFBundlePackageType</key>
     <string>XPC!</string>
     <key>CFBundleShortVersionString</key>
-    <string>1.0</string>
+    <string>@MACOSX_BUNDLE_SHORTVERSION@</string>
     <key>CFBundleSupportedPlatforms</key>
     <array>
         <string>MacOSX</string>
     </array>
     <key>CFBundleVersion</key>
-    <string>1</string>
+    <string>@MACOSX_BUNDLE_VERSION@</string>
     <key>LSMinimumSystemVersion</key>
     <string>@[email protected]</string>
     <key>DTXcodeBuild</key>
diff --git a/extensions/source/macosx/quicklookthumbnail/appex/Info.plist.in 
b/extensions/source/macosx/quicklookthumbnail/appex/Info.plist.in
index 7ae631f1dc59..eb7366cdb294 100644
--- a/extensions/source/macosx/quicklookthumbnail/appex/Info.plist.in
+++ b/extensions/source/macosx/quicklookthumbnail/appex/Info.plist.in
@@ -24,13 +24,13 @@
     <key>CFBundlePackageType</key>
     <string>XPC!</string>
     <key>CFBundleShortVersionString</key>
-    <string>1.0</string>
+    <string>@MACOSX_BUNDLE_SHORTVERSION@</string>
     <key>CFBundleSupportedPlatforms</key>
     <array>
         <string>MacOSX</string>
     </array>
     <key>CFBundleVersion</key>
-    <string>1</string>
+    <string>@MACOSX_BUNDLE_VERSION@</string>
     <key>LSMinimumSystemVersion</key>
     <string>@[email protected]</string>
     <key>DTXcodeBuild</key>

Reply via email to