chart2/Library_chartcore.mk                              |    2 
 chart2/source/inc/servicenames_charttypes.hxx            |    2 
 chart2/source/model/template/ChartTypeManager.cxx        |    8 
 chart2/source/model/template/FunnelChartType.cxx         |   75 -----
 chart2/source/model/template/FunnelChartType.hxx         |   40 ---
 chart2/source/model/template/FunnelChartTypeTemplate.cxx |  193 ---------------
 chart2/source/model/template/FunnelChartTypeTemplate.hxx |   61 ----
 oox/inc/drawingml/chart/typegroupconverter.hxx           |    2 
 oox/source/core/contexthandler2.cxx                      |    3 
 oox/source/core/xmlfilterbase.cxx                        |    2 
 oox/source/drawingml/chart/chartspacefragment.cxx        |    4 
 oox/source/drawingml/chart/plotareacontext.cxx           |    4 
 oox/source/drawingml/chart/typegroupconverter.cxx        |    5 
 oox/source/drawingml/graphicshapecontext.cxx             |    6 
 oox/source/token/namespaces-strict.txt                   |    2 
 oox/source/token/namespaces.hxx.tail                     |    2 
 oox/source/token/namespaces.txt                          |    2 
 17 files changed, 7 insertions(+), 406 deletions(-)

New commits:
commit aa2b34f71306fb825bfb9e504118c1a7325b8fc6
Author:     Kurt Nordback <[email protected]>
AuthorDate: Thu Jan 22 12:27:06 2026 -0700
Commit:     Tomaž Vajngerl <[email protected]>
CommitDate: Tue Jan 27 06:40:52 2026 +0100

    Revert "tdf#165742 Step 2: Create a ChartType derived class for chartex..."
    
    This reverts commit 2a9436d15a3968a1eb6470a0171ae658355218bd.
    
    Change-Id: Ib6e537171d542f86d8f8b6e6aa488c050c78068e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197907
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Tomaž Vajngerl <[email protected]>

diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk
index da1cdef02085..a87207a225db 100644
--- a/chart2/Library_chartcore.mk
+++ b/chart2/Library_chartcore.mk
@@ -162,8 +162,6 @@ $(eval $(call gb_Library_add_exception_objects,chartcore,\
     chart2/source/model/template/ColumnLineChartTypeTemplate \
     chart2/source/model/template/ColumnLineDataInterpreter \
     chart2/source/model/template/DataInterpreter \
-    chart2/source/model/template/FunnelChartType \
-    chart2/source/model/template/FunnelChartTypeTemplate \
     chart2/source/model/template/FilledNetChartType \
     chart2/source/model/template/LineChartType \
     chart2/source/model/template/LineChartTypeTemplate \
diff --git a/chart2/source/inc/servicenames_charttypes.hxx 
b/chart2/source/inc/servicenames_charttypes.hxx
index 5a84e3b92c0c..5ab2dcbf4929 100644
--- a/chart2/source/inc/servicenames_charttypes.hxx
+++ b/chart2/source/inc/servicenames_charttypes.hxx
@@ -40,7 +40,5 @@ inline constexpr OUString 
CHART2_SERVICE_NAME_CHARTTYPE_CANDLESTICK
     = u"com.sun.star.chart2.CandleStickChartType"_ustr;
 inline constexpr OUString CHART2_SERVICE_NAME_CHARTTYPE_BUBBLE
     = u"com.sun.star.chart2.BubbleChartType"_ustr;
-inline constexpr OUString CHART2_SERVICE_NAME_CHARTTYPE_FUNNEL
-    = u"com.sun.star.chart2.FunnelChartType"_ustr;
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/model/template/ChartTypeManager.cxx 
b/chart2/source/model/template/ChartTypeManager.cxx
index 7acb02a6c894..1e49b07181b7 100644
--- a/chart2/source/model/template/ChartTypeManager.cxx
+++ b/chart2/source/model/template/ChartTypeManager.cxx
@@ -29,7 +29,6 @@
 #include "StockChartTypeTemplate.hxx"
 #include "NetChartTypeTemplate.hxx"
 #include "BubbleChartTypeTemplate.hxx"
-#include "FunnelChartTypeTemplate.hxx"
 #include <cppuhelper/supportsservice.hxx>
 #include <com/sun/star/container/XContentEnumerationAccess.hpp>
 #include <com/sun/star/lang/XServiceName.hpp>
@@ -117,7 +116,6 @@ enum TemplateId
     TEMPLATE_STOCKVOLUMELOWHIGHCLOSE,
     TEMPLATE_STOCKVOLUMEOPENLOWHIGHCLOSE,
     TEMPLATE_BUBBLE,
-    TEMPLATE_FUNNEL,
 //    TEMPLATE_SURFACE,
 //     TEMPLATE_ADDIN,
     TEMPLATE_NOT_FOUND = 0xffff
@@ -195,7 +193,6 @@ const tTemplateMapType & lcl_DefaultChartTypeMap()
         {"com.sun.star.chart2.template.StockVolumeLowHighClose",        
TEMPLATE_STOCKVOLUMELOWHIGHCLOSE},
         {"com.sun.star.chart2.template.StockVolumeOpenLowHighClose",    
TEMPLATE_STOCKVOLUMEOPENLOWHIGHCLOSE},
         {"com.sun.star.chart2.template.Bubble",                         
TEMPLATE_BUBBLE},
-        {"com.sun.star.chart2.template.Funnel",                         
TEMPLATE_FUNNEL},
 //      {"com.sun.star.chart2.template.Surface",                        
TEMPLATE_SURFACE},
 //      {"com.sun.star.chart2.template.Addin",                          
TEMPLATE_ADDIN},
         };
