extras/Package_gallbullets.mk                     |   50 +++++++++++-----------
 extras/source/gallery/gallery_system/bullets.sdg  |binary
 extras/source/gallery/gallery_system/bullets.thm  |binary
 sc/source/ui/view/formatsh.cxx                    |   17 +++++++
 sd/source/filter/eppt/pptx-animations-nodectx.cxx |    5 ++
 sd/source/filter/eppt/pptx-animations.cxx         |   14 ------
 starmath/source/ooxmlimport.cxx                   |   29 ++++++++++++
 starmath/source/ooxmlimport.hxx                   |    1 
 8 files changed, 78 insertions(+), 38 deletions(-)

New commits:
commit 7608d10867a827569679b43c085998e064894734
Author:     Heiko Tietze <[email protected]>
AuthorDate: Mon Jan 5 12:17:32 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 12:33:06 2026 +0100

    Resolves tdf#169812 - Apply last used color for uno:Color
    
    Instead of opening the font dialog a shortcut applies now
    the current color from the color picker
    
    Change-Id: Ief2cd085bdec792a050450123bbb019e75c4efd8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196556
    Reviewed-by: Heiko Tietze <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 751c78a2ea3cbc34223977b1c51661b51a564e5f)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196606

diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx
index 6c6c70814bff..d9f4f3bac525 100644
--- a/sc/source/ui/view/formatsh.cxx
+++ b/sc/source/ui/view/formatsh.cxx
@@ -941,6 +941,23 @@ void ScFormatShell::ExecuteAttr( SfxRequest& rReq )
                 break;
             }
             case SID_ATTR_CHAR_COLOR:
+                {
+                    Color aColor(COL_TRANSPARENT);
+                    if (auto pObjectShell = pTabViewShell->GetObjectShell())
+                    {
+                        const std::optional<NamedColor> oColor
+                            = 
pObjectShell->GetRecentColor(SID_ATTR_CHAR_COLOR);
+                        if (oColor.has_value())
+                            aColor = 
(*oColor).getComplexColor().getFinalColor();
+                    }
+
+                    SvxColorItem aColorItem(
+                        
pTabViewShell->GetSelectionPattern()->GetItem(ATTR_FONT_COLOR));
+                    aColorItem.setColor(aColor);
+                    pTabViewShell->ApplyAttr(aColorItem, false);
+                }
+                break;
+
             case SID_ATTR_CHAR_FONT:
             case SID_ATTR_CHAR_FONTHEIGHT:
                 pTabViewShell->ExecuteCellFormatDlg(rReq, u"font"_ustr);       
// when ToolBar is vertical
commit 244ace70fd7e6aaead9d1d2c1118c0fe67152fd7
Author:     Heiko Tietze <[email protected]>
AuthorDate: Mon Jan 5 17:20:47 2026 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 12:33:06 2026 +0100

    Revert "Resolves tdf#170019 - Relative links in Bullets gallery"
    
    This reverts commit 806794add0115c2896ed19f52e51f89492b8c4f4.
    
    Reason for revert: SVG + red cross
    
    Change-Id: I5dad3fbc8975f960c079ed9bb6d1567732eaadd4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196576
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <[email protected]>

