include/basctl/sbxitem.hxx                                          |    2 
 include/comphelper/accessiblewrapper.hxx                            |    4 -
 include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx   |    2 
 include/drawinglayer/primitive2d/PolyPolygonGradientPrimitive2D.hxx |    2 
 include/editeng/rubyitem.hxx                                        |    2 
 include/oox/drawingml/connectorshapecontext.hxx                     |    2 
 include/oox/shape/ShapeDrawingFragmentHandler.hxx                   |    2 
 include/svl/itempool.hxx                                            |    6 -
 include/svl/itemset.hxx                                             |    2 
 include/svl/poolitem.hxx                                            |    2 
 include/svx/ehdl.hxx                                                |    2 
 include/vcl/bitmap/BitmapDarkenBlendFilter.hxx                      |    2 
 include/vcl/builder.hxx                                             |    2 
 include/vcl/toolkit/svtabbx.hxx                                     |    2 
 include/xmloff/XMLComplexColorHandler.hxx                           |    2 
 sd/inc/unolayer.hxx                                                 |    4 -
 sd/source/ui/inc/AccessiblePageShape.hxx                            |    2 
 sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx             |    2 
 sd/source/ui/inc/AccessiblePresentationOLEShape.hxx                 |    2 
 sd/source/ui/inc/AccessiblePresentationShape.hxx                    |    2 
 sd/source/ui/inc/AccessibleSlideSorterObject.hxx                    |    2 
 sd/source/ui/inc/AccessibleSlideSorterView.hxx                      |    2 
 svx/inc/sdr/primitive2d/sdrcellprimitive.hxx                        |    2 
 sw/inc/hints.hxx                                                    |    2 
 sw/inc/unoxstyle.hxx                                                |    6 -
 sw/source/core/inc/viewimp.hxx                                      |    2 
 xmloff/inc/XMLThemeContext.hxx                                      |    6 -
 xmloff/inc/xmlbahdl.hxx                                             |   40 
+++++-----
 28 files changed, 55 insertions(+), 55 deletions(-)

New commits:
commit 4db0dedc52a6b10681be758e9f9bbba2765d6a33
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Mon May 19 19:55:37 2025 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Tue May 20 13:25:08 2025 +0200

    loplugin:finalclasses
    
    Change-Id: I56ba3f1d6a3bf90f1b3923ef54745a1582d6c85e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185541
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/include/basctl/sbxitem.hxx b/include/basctl/sbxitem.hxx
index 09cdb1a4d032..85be258aae99 100644
--- a/include/basctl/sbxitem.hxx
+++ b/include/basctl/sbxitem.hxx
@@ -35,7 +35,7 @@ enum SbxItemType
     SBX_TYPE_METHOD
 };
 