@@ -527,11 +524,6 @@ rtl::Reference< ::chart::ChartTypeTemplate > 
ChartTypeManager::createTemplate(
             xTemplate.set( new BubbleChartTypeTemplate( m_xContext, 
aServiceSpecifier ));
             break;
 
-        // Funnel chart
-        case TEMPLATE_FUNNEL:
-            xTemplate.set( new FunnelChartTypeTemplate( m_xContext,
-                        aServiceSpecifier));
-            break;
         case TEMPLATE_NOT_FOUND:
             SAL_WARN("chart2", "Couldn't instantiate service: "<< 
aServiceSpecifier );
             assert(false);
diff --git a/chart2/source/model/template/FunnelChartType.cxx 
b/chart2/source/model/template/FunnelChartType.cxx
deleted file mode 100644
index d9ffe231063f..000000000000
--- a/chart2/source/model/template/FunnelChartType.cxx
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "FunnelChartType.hxx"
-#include <servicenames_charttypes.hxx>
-#include <cppuhelper/supportsservice.hxx>
-
-namespace com::sun::star::uno
-{
-class XComponentContext;
-}
-
-using namespace ::com::sun::star;
-
-namespace chart
-{
-FunnelChartType::FunnelChartType() {}
-
-FunnelChartType::FunnelChartType(const FunnelChartType& rOther)
-    : ChartType(rOther)
-{
-}
-
-FunnelChartType::~FunnelChartType() {}
-
-// ____ XCloneable ____
-uno::Reference<util::XCloneable> SAL_CALL FunnelChartType::createClone()
-{
-    return uno::Reference<util::XCloneable>(new FunnelChartType(*this));
-}
-
-rtl::Reference<ChartType> FunnelChartType::cloneChartType() const
-{
-    return new FunnelChartType(*this);
-}
-
-// ____ XChartType ____
-OUString SAL_CALL FunnelChartType::getChartType() { return 
CHART2_SERVICE_NAME_CHARTTYPE_FUNNEL; }
-
-uno::Sequence<OUString> FunnelChartType::getSupportedPropertyRoles()
-{
-    return { "FillColor", "BorderColor" };
-}
-
-OUString SAL_CALL FunnelChartType::getImplementationName()
-{
-    return "com.sun.star.comp.chart.FunnelChartType";
-}
-
-sal_Bool SAL_CALL FunnelChartType::supportsService(const OUString& 
rServiceName)
-{
-    return cppu::supportsService(this, rServiceName);
-}
-
-css::uno::Sequence<OUString> SAL_CALL 
FunnelChartType::getSupportedServiceNames()
-{
-    return { CHART2_SERVICE_NAME_CHARTTYPE_FUNNEL, 
"com.sun.star.chart2.ChartType" };
-}
-
-} //  namespace chart
-
-extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
-com_sun_star_comp_chart_FunnelChartType_get_implementation(css::uno::XComponentContext*
 /*context*/,
-                                                           
css::uno::Sequence<css::uno::Any> const&)
-{
-    return cppu::acquire(new ::chart::FunnelChartType);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/model/template/FunnelChartType.hxx 
b/chart2/source/model/template/FunnelChartType.hxx
deleted file mode 100644
index fbaa3f46354d..000000000000
--- a/chart2/source/model/template/FunnelChartType.hxx
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-#pragma once
-
-#include <ChartType.hxx>
-
-namespace chart
-{
-class FunnelChartType final : public ChartType
-{
-public:
-    explicit FunnelChartType();
-    virtual ~FunnelChartType() override;
-
-    virtual OUString SAL_CALL getImplementationName() override;
-    virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) 
override;
-    virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() 
override;
-
-    virtual rtl::Reference<ChartType> cloneChartType() const override;
-
-private:
-    explicit FunnelChartType(const FunnelChartType& rOther);
-
-    // ____ XChartType ____
-    virtual OUString SAL_CALL getChartType() override;
-    virtual css::uno::Sequence<OUString> SAL_CALL getSupportedPropertyRoles() 
override;
-
-    // ____ XCloneable ____
-    virtual css::uno::Reference<css::util::XCloneable> SAL_CALL createClone() 
override;
-};
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/model/template/FunnelChartTypeTemplate.cxx 
b/chart2/source/model/template/FunnelChartTypeTemplate.cxx
deleted file mode 100644
index af026df10565..000000000000
--- a/chart2/source/model/template/FunnelChartTypeTemplate.cxx
+++ /dev/null
@@ -1,193 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#include "FunnelChartTypeTemplate.hxx"
-#include "ColumnChartType.hxx"
-#include <Diagram.hxx>
-#include <DiagramHelper.hxx>
-#include <DataSeries.hxx>
-#include <DataSeriesHelper.hxx>
-#include <PropertyHelper.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/drawing/LineStyle.hpp>
-#include <com/sun/star/chart2/DataPointGeometry3D.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <comphelper/diagnose_ex.hxx>
-
-#include <algorithm>
-
-using namespace ::com::sun::star;
-
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::beans::Property;
-
-namespace
-{
-enum
-{
-    PROP_FUNNEL_TEMPLATE_DIMENSION,
-    PROP_FUNNEL_TEMPLATE_GEOMETRY3D
-};
-
-void lcl_AddPropertiesToVector(std::vector<Property>& rOutProperties)
-{
-    rOutProperties.emplace_back(
-        "Dimension", PROP_FUNNEL_TEMPLATE_DIMENSION, 
cppu::UnoType<sal_Int32>::get(),
-        beans::PropertyAttribute::BOUND | 
beans::PropertyAttribute::MAYBEDEFAULT);
-    rOutProperties.emplace_back(
-        "Geometry3D", PROP_FUNNEL_TEMPLATE_GEOMETRY3D, 
cppu::UnoType<sal_Int32>::get(),
-        beans::PropertyAttribute::BOUND | 
beans::PropertyAttribute::MAYBEDEFAULT);
-}
-
-::cppu::OPropertyArrayHelper& StaticFunnelChartTypeTemplateInfoHelper()
-{
-    static ::cppu::OPropertyArrayHelper aPropHelper = []() {
-        std::vector<css::beans::Property> aProperties;
-        lcl_AddPropertiesToVector(aProperties);
-
-        std::sort(aProperties.begin(), aProperties.end(), 
::chart::PropertyNameLess());
-
-        return comphelper::containerToSequence(aProperties);
-    }();
-    return aPropHelper;
-};
-
-} // anonymous namespace
-
-namespace chart
-{
-FunnelChartTypeTemplate::FunnelChartTypeTemplate(Reference<uno::XComponentContext>
 const& xContext,
-                                                 const OUString& rServiceName,
-                                                 sal_Int32 nDim /* = 2 */)
-    : ChartTypeTemplate(xContext, rServiceName)
-    , m_nDim(nDim)
-{
-}
-
-FunnelChartTypeTemplate::~FunnelChartTypeTemplate() {}
-
-sal_Int32 FunnelChartTypeTemplate::getDimension() const { return m_nDim; }
-
-// ____ ChartTypeTemplate ____
-bool FunnelChartTypeTemplate::matchesTemplate2(const 
rtl::Reference<::chart::Diagram>& xDiagram,
-                                               bool bAdaptProperties)
-{
-    bool bResult = ChartTypeTemplate::matchesTemplate2(xDiagram, 
bAdaptProperties);
-
-    // adapt solid-type of template according to values in series
-    if (bAdaptProperties && bResult && getDimension() == 3)
-    {
-        bool bGeomFound = false, bGeomAmbiguous = false;
-        sal_Int32 aCommonGeom = xDiagram->getGeometry3D(bGeomFound, 
bGeomAmbiguous);
-
-        if (!bGeomAmbiguous)
-        {
-            setFastPropertyValue_NoBroadcast(PROP_FUNNEL_TEMPLATE_GEOMETRY3D,
-                                             uno::Any(aCommonGeom));
-        }
-    }
-
-    return bResult;
-}
-
-rtl::Reference<ChartType>
-    FunnelChartTypeTemplate::getChartTypeForIndex(sal_Int32 
/*nChartTypeIndex*/)
-{
-    return new ColumnChartType();
-}
-
-rtl::Reference<ChartType> FunnelChartTypeTemplate::getChartTypeForNewSeries2(
-    const std::vector<rtl::Reference<ChartType>>& aFormerlyUsedChartTypes)
-{
-    rtl::Reference<ChartType> xResult(getChartTypeForIndex(0));
-    
ChartTypeTemplate::copyPropertiesFromOldToNewCoordinateSystem(aFormerlyUsedChartTypes,
 xResult);
-    return xResult;
-}
-
-// ____ OPropertySet ____
-void FunnelChartTypeTemplate::GetDefaultValue(sal_Int32 nHandle, uno::Any& 
rAny) const
-{
-    static ::chart::tPropertyValueMap aStaticDefaults = []() {
-        ::chart::tPropertyValueMap aTmp;
-        ::chart::PropertyHelper::setPropertyValueDefault<sal_Int32>(
-            aTmp, PROP_FUNNEL_TEMPLATE_DIMENSION, 2);
-        ::chart::PropertyHelper::setPropertyValueDefault(aTmp, 
PROP_FUNNEL_TEMPLATE_GEOMETRY3D,
-                                                         
::chart2::DataPointGeometry3D::CUBOID);
-        return aTmp;
-    }();
-    tPropertyValueMap::const_iterator aFound(aStaticDefaults.find(nHandle));
-    if (aFound == aStaticDefaults.end())
-        rAny.clear();
-    else
-        rAny = (*aFound).second;
-}
-
-::cppu::IPropertyArrayHelper& SAL_CALL FunnelChartTypeTemplate::getInfoHelper()
-{
-    return StaticFunnelChartTypeTemplateInfoHelper();
-}
-
-// ____ XPropertySet ____
-Reference<beans::XPropertySetInfo> SAL_CALL 
FunnelChartTypeTemplate::getPropertySetInfo()
-{
-    static uno::Reference<beans::XPropertySetInfo> xPropertySetInfo(
-        ::cppu::OPropertySetHelper::createPropertySetInfo(
-            StaticFunnelChartTypeTemplateInfoHelper()));
-    return xPropertySetInfo;
-}
-
-void FunnelChartTypeTemplate::applyStyle2(const rtl::Reference<DataSeries>& 
xSeries,
-                                          ::sal_Int32 nChartTypeIndex, 
::sal_Int32 nSeriesIndex,
-                                          ::sal_Int32 nSeriesCount)
-{
-    ChartTypeTemplate::applyStyle2(xSeries, nChartTypeIndex, nSeriesIndex, 
nSeriesCount);
-    DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints(xSeries, 
"BorderStyle",
-                                                               
uno::Any(drawing::LineStyle_NONE));
-    if (getDimension() != 3)
-        return;
-
-    try
-    {
-        //apply Geometry3D
-        uno::Any aAGeometry3D;
-        getFastPropertyValue(aAGeometry3D, PROP_FUNNEL_TEMPLATE_GEOMETRY3D);
-        DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints(xSeries, 
"Geometry3D",
-                                                                   
aAGeometry3D);
-    }
-    catch (const uno::Exception&)
-    {
-        DBG_UNHANDLED_EXCEPTION("chart2");
-    }
-}
-
-void FunnelChartTypeTemplate::resetStyles2(const 
rtl::Reference<::chart::Diagram>& xDiagram)
-{
-    ChartTypeTemplate::resetStyles2(xDiagram);
-    std::vector<rtl::Reference<DataSeries>> 
aSeriesVec(xDiagram->getDataSeries());
-    uno::Any aLineStyleAny(drawing::LineStyle_NONE);
-    for (auto const& series : aSeriesVec)
-    {
-        if (getDimension() == 3)
-            series->setPropertyToDefault("Geometry3D");
-        if (series->getPropertyValue("BorderStyle") == aLineStyleAny)
-        {
-            series->setPropertyToDefault("BorderStyle");
-        }
-    }
-
-    xDiagram->setVertical(false);
-}
-
-IMPLEMENT_FORWARD_XINTERFACE2(FunnelChartTypeTemplate, ChartTypeTemplate, 
OPropertySet)
-IMPLEMENT_FORWARD_XTYPEPROVIDER2(FunnelChartTypeTemplate, ChartTypeTemplate, 
OPropertySet)
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/chart2/source/model/template/FunnelChartTypeTemplate.hxx 
b/chart2/source/model/template/FunnelChartTypeTemplate.hxx
deleted file mode 100644
index ffaefeace151..000000000000
--- a/chart2/source/model/template/FunnelChartTypeTemplate.hxx
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-#pragma once
-
-#include <OPropertySet.hxx>
-#include <comphelper/uno3.hxx>
-
-#include <ChartTypeTemplate.hxx>
-
-namespace chart
-{
-class FunnelChartTypeTemplate : public ChartTypeTemplate, public 
::property::OPropertySet
-{
-public:
-    FunnelChartTypeTemplate(css::uno::Reference<css::uno::XComponentContext> 
const& xContext,
-                            const OUString& rServiceName, sal_Int32 nDim = 2);
-    virtual ~FunnelChartTypeTemplate() override;
-
-    /// merge XInterface implementations
-    DECLARE_XINTERFACE()
-    /// merge XTypeProvider implementations
-    DECLARE_XTYPEPROVIDER()
-
-protected:
-    // ____ OPropertySet ____
-    virtual void GetDefaultValue(sal_Int32 nHandle, css::uno::Any& rAny) const 
override;
-    virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() override;
-
-    // ____ XPropertySet ____
-    virtual css::uno::Reference<css::beans::XPropertySetInfo>
-        SAL_CALL getPropertySetInfo() override;
-
-    // ____ ChartTypeTemplate ____
-    virtual bool matchesTemplate2(const rtl::Reference<::chart::Diagram>& 
xDiagram,
-                                  bool bAdaptProperties) override;
-    virtual rtl::Reference<::chart::ChartType> getChartTypeForNewSeries2(
-        const std::vector<rtl::Reference<::chart::ChartType>>& 
aFormerlyUsedChartTypes) override;
-    virtual void applyStyle2(const rtl::Reference<::chart::DataSeries>& 
xSeries,
-                             ::sal_Int32 nChartTypeGroupIndex, ::sal_Int32 
nSeriesIndex,
-                             ::sal_Int32 nSeriesCount) override;
-    virtual void resetStyles2(const rtl::Reference<::chart::Diagram>& 
xDiagram) override;
-
-    // ____ ChartTypeTemplate ____
-    virtual sal_Int32 getDimension() const override;
-
-    virtual rtl::Reference<::chart::ChartType>
-    getChartTypeForIndex(sal_Int32 nChartTypeIndex) override;
-
-private:
-    sal_Int32 m_nDim;
-};
-
-} //  namespace chart
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/oox/inc/drawingml/chart/typegroupconverter.hxx 
b/oox/inc/drawingml/chart/typegroupconverter.hxx
index fac7eb70f7c4..e017f81e19c7 100644
--- a/oox/inc/drawingml/chart/typegroupconverter.hxx
+++ b/oox/inc/drawingml/chart/typegroupconverter.hxx
@@ -49,7 +49,6 @@ enum TypeId
     TYPEID_SCATTER,                 /// Scatter (XY) chart.
     TYPEID_BUBBLE,                  /// Bubble chart.
     TYPEID_SURFACE,                 /// Surface chart.
-    TYPEID_FUNNEL,                  /// Funnel chart.
     TYPEID_UNKNOWN                  /// Default for unknown chart types.
 };
 
@@ -61,7 +60,6 @@ enum TypeCategory
     TYPECATEGORY_RADAR,             /// Radar charts (linear or filled).
     TYPECATEGORY_PIE,               /// Pie and donut charts.
     TYPECATEGORY_SCATTER,           /// Scatter and bubble charts.
-    TYPECATEGORY_FUNNEL,            /// Funnel charts. TODO: can this be BAR?
     TYPECATEGORY_SURFACE            /// Surface charts.
 };
 
diff --git a/oox/source/core/contexthandler2.cxx 
b/oox/source/core/contexthandler2.cxx
index a8b34ba8e92e..5eb725204125 100644
--- a/oox/source/core/contexthandler2.cxx
+++ b/oox/source/core/contexthandler2.cxx
@@ -242,8 +242,7 @@ bool ContextHandler2Helper::prepareMceContext( sal_Int32 
nElement, const Attribu
                     u"p14",
                     u"p15",
                     u"x12ac",
-                    u"v",
-                    u"cx2"
+                    u"v"
                 };
 
                 for (size_t pos = 0; pos != std::u16string_view::npos;)
diff --git a/oox/source/core/xmlfilterbase.cxx 
b/oox/source/core/xmlfilterbase.cxx
index 70ab8fd548e5..a1ffc777aff6 100644
--- a/oox/source/core/xmlfilterbase.cxx
+++ b/oox/source/core/xmlfilterbase.cxx
@@ -157,7 +157,7 @@ const Sequence< beans::Pair< OUString, sal_Int32 > >& 
NamespaceIds()
              NMSP_xr16},
             