diff --git a/extras/Package_gallbullets.mk b/extras/Package_gallbullets.mk
index 9f2e9a631c23..9b9b8e17491f 100644
--- a/extras/Package_gallbullets.mk
+++ b/extras/Package_gallbullets.mk
@@ -10,31 +10,31 @@
 $(eval $(call 
gb_Package_Package,extras_gallbullets,$(SRCDIR)/extras/source/gallery/bullets))
 
 $(eval $(call 
gb_Package_add_files,extras_gallbullets,$(LIBO_SHARE_FOLDER)/gallery/bullets,\
-       circle.png \
-       circle-green.png \
-       triangle.png \
-       triangle-green.png \
-       pin.png \
-       pin-green.png \
-       flag.png \
-       flag-green.png \
-       stars-empty.png \
-       redo.png \
-       cross.png \
-       check.png \
-       cross.png \
-       circle-blue.png \
-       circle-yellow.png \
-       triangle-blue.png \
-       triangle-yellow.png \
-       pin-blue.png \
-       pin-yellow.png \
-       flag-blue.png \
-       flag-yellow.png \
-       undo.png \
-       stars.png \
-       info.png \
-       warning.png \
+       circle.svg \
+       circle-green.svg \
+       triangle.svg \
+       triangle-green.svg \
+       pin.svg \
+       pin-green.svg \
+       flag.svg \
+       flag-green.svg \
+       stars-empty.svg \
+       redo.svg \
+       cross.svg \
+       check.svg \
+       cross.svg \
+       circle-blue.svg \
+       circle-yellow.svg \
+       triangle-blue.svg \
+       triangle-yellow.svg \
+       pin-blue.svg \
+       pin-yellow.svg \
+       flag-blue.svg \
+       flag-yellow.svg \
+       undo.svg \
+       stars.svg \
+       info.svg \
+       warning.svg \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/extras/source/gallery/gallery_system/bullets.sdg 
b/extras/source/gallery/gallery_system/bullets.sdg
index 4f699c06bad6..5933048e4df7 100644
Binary files a/extras/source/gallery/gallery_system/bullets.sdg and 
b/extras/source/gallery/gallery_system/bullets.sdg differ
diff --git a/extras/source/gallery/gallery_system/bullets.thm 
b/extras/source/gallery/gallery_system/bullets.thm
index c20af3e4fa56..78240bd17731 100644
Binary files a/extras/source/gallery/gallery_system/bullets.thm and 
b/extras/source/gallery/gallery_system/bullets.thm differ
commit 6e1e877ffb0b088d1110c7d3df93bf885cffd522
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Wed Dec 24 18:24:16 2025 +0530
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 12:33:06 2026 +0100

    tdf#169843 math: OOXML set letter not interpreted correctly
    
    problem:
    OOXML has special property to define set names
    m:scr with value "double-struck" means text should be
    interpreted as set names and double-struck letters should be used
    
    Change-Id: I8acefb369694ae901fc4df2505a85d0691a2cb16
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196199
    Tested-by: Caolán McNamara <[email protected]>
    Reviewed-by: Caolán McNamara <[email protected]>
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    (cherry picked from commit f325e0de3447c0403656ebb2a2fe4789aa59e78e)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196305
    Tested-by: Jenkins
    (cherry picked from commit d2dc364ca322f7331652a184a2a69d585b2615da)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196559
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index dec486e6025b..d5964a2279a1 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -21,6 +21,7 @@
 #include <sal/log.hxx>
 #include <o3tl/string_view.hxx>
 #include <parse5.hxx>
+#include <unordered_set>
 
 using namespace oox::formulaimport;
 
@@ -580,6 +581,7 @@ OUString SmOoxmlImport::handleR()
     m_rStream.ensureOpeningTag( M_TOKEN( r ));
     bool normal = false;
     bool literal = false;
+    OUString scrString;
     if( XmlStream::Tag rPr = m_rStream.checkOpeningTag( M_TOKEN( rPr )))
     {
         if( XmlStream::Tag litTag = m_rStream.checkOpeningTag( M_TOKEN( lit )))
@@ -592,6 +594,11 @@ OUString SmOoxmlImport::handleR()
             normal = norTag.attribute( M_TOKEN( val ), true );
             m_rStream.ensureClosingTag( M_TOKEN( nor ));
         }
+        if (XmlStream::Tag srcTag = m_rStream.checkOpeningTag( M_TOKEN( scr )))
+        {
+            scrString = srcTag.attribute( M_TOKEN( val ), scrString );
+            m_rStream.ensureClosingTag( M_TOKEN( scr ));
+        }
         m_rStream.ensureClosingTag( M_TOKEN( rPr ));
     }
     OUStringBuffer text;
@@ -605,6 +612,10 @@ OUString SmOoxmlImport::handleR()
                 isTagT = true;
                 XmlStream::Tag rtag = m_rStream.ensureOpeningTag( M_TOKEN( t 
));
                 OUString sTagText = rtag.text;
+                if (scrString == "double-struck")
+                {
+                    sTagText = SmOoxmlImport::handleSetString(sTagText);
+                }
                 if( rtag.attribute( OOX_TOKEN( xml, space )) != "preserve" )
                     sTagText = o3tl::trim(sTagText);
                 text.append(sTagText);
@@ -617,13 +628,29 @@ OUString SmOoxmlImport::handleR()
         }
     }
     m_rStream.ensureClosingTag( M_TOKEN( r ));
-    if (normal || literal || isTagT)
+    if (scrString.isEmpty() && (normal || literal || isTagT))
     {
         return encloseOrEscapeLiteral(text.makeStringAndClear(), normal || 
literal);
     }
     return text.makeStringAndClear();
 }
 