-class BASCTL_DLLPUBLIC SbxItem : public SfxPoolItem
+class BASCTL_DLLPUBLIC SbxItem final : public SfxPoolItem
 {
     const ScriptDocument    m_aDocument;
     const OUString          m_aLibName;
diff --git a/include/comphelper/accessiblewrapper.hxx 
b/include/comphelper/accessiblewrapper.hxx
index 7c1ae896ed9d..803fb76217e4 100644
--- a/include/comphelper/accessiblewrapper.hxx
+++ b/include/comphelper/accessiblewrapper.hxx
@@ -62,7 +62,7 @@ namespace comphelper
     /** a class which aggregates a proxy for an XAccessible, and wrapping the 
context returned by this
         XAccessible.
     */
-    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
OAccessibleWrapper:public OAccessibleWrapper_Base
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleWrapper final 
: public OAccessibleWrapper_Base
                             ,public OComponentProxyAggregation
 
     {
@@ -232,7 +232,7 @@ namespace comphelper
                                             ,   
css::accessibility::XAccessibleContext
                                             >   
OAccessibleContextWrapper_CBase;
 
-    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleContextWrapper
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
OAccessibleContextWrapper final
                     :public cppu::BaseMutex
                     ,public OAccessibleContextWrapper_CBase
                     ,public OAccessibleContextWrapperHelper
diff --git a/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx 
b/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx
index 9c0f5b005b1c..074ad3c9dcc3 100644
--- a/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx
+++ b/include/drawinglayer/primitive2d/BufferedDecompositionFlusher.hxx
@@ -26,7 +26,7 @@
 
 namespace drawinglayer::primitive2d
 {
-class BufferedDecompositionFlusher : public osl::Thread
+class BufferedDecompositionFlusher final : public osl::Thread
 {
 public:
     static void update(const BufferedDecompositionPrimitive2D*);
diff --git 
a/include/drawinglayer/primitive2d/PolyPolygonGradientPrimitive2D.hxx 
b/include/drawinglayer/primitive2d/PolyPolygonGradientPrimitive2D.hxx
index 31b4374dbc00..f20df8b35bfe 100644
--- a/include/drawinglayer/primitive2d/PolyPolygonGradientPrimitive2D.hxx
+++ b/include/drawinglayer/primitive2d/PolyPolygonGradientPrimitive2D.hxx
@@ -33,7 +33,7 @@ namespace drawinglayer::primitive2d
     decomosition will create a MaskPrimitive2D containing a
     FillGradientPrimitive2D.
  */
-class DRAWINGLAYER_DLLPUBLIC PolyPolygonGradientPrimitive2D
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonGradientPrimitive2D final
     : public BufferedDecompositionPrimitive2D
 {
 private:
diff --git a/include/editeng/rubyitem.hxx b/include/editeng/rubyitem.hxx
index 3b2fd44e1e11..59b54f180978 100644
--- a/include/editeng/rubyitem.hxx
+++ b/include/editeng/rubyitem.hxx
@@ -23,7 +23,7 @@
 #include <com/sun/star/text/RubyAdjust.hpp>
 #include <com/sun/star/text/RubyPosition.hpp>
 
-class EDITENG_DLLPUBLIC SvxRubyItem : public SfxPoolItem
+class EDITENG_DLLPUBLIC SvxRubyItem final : public SfxPoolItem
 {
     OUString m_aText;
     css::text::RubyAdjust m_eAdjustment = 
css::text::RubyAdjust::RubyAdjust_LEFT;
diff --git a/include/oox/drawingml/connectorshapecontext.hxx 
b/include/oox/drawingml/connectorshapecontext.hxx
index c5f2470fd61f..f268011985b3 100644
--- a/include/oox/drawingml/connectorshapecontext.hxx
+++ b/include/oox/drawingml/connectorshapecontext.hxx
@@ -37,7 +37,7 @@ namespace oox::drawingml {
     };
 
 /// Handles CT_NonVisualConnectorProperties, used for cNvCnPr (Word) and 
cNvCxnSpPr (PP) elements.
-class ConnectorShapePropertiesContext : public ::oox::core::ContextHandler2
+class ConnectorShapePropertiesContext final : public 
::oox::core::ContextHandler2
 {
     std::vector<ConnectorShapeProperties>& mrConnectorShapePropertiesList;
     ShapePtr mpConnectorShapePtr;
diff --git a/include/oox/shape/ShapeDrawingFragmentHandler.hxx 
b/include/oox/shape/ShapeDrawingFragmentHandler.hxx
index 340edca5e1d1..13b0a474c66b 100644
--- a/include/oox/shape/ShapeDrawingFragmentHandler.hxx
+++ b/include/oox/shape/ShapeDrawingFragmentHandler.hxx
@@ -16,7 +16,7 @@
 namespace oox::shape {
 
 /// Generic (i.e. not specific to PPTX) handler for the prerendered diagram 
parsing.
-class OOX_DLLPUBLIC ShapeDrawingFragmentHandler : public 
oox::core::FragmentHandler2
+class OOX_DLLPUBLIC ShapeDrawingFragmentHandler final : public 
oox::core::FragmentHandler2
 {
 public:
     ShapeDrawingFragmentHandler(oox::core::XmlFilterBase& rFilter, const 
OUString& rFragmentPath, oox::drawingml::ShapePtr pGroupShapePtr);
diff --git a/include/svl/itempool.hxx b/include/svl/itempool.hxx
index 5498197eafa0..0f378ea50b8d 100644
--- a/include/svl/itempool.hxx
+++ b/include/svl/itempool.hxx
@@ -64,7 +64,7 @@ public:
     sal_uInt16 getItemInfoFlags() const { return m_nItemInfoFlags; }
 };
 
-class SVL_DLLPUBLIC ItemInfoStatic : public ItemInfo
+class SVL_DLLPUBLIC ItemInfoStatic final : public ItemInfo
 {
     friend class ItemInfoPackage;
     void setItem(SfxPoolItem* pItem)
@@ -84,7 +84,7 @@ public:
     virtual const SfxPoolItem* getItem() const override { return 
m_pItem.get(); }
 };
 
-class SVL_DLLPUBLIC ItemInfoDynamic : public ItemInfo
+class SVL_DLLPUBLIC ItemInfoDynamic final : public ItemInfo
 {
     std::unique_ptr<const SfxPoolItem> m_pItem;
 
@@ -96,7 +96,7 @@ public:
     virtual const SfxPoolItem* getItem() const override { return 
m_pItem.get(); }
 };
 
-class UNLESS_MERGELIBS(SVL_DLLPUBLIC) ItemInfoUser : public ItemInfo
+class UNLESS_MERGELIBS(SVL_DLLPUBLIC) ItemInfoUser final : public ItemInfo
 {
     const SfxPoolItem* m_pItem;
 
diff --git a/include/svl/itemset.hxx b/include/svl/itemset.hxx
index 858b43bc4f6b..8b158e410318 100644
--- a/include/svl/itemset.hxx
+++ b/include/svl/itemset.hxx
@@ -313,7 +313,7 @@ private:
 // To adapt, there is the static makeFixedSfxItemSet member in SfxItemSet. Did
 // that in one place to check functionality (easy hack...?)
 template<sal_uInt16... WIDs>
-class SfxItemSetFixed : public SfxItemSet
+class SfxItemSetFixed final : public SfxItemSet
 {
 public:
     SfxItemSetFixed( SfxItemPool& rPool)
diff --git a/include/svl/poolitem.hxx b/include/svl/poolitem.hxx
index 376bc6069cd9..e7ea0d249c0c 100644
--- a/include/svl/poolitem.hxx
+++ b/include/svl/poolitem.hxx
@@ -794,7 +794,7 @@ private:
 // stuff - better use an intelligent, pro-Item implementation
 // that does e.g. hashing or whatever might be feasible for
 // that specific Item (see other derivations)
-class SVL_DLLPUBLIC DefaultItemInstanceManager : public ItemInstanceManager
+class SVL_DLLPUBLIC DefaultItemInstanceManager final : public 
ItemInstanceManager
 {
     std::unordered_map<sal_uInt16, std::unordered_set<const SfxPoolItem*>>  
maRegistered;
 
diff --git a/include/svx/ehdl.hxx b/include/svx/ehdl.hxx
index 553f8420396f..062b3d831252 100644
--- a/include/svx/ehdl.hxx
+++ b/include/svx/ehdl.hxx
@@ -12,7 +12,7 @@
 #include <svx/svxdllapi.h>
 #include <svtools/ehdl.hxx>
 
-class SVX_DLLPUBLIC SvxErrorContext : public SfxErrorContext
+class SVX_DLLPUBLIC SvxErrorContext final : public SfxErrorContext
 {
 public:
     SvxErrorContext(sal_uInt16 nCtxIdP, OUString aArg1, weld::Window* pWin);
diff --git a/include/vcl/bitmap/BitmapDarkenBlendFilter.hxx 
b/include/vcl/bitmap/BitmapDarkenBlendFilter.hxx
index 527eac27efb9..de8ff278e065 100644
--- a/include/vcl/bitmap/BitmapDarkenBlendFilter.hxx
+++ b/include/vcl/bitmap/BitmapDarkenBlendFilter.hxx
@@ -12,7 +12,7 @@
 
 #include <vcl/bitmap/BitmapFilter.hxx>
 
-class VCL_DLLPUBLIC BitmapDarkenBlendFilter : public BitmapFilter
+class VCL_DLLPUBLIC BitmapDarkenBlendFilter final : public BitmapFilter
 {
 private:
     BitmapEx maBlendBitmapBitmapEx;
diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index bfe0ea781701..ba2e284f319f 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -46,7 +46,7 @@ struct NotebookBarAddonsItem;
 namespace com::sun::star::frame { class XFrame; }
 
 /// Creates a hierarchy of vcl::Windows (widgets) from a .ui file for dialogs, 
sidebar, etc.
-class VCL_DLLPUBLIC VclBuilder : public WidgetBuilder<vcl::Window, 
VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>
+class VCL_DLLPUBLIC VclBuilder final : public WidgetBuilder<vcl::Window, 
VclPtr<vcl::Window>, PopupMenu, VclPtr<PopupMenu>>
 {
 public:
     /// These functions create a new widget with parent pParent and return it 
in rRet
diff --git a/include/vcl/toolkit/svtabbx.hxx b/include/vcl/toolkit/svtabbx.hxx
index 35967ff14213..cb67d9b8775c 100644
--- a/include/vcl/toolkit/svtabbx.hxx
+++ b/include/vcl/toolkit/svtabbx.hxx
@@ -86,7 +86,7 @@ namespace vcl {
 }
 class AccessibleBrowseBoxHeaderCell;
 
-class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvHeaderTabListBox : public 
SvTabListBox, public vcl::IAccessibleTableProvider
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvHeaderTabListBox final : public 
SvTabListBox, public vcl::IAccessibleTableProvider
 {
 private:
     bool                            m_bFirstPaint;
diff --git a/include/xmloff/XMLComplexColorHandler.hxx 
b/include/xmloff/XMLComplexColorHandler.hxx
index 52c3de04ff9a..c9e66ba8c8c4 100644
--- a/include/xmloff/XMLComplexColorHandler.hxx
+++ b/include/xmloff/XMLComplexColorHandler.hxx
@@ -15,7 +15,7 @@
 
 using namespace css;
 
-class XMLOFF_DLLPUBLIC XMLComplexColorHandler : public XMLPropertyHandler
+class XMLOFF_DLLPUBLIC XMLComplexColorHandler final : public XMLPropertyHandler
 {
 public:
     bool importXML(const OUString& /*rStrImpValue*/, css::uno::Any& /*rValue*/,
diff --git a/sd/inc/unolayer.hxx b/sd/inc/unolayer.hxx
index f96634f536ff..4869e9baae85 100644
--- a/sd/inc/unolayer.hxx
+++ b/sd/inc/unolayer.hxx
@@ -39,7 +39,7 @@ enum LayerAttribute { VISIBLE, PRINTABLE, LOCKED };
 /***********************************************************************
 *                                                                      *
 ***********************************************************************/
-class SdLayer : public ::cppu::WeakImplHelper< css::drawing::XLayer,
+class SdLayer final : public ::cppu::WeakImplHelper< css::drawing::XLayer,
                                                 css::lang::XServiceInfo,
                                                 css::container::XChild,
                                                 css::lang::XComponent >
@@ -95,7 +95,7 @@ private:
 *                                                                      *
 ***********************************************************************/
 
-class SdLayerManager : public ::cppu::WeakImplHelper< 
css::drawing::XLayerManager,
+class SdLayerManager final : public ::cppu::WeakImplHelper< 
css::drawing::XLayerManager,
                                                        
css::container::XNameAccess,
                                                        css::lang::XServiceInfo,
                                                        css::lang::XComponent >
diff --git a/sd/source/ui/inc/AccessiblePageShape.hxx 
b/sd/source/ui/inc/AccessiblePageShape.hxx
index 13de2fa85ce2..41090ff4c70c 100644
--- a/sd/source/ui/inc/AccessiblePageShape.hxx
+++ b/sd/source/ui/inc/AccessiblePageShape.hxx
@@ -29,7 +29,7 @@ namespace accessibility {
 
 /** A page shape represents the actual page as seen on the screen.
 */
-class AccessiblePageShape
+class AccessiblePageShape final
     :   public AccessibleShape
 {
 public:
diff --git a/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx 
b/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx
index 91e573835cf5..fc98eb7e5140 100644
--- a/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx
+++ b/sd/source/ui/inc/AccessiblePresentationGraphicShape.hxx
@@ -28,7 +28,7 @@ namespace accessibility {
 
 /** This class makes Impress shapes accessible.
 */
-class AccessiblePresentationGraphicShape
+class AccessiblePresentationGraphicShape final
     :   public AccessibleGraphicShape
 {
 public:
diff --git a/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx 
b/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx
index a8ac60deb45e..19b51c5d2517 100644
--- a/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx
+++ b/sd/source/ui/inc/AccessiblePresentationOLEShape.hxx
@@ -25,7 +25,7 @@ namespace accessibility {
 
 /** This class makes Impress shapes accessible.
 */
-class AccessiblePresentationOLEShape
+class AccessiblePresentationOLEShape final
     :   public AccessibleOLEShape
 {
 public:
diff --git a/sd/source/ui/inc/AccessiblePresentationShape.hxx 
b/sd/source/ui/inc/AccessiblePresentationShape.hxx
index 4a6447ae974c..35c5a62d43ab 100644
--- a/sd/source/ui/inc/AccessiblePresentationShape.hxx
+++ b/sd/source/ui/inc/AccessiblePresentationShape.hxx
@@ -25,7 +25,7 @@ namespace accessibility {
 
 /** This class makes Impress shapes accessible.
 */
-class AccessiblePresentationShape
+class AccessiblePresentationShape final
     :   public AccessibleShape
 {
 public:
diff --git a/sd/source/ui/inc/AccessibleSlideSorterObject.hxx 
b/sd/source/ui/inc/AccessibleSlideSorterObject.hxx
index b34f49f33657..464472f33686 100644
--- a/sd/source/ui/inc/AccessibleSlideSorterObject.hxx
+++ b/sd/source/ui/inc/AccessibleSlideSorterObject.hxx
@@ -33,7 +33,7 @@ namespace accessibility {
 
 /** This class makes page objects of the slide sorter accessible.
 */
-class AccessibleSlideSorterObject
+class AccessibleSlideSorterObject final
     : public 
cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper,
                                          css::accessibility::XAccessible, 
css::lang::XServiceInfo>
 {
diff --git a/sd/source/ui/inc/AccessibleSlideSorterView.hxx 
b/sd/source/ui/inc/AccessibleSlideSorterView.hxx
index f6126389dbdc..9aa15a72a135 100644
--- a/sd/source/ui/inc/AccessibleSlideSorterView.hxx
+++ b/sd/source/ui/inc/AccessibleSlideSorterView.hxx
@@ -39,7 +39,7 @@ class AccessibleSlideSorterObject;
     of the AccessibleSlideSorterObject class to the make the page objects
     accessible.
 */
-class AccessibleSlideSorterView
+class AccessibleSlideSorterView final
     : public cppu::ImplInheritanceHelper<
           comphelper::OAccessibleComponentHelper, 
css::accessibility::XAccessible,
           css::accessibility::XAccessibleSelection, css::lang::XServiceInfo>
diff --git a/svx/inc/sdr/primitive2d/sdrcellprimitive.hxx 
b/svx/inc/sdr/primitive2d/sdrcellprimitive.hxx
index 2b4b45f58dec..ad125241ed5c 100644
--- a/svx/inc/sdr/primitive2d/sdrcellprimitive.hxx
+++ b/svx/inc/sdr/primitive2d/sdrcellprimitive.hxx
@@ -24,7 +24,7 @@
 
 namespace drawinglayer::primitive2d
 {
-class SdrCellPrimitive2D : public BufferedDecompositionPrimitive2D
+class SdrCellPrimitive2D final : public BufferedDecompositionPrimitive2D
 {
 private:
     basegfx::B2DHomMatrix maTransform;
diff --git a/sw/inc/hints.hxx b/sw/inc/hints.hxx
index 284c4f29ebad..83bbd1c2316f 100644
--- a/sw/inc/hints.hxx
+++ b/sw/inc/hints.hxx
@@ -43,7 +43,7 @@ class SwUpdateAttr;
 
 // Base class for all Message-Hints:
 // "Overhead" of SfxPoolItem is handled here
-class SwMsgPoolItem : public SfxPoolItem
+class SwMsgPoolItem final : public SfxPoolItem
 {
 public:
     DECLARE_ITEM_TYPE_FUNCTION(SwMsgPoolItem)
diff --git a/sw/inc/unoxstyle.hxx b/sw/inc/unoxstyle.hxx
index b1364e434f4b..332dd5616992 100644
--- a/sw/inc/unoxstyle.hxx
+++ b/sw/inc/unoxstyle.hxx
@@ -116,7 +116,7 @@ public:
     virtual void SAL_CALL setParentStyle(const OUString& aParentStyle) 
override;
 
     //XPropertySet
-    virtual css::uno::Reference<css::beans::XPropertySetInfo>
+    SW_DLLPUBLIC virtual css::uno::Reference<css::beans::XPropertySetInfo>
         SAL_CALL getPropertySetInfo() override;
     virtual void SAL_CALL setPropertyValue(const OUString& aPropertyName,
                                            const css::uno::Any& aValue) 
override;
@@ -221,7 +221,7 @@ public:
 };
 
 typedef cppu::ImplInheritanceHelper<SwXStyle, css::document::XEventsSupplier> 
SwXFrameStyle_Base;
-class SwXFrameStyle : public SwXFrameStyle_Base, public sw::ICoreFrameStyle
+class SwXFrameStyle final : public SwXFrameStyle_Base, public 
sw::ICoreFrameStyle
 {
 public:
     SwXFrameStyle(SfxStyleSheetBasePool& rPool, SwDoc* pDoc, const UIName& 
rStyleName)
@@ -238,7 +238,7 @@ public:
     virtual css::document::XEventsSupplier& GetEventsSupplier() override { 
return *this; };
 };
 
-class SAL_DLLPUBLIC_RTTI SwXPageStyle : public SwXStyle
+class SW_DLLPUBLIC SwXPageStyle final : public SwXStyle
 {
 protected:
     void SetPropertyValues_Impl(const css::uno::Sequence<OUString>& 
aPropertyNames,
diff --git a/sw/source/core/inc/viewimp.hxx b/sw/source/core/inc/viewimp.hxx
index af3fd44a73ba..d47bf630406c 100644
--- a/sw/source/core/inc/viewimp.hxx
+++ b/sw/source/core/inc/viewimp.hxx
@@ -48,7 +48,7 @@ class SwTextFrame;
 // --> OD #i76669#
 //namespace sdr::contact { class ViewObjectContactRedirector; }
 // <--
-class SwViewObjectContactRedirector : public 
sdr::contact::ViewObjectContactRedirector
+class SwViewObjectContactRedirector final : public 
sdr::contact::ViewObjectContactRedirector
 {
     private:
         const SwViewShell& mrViewShell;
diff --git a/xmloff/inc/XMLThemeContext.hxx b/xmloff/inc/XMLThemeContext.hxx
index c699673064a1..5b187584808c 100644
--- a/xmloff/inc/XMLThemeContext.hxx
+++ b/xmloff/inc/XMLThemeContext.hxx
@@ -20,7 +20,7 @@ class Theme;
 }
 
 /// Imports the theme
-class XMLThemeContext : public SvXMLImportContext
+class XMLThemeContext final : public SvXMLImportContext
 {
     // Any UNO object that has the "Theme" property - usually XPage (master 
page) or XModel
     css::uno::Reference<css::uno::XInterface> m_xObjectWithThemeProperty;
@@ -38,7 +38,7 @@ public:
 };
 
 /// Imports the theme colors of a theme
-class XMLThemeColorsContext : public SvXMLImportContext
+class XMLThemeColorsContext final : public SvXMLImportContext
 {
     model::Theme& mrTheme;
     std::shared_ptr<model::ColorSet> m_pColorSet;
@@ -56,7 +56,7 @@ public:
 };
 
 /// Imports a color for a color table
-class XMLColorContext : public SvXMLImportContext
+class XMLColorContext final : public SvXMLImportContext
 {
 public:
     XMLColorContext(SvXMLImport& rImport,
diff --git a/xmloff/inc/xmlbahdl.hxx b/xmloff/inc/xmlbahdl.hxx
index 7736d6d2f432..0affceff19cd 100644
--- a/xmloff/inc/xmlbahdl.hxx
+++ b/xmloff/inc/xmlbahdl.hxx
@@ -26,7 +26,7 @@
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_NUMBER
 */
-class XMLNumberPropHdl : public XMLPropertyHandler
+class XMLNumberPropHdl final : public XMLPropertyHandler
 {
     sal_Int8 nBytes;
 
@@ -41,7 +41,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_NUMBER_NONE
 */
-class XMLNumberNonePropHdl : public XMLPropertyHandler
+class XMLNumberNonePropHdl final : public XMLPropertyHandler
 {
     OUString sZeroStr;
     sal_Int8        nBytes;
@@ -57,7 +57,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_MEASURE
 */
-class XMLMeasurePropHdl : public XMLPropertyHandler
+class XMLMeasurePropHdl final : public XMLPropertyHandler
 {
     sal_Int8 nBytes;
 public:
@@ -71,7 +71,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_UNIT_MEASURE
 */
-class XMLUnitMeasurePropHdl : public XMLPropertyHandler
+class XMLUnitMeasurePropHdl final : public XMLPropertyHandler
 {
 public:
     bool importXML( const OUString& rStrImpValue, css::uno::Any& rValue, const 
SvXMLUnitConverter& rUnitConverter ) const override;
@@ -81,7 +81,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_PERCENT
 */
-class XMLPercentPropHdl : public XMLPropertyHandler
+class XMLPercentPropHdl final : public XMLPropertyHandler
 {
     sal_Int8 nBytes;
 public:
@@ -96,14 +96,14 @@ public:
     PropertyHandler for the XML-data-type: XML_TYPE_PERCENT
     that is mapped on a double from 0.0 to 1.0
 */
-class XMLDoublePercentPropHdl : public XMLPropertyHandler
+class XMLDoublePercentPropHdl final : public XMLPropertyHandler
 {
     virtual bool importXML( const OUString& rStrImpValue, css::uno::Any& 
rValue, const SvXMLUnitConverter& rUnitConverter ) const override;
     virtual bool exportXML( OUString& rStrExpValue, const css::uno::Any& 
rValue, const SvXMLUnitConverter& rUnitConverter ) const override;
 };
 
 /// Maps between XML percentage and our 100th percent ints.
-class XML100thPercentPropHdl : public XMLPropertyHandler
+class XML100thPercentPropHdl final : public XMLPropertyHandler
 {
     virtual bool importXML(const OUString& rStrImpValue, css::uno::Any& rValue,
                            const SvXMLUnitConverter& rUnitConverter) const 
override;
@@ -114,7 +114,7 @@ class XML100thPercentPropHdl : public XMLPropertyHandler
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_NEG_PERCENT
 */
-class XMLNegPercentPropHdl : public XMLPropertyHandler
+class XMLNegPercentPropHdl final : public XMLPropertyHandler
 {
     sal_Int8 nBytes;
 public:
@@ -128,7 +128,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_PERCENT
 */
-class XMLMeasurePxPropHdl : public XMLPropertyHandler
+class XMLMeasurePxPropHdl final : public XMLPropertyHandler
 {
     sal_Int8 nBytes;
 public:
@@ -151,7 +151,7 @@ public:
     virtual bool exportXML( OUString& rStrExpValue, const css::uno::Any& 
rValue, const SvXMLUnitConverter& rUnitConverter ) const override;
 };
 
-class XMLBoolFalsePropHdl : public XMLBoolPropHdl
+class XMLBoolFalsePropHdl final : public XMLBoolPropHdl
 {
 public:
     virtual ~XMLBoolFalsePropHdl() override;
@@ -164,7 +164,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_COLOR
 */
-class XMLColorPropHdl : public XMLPropertyHandler
+class XMLColorPropHdl final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLColorPropHdl() override;
@@ -176,7 +176,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_HEX
 */
-class XMLHexPropHdl : public XMLPropertyHandler
+class XMLHexPropHdl final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLHexPropHdl() override;
@@ -200,7 +200,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_STYLENAME
 */
-class XMLStyleNamePropHdl : public XMLStringPropHdl
+class XMLStyleNamePropHdl final : public XMLStringPropHdl
 {
 public:
     virtual ~XMLStyleNamePropHdl() override;
@@ -224,7 +224,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_NBOOL
 */
-class XMLNBoolPropHdl : public XMLPropertyHandler
+class XMLNBoolPropHdl final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLNBoolPropHdl() override;
@@ -236,7 +236,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_COLORTRANSPARENT
 */
-class XMLColorTransparentPropHdl : public XMLPropertyHandler
+class XMLColorTransparentPropHdl final : public XMLPropertyHandler
 {
     const OUString sTransparent;
 
@@ -251,7 +251,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_ISTRANSPARENT
 */
-class XMLIsTransparentPropHdl : public XMLPropertyHandler
+class XMLIsTransparentPropHdl final : public XMLPropertyHandler
 {
     const OUString sTransparent;
     bool bTransPropValue;
@@ -268,7 +268,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_COLORAUTO
 */
-class XMLColorAutoPropHdl : public XMLPropertyHandler
+class XMLColorAutoPropHdl final : public XMLPropertyHandler
 {
 public:
     XMLColorAutoPropHdl();
@@ -281,7 +281,7 @@ public:
 /**
     PropertyHandler for the XML-data-type: XML_TYPE_COLORISAUTO
 */
-class XMLIsAutoColorPropHdl : public XMLPropertyHandler
+class XMLIsAutoColorPropHdl final : public XMLPropertyHandler
 {
 public:
     XMLIsAutoColorPropHdl();
@@ -296,7 +296,7 @@ public:
     PropertyHandler for properties that cannot make use of importXML
     and exportXML methods, but can make use of the default comparison
 */
-class XMLCompareOnlyPropHdl : public XMLPropertyHandler
+class XMLCompareOnlyPropHdl final : public XMLPropertyHandler
 {
 public:
     virtual ~XMLCompareOnlyPropHdl() override;
@@ -310,7 +310,7 @@ public:
     Reads/writes numeric properties, but fails for the value zero
     (i.e., a value 0 property will not be written)
 */
-class XMLNumberWithoutZeroPropHdl : public XMLPropertyHandler
+class XMLNumberWithoutZeroPropHdl final : public XMLPropertyHandler
 {
     sal_Int8        nBytes;
 public:

Reply via email to