{u"http://schemas.microsoft.com/office/drawing/2017/decorative"_ustr, 
NMSP_adec},
             
{u"http://schemas.microsoft.com/office/drawing/2016/SVG/main"_ustr, NMSP_asvg},
-            {u"http://schemas.microsoft.com/office/drawing/2014/chartex"_ustr, 
NMSP_cx},
+            {u"http://schemas.microsoft.com/office/drawing/2014/chartex"_ustr, 
NMSP_chartex},
             
{u"http://schemas.microsoft.com/office/spreadsheetml/2019/namedsheetviews"_ustr,
 NMSP_xnsv},
         };
     return SINGLETON;
diff --git a/oox/source/drawingml/chart/chartspacefragment.cxx 
b/oox/source/drawingml/chart/chartspacefragment.cxx
index 538631ee63ca..f43908d65cb5 100644
--- a/oox/source/drawingml/chart/chartspacefragment.cxx
+++ b/oox/source/drawingml/chart/chartspacefragment.cxx
@@ -51,8 +51,6 @@ ContextHandlerRef ChartSpaceFragment::onCreateContext( 
sal_Int32 nElement, const
             {
                 case C_TOKEN( chartSpace ):
                     return this;
-                case CX_TOKEN(chartSpace) :
-                    break;
             }
         break;
 
@@ -136,8 +134,6 @@ ContextHandlerRef ChartSpaceFragment::onCreateContext( 
sal_Int32 nElement, const
                     return new View3DContext( *this, 
mrModel.mxView3D.create(bMSO2007Document) );
             }
         break;
-        case CX_TOKEN(chartSpace) :
-            break;
     }
     return nullptr;
 }