+OUString SmOoxmlImport::handleSetString(const OUString& setOUstring)
+{
+    std::unordered_set<sal_Unicode> setList= {'C', 'N', 'Q', 'R', 'Z', 'c', 
'n', 'q', 'r', 'z'};
+    OUString result;
+    for (sal_Int32 i = 0; i < setOUstring.getLength(); i++)
+    {
+        if (setList.contains(setOUstring[i]))
+        {
+            result += OUString::Concat(" set" ) + OUStringChar(setOUstring[i]) 
+ OUString::Concat(" ");
+        }
+        else
+            result += OUStringChar(setOUstring[i]);
+    }
+    return result;
+}
+
 OUString SmOoxmlImport::handleRad()
 {
     m_rStream.ensureOpeningTag( M_TOKEN( rad ));
diff --git a/starmath/source/ooxmlimport.hxx b/starmath/source/ooxmlimport.hxx
index 4f8df14bfd16..e3621fdc0dec 100644
--- a/starmath/source/ooxmlimport.hxx
+++ b/starmath/source/ooxmlimport.hxx
@@ -44,6 +44,7 @@ private:
     OUString handleSsup();
     OUString readOMathArg( int stoptoken );
     OUString readOMathArgInElement( int token );
+    static OUString handleSetString(const OUString& setOUstring);
 
     oox::formulaimport::XmlStream& m_rStream;
 };
commit 674a54608fe2f0c88efbe40de4d3f920cb531de3
Author:     Aron Budea <[email protected]>
AuthorDate: Fri Jan 2 21:50:24 2026 +1100
Commit:     Andras Timar <[email protected]>
CommitDate: Wed Jan 7 12:33:06 2026 +0100

    tdf#170202 avoid exporting ANIMATIONPHYSICS node types
    
    Implement cbf102d4c1ba73519b49df0d43a87ebdf9267538 differently.
    
    After previous commit, tdf136301-1.odp still contained
    animation elements in slide1.xml when converted to PPTX, and
    couldn't be opened in PP.
    
    Set such nodes invalid instead to avoid processing them at all.
    
    Change-Id: I799026c389681b89792bb9765b8f81562743deb4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196424
    Reviewed-by: Aron Budea <[email protected]>
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>
    (cherry picked from commit f3943837d75695bc351a55340addd362de33097b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196441
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/sd/source/filter/eppt/pptx-animations-nodectx.cxx 
b/sd/source/filter/eppt/pptx-animations-nodectx.cxx
index af843d661b69..0e3c2ee3d4d5 100644
--- a/sd/source/filter/eppt/pptx-animations-nodectx.cxx
+++ b/sd/source/filter/eppt/pptx-animations-nodectx.cxx
@@ -188,6 +188,11 @@ void NodeContext::initValid(bool bHasValidChild, bool 
bIsIterateChild)
             }
         }
     }
+    else if (nType == AnimationNodeType::ANIMATEPHYSICS)
+    {
+        // Ignore: we don't support exporting this node type
+        mbValid = false;
+    }
     else
     {
         Reference<XAnimate> xAnimate(mxNode, UNO_QUERY);
diff --git a/sd/source/filter/eppt/pptx-animations.cxx 
b/sd/source/filter/eppt/pptx-animations.cxx
index bbae2b29682c..3890e392d2aa 100644
--- a/sd/source/filter/eppt/pptx-animations.cxx
+++ b/sd/source/filter/eppt/pptx-animations.cxx
@@ -951,28 +951,18 @@ void 
PPTXAnimationExport::WriteAnimationNodeCommonPropsStart()
     if (!aChildNodes.empty())
     {
         bool bSubTnLst = false;
-        bool bWroteChildTnList = false;
+        mpFS->startElementNS(XML_p, XML_childTnLst);
         for (const NodeContextPtr& pChildContext : aChildNodes)
         {
             if (pChildContext->isValid())
             {
                 if (pChildContext->isOnSubTnLst())
                     bSubTnLst = true;
-                else if (pChildContext->getNode()->getType() == 
AnimationNodeType::ANIMATEPHYSICS)
-                    ; // ignore we don't support exporting this node type
                 else
-                {
-                    if (!bWroteChildTnList)
-                    {
-                        bWroteChildTnList = true;
-                        mpFS->startElementNS(XML_p, XML_childTnLst);
-                    }
                     WriteAnimationNode(pChildContext);
-                }
             }
         }
-        if (bWroteChildTnList)
-            mpFS->endElementNS(XML_p, XML_childTnLst);
+        mpFS->endElementNS(XML_p, XML_childTnLst);
 
         if (bSubTnLst)
         {

Reply via email to