diff --git a/oox/source/drawingml/chart/plotareacontext.cxx 
b/oox/source/drawingml/chart/plotareacontext.cxx
index 2be07fd1cafa..32db67d7a95d 100644
--- a/oox/source/drawingml/chart/plotareacontext.cxx
+++ b/oox/source/drawingml/chart/plotareacontext.cxx
@@ -165,10 +165,6 @@ ContextHandlerRef PlotAreaContext::onCreateContext( 
sal_Int32 nElement, const At
                     return new ShapePropertiesContext( *this, 
mrModel.mxShapeProp.create() );
                 case C_TOKEN(dTable):
                     return new DataTableContext( *this, 
mrModel.mxDataTable.create() );
-#if 0
-                case CHARTEX_TOKEN( funnel ):
-                    return new FunnelTypeGroupContext( *this, 
mrModel.maTypeGroups.create( nElement, false ) );
-#endif
             }
         break;
     }
diff --git a/oox/source/drawingml/chart/typegroupconverter.cxx 
b/oox/source/drawingml/chart/typegroupconverter.cxx
index 0202bde7ac0b..fb031bc8b164 100644
--- a/oox/source/drawingml/chart/typegroupconverter.cxx
+++ b/oox/source/drawingml/chart/typegroupconverter.cxx
@@ -72,7 +72,6 @@ const char SERVICE_CHART2_PIE[]       = 
"com.sun.star.chart2.PieChartType";
 const char SERVICE_CHART2_SCATTER[]   = "com.sun.star.chart2.ScatterChartType";
 const char SERVICE_CHART2_BUBBLE[]    = "com.sun.star.chart2.BubbleChartType";
 const char SERVICE_CHART2_SURFACE[]   = "com.sun.star.chart2.ColumnChartType"; 
   // Todo
-const char SERVICE_CHART2_FUNNEL[]    = "com.sun.star.chart2.FunnelChartType";
 
 namespace csscd = css::chart::DataLabelPlacement;
 
@@ -91,8 +90,7 @@ const TypeGroupInfo spTypeInfos[] =
     { TYPEID_OFPIE,     TYPECATEGORY_PIE,     SERVICE_CHART2_PIE,       
VARPOINTMODE_MULTI,  csscd::AVOID_OVERLAP, true,  true,  true,  true,  false, 
false, false },
     { TYPEID_SCATTER,   TYPECATEGORY_SCATTER, SERVICE_CHART2_SCATTER,   
VARPOINTMODE_SINGLE, csscd::RIGHT,         false, false, false, false, false, 
false, false },
     { TYPEID_BUBBLE,    TYPECATEGORY_SCATTER, SERVICE_CHART2_BUBBLE,    
VARPOINTMODE_SINGLE, csscd::RIGHT,         false, true,  false, false, false, 
false, false },
-    { TYPEID_SURFACE,   TYPECATEGORY_SURFACE, SERVICE_CHART2_SURFACE,   
VARPOINTMODE_NONE,   csscd::RIGHT,         false, true,  false, true,  false, 
false, false },
-    { TYPEID_FUNNEL,    TYPECATEGORY_FUNNEL,  SERVICE_CHART2_FUNNEL,    
VARPOINTMODE_SINGLE, csscd::OUTSIDE,       false, true,  false, true,  false, 
false, false }
+    { TYPEID_SURFACE,   TYPECATEGORY_SURFACE, SERVICE_CHART2_SURFACE,   
VARPOINTMODE_NONE,   csscd::RIGHT,         false, true,  false, true,  false, 
false, false }
 };
 
 const TypeGroupInfo saUnknownTypeInfo =
@@ -160,7 +158,6 @@ TypeGroupConverter::TypeGroupConverter( const 
ConverterRoot& rParent, TypeGroupM
         case C_TOKEN( barChart ):       ENSURE_AXESCOUNT( 2, 2 ); eTypeId = 
TYPEID_BAR;       mb3dChart = false;  break;
         case C_TOKEN( bubbleChart ):    ENSURE_AXESCOUNT( 2, 2 ); eTypeId = 
TYPEID_BUBBLE;    mb3dChart = false;  break;
         case C_TOKEN( doughnutChart ):  ENSURE_AXESCOUNT( 0, 0 ); eTypeId = 
TYPEID_DOUGHNUT;  mb3dChart = false;  break;
-        case CX_TOKEN( funnel ):        ENSURE_AXESCOUNT( 2, 2 ); eTypeId = 
TYPEID_FUNNEL;    mb3dChart = false;  break;
         case C_TOKEN( line3DChart ):    ENSURE_AXESCOUNT( 3, 3 ); eTypeId = 
TYPEID_LINE;      mb3dChart = true;   break;
         case C_TOKEN( lineChart ):      ENSURE_AXESCOUNT( 2, 2 ); eTypeId = 
TYPEID_LINE;      mb3dChart = false;  break;
         case C_TOKEN( ofPieChart ):     ENSURE_AXESCOUNT( 0, 0 ); eTypeId = 
TYPEID_OFPIE;     mb3dChart = false;  break;
diff --git a/oox/source/drawingml/graphicshapecontext.cxx 
b/oox/source/drawingml/graphicshapecontext.cxx
index da7b40603cdf..3e7f6ac1101f 100644
--- a/oox/source/drawingml/graphicshapecontext.cxx
+++ b/oox/source/drawingml/graphicshapecontext.cxx
@@ -168,10 +168,6 @@ ContextHandlerRef 
GraphicalObjectFrameContext::onCreateContext( sal_Int32 aEleme
             else if ( sUri == 
"http://schemas.openxmlformats.org/drawingml/2006/chart"; ||
                     sUri == "http://purl.oclc.org/ooxml/drawingml/chart"; )
                 return new ChartGraphicDataContext( *this, mpShapePtr, 
mbEmbedShapesInChart );
-            else if ( sUri == 
"http://schemas.microsoft.com/office/drawing/2014/chartex"; )
-                // Is there a corresponding purl.oclc.org URL? At this time
-                // (2025) those don't seem to be active.
-                return new ChartGraphicDataContext( *this, mpShapePtr, 
mbEmbedShapesInChart );
             else if ( sUri == 
"http://schemas.openxmlformats.org/drawingml/2006/table"; ||
                     sUri == "http://purl.oclc.org/ooxml/drawingml/table"; )
                 return new table::TableContext( *this, mpShapePtr );
@@ -344,7 +340,7 @@ ChartGraphicDataContext::ChartGraphicDataContext( 
ContextHandler2Helper const &
 
 ContextHandlerRef ChartGraphicDataContext::onCreateContext( ::sal_Int32 
nElement, const AttributeList& rAttribs )
 {
-    if( nElement == C_TOKEN( chart ) || nElement == CX_TOKEN( chart ))
+    if( nElement == C_TOKEN( chart ) )
     {
         mrChartShapeInfo.maFragmentPath = getFragmentPathFromRelId( 
rAttribs.getStringDefaulted( R_TOKEN( id )) );
     }
diff --git a/oox/source/token/namespaces-strict.txt 
b/oox/source/token/namespaces-strict.txt
index f73e9863cc23..ba13a5f5f13b 100644
--- a/oox/source/token/namespaces-strict.txt
+++ b/oox/source/token/namespaces-strict.txt
@@ -96,7 +96,7 @@ xr16                    
http://schemas.microsoft.com/office/spreadsheetml/2017/r
 
 # MSO 2014 extensions ---------------------------------------------------------
 
-cx                      
http://schemas.microsoft.com/office/drawing/2014/chartex
+chartex                 
http://schemas.microsoft.com/office/drawing/2014/chartex
 
 # extlst namespaces
 
diff --git a/oox/source/token/namespaces.hxx.tail 
b/oox/source/token/namespaces.hxx.tail
index 6194c5da3510..f35cc20b36d3 100644
--- a/oox/source/token/namespaces.hxx.tail
+++ b/oox/source/token/namespaces.hxx.tail
@@ -66,7 +66,7 @@ inline sal_Int32 getNamespace( sal_Int32 nToken ) { return 
nToken & NMSP_MASK; }
 #define XR2_TOKEN(token)        OOX_TOKEN(xr2, token)
 #define XR16_TOKEN(token)       OOX_TOKEN(xr16, token)
 #define WPC_TOKEN(token)        OOX_TOKEN(wpc, token)
-#define CX_TOKEN(token)         OOX_TOKEN(cx, token)
+#define CHARTEX_TOKEN(token)    OOX_TOKEN(chartex, token)
 #define XNSV_TOKEN(token)       OOX_TOKEN(xnsv, token)
 
 
diff --git a/oox/source/token/namespaces.txt b/oox/source/token/namespaces.txt
index d4ae3bf7ebce..aa3681ebfc08 100644
--- a/oox/source/token/namespaces.txt
+++ b/oox/source/token/namespaces.txt
@@ -95,7 +95,7 @@ xr16                    
http://schemas.microsoft.com/office/spreadsheetml/2017/r
 
 # MSO 2014 extensions ---------------------------------------------------------
 
-cx                      
http://schemas.microsoft.com/office/drawing/2014/chartex
+chartex                 
http://schemas.microsoft.com/office/drawing/2014/chartex
 
 # extlst namespaces
 

Reply via email to