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

Noel Grandin (via logerrit) logerrit at kemper.freedesktop.org
Wed Nov 27 19:54:31 UTC 2019


 vcl/inc/BitmapColorizeFilter.hxx           |    2 +-
 vcl/inc/BitmapDisabledImageFilter.hxx      |    2 +-
 vcl/inc/BitmapFastScaleFilter.hxx          |    2 +-
 vcl/inc/BitmapInterpolateScaleFilter.hxx   |    2 +-
 vcl/inc/BitmapLightenFilter.hxx            |    2 +-
 vcl/inc/BitmapScaleConvolutionFilter.hxx   |    6 +++---
 vcl/inc/BitmapScaleSuperFilter.hxx         |    2 +-
 vcl/inc/FileDefinitionWidgetDraw.hxx       |    2 +-
 vcl/inc/ResampleKernel.hxx                 |    6 +++---
 vcl/inc/aboutdialog.hxx                    |    3 +--
 vcl/inc/bitmap/ScanlineTools.hxx           |   10 +++++-----
 vcl/inc/brdwin.hxx                         |    2 +-
 vcl/inc/canvasbitmap.hxx                   |    2 +-
 vcl/inc/displayconnectiondispatch.hxx      |    2 +-
 vcl/inc/dndeventdispatcher.hxx             |    2 +-
 vcl/inc/dndlistenercontainer.hxx           |    2 +-
 vcl/inc/graphic/UnoGraphic.hxx             |    6 ++----
 vcl/inc/headless/CustomWidgetDraw.hxx      |    2 +-
 vcl/inc/headless/svpbmp.hxx                |    2 +-
 vcl/inc/headless/svpcairotextrender.hxx    |    2 +-
 vcl/inc/headless/svpdummies.hxx            |    4 ++--
 vcl/inc/headless/svpframe.hxx              |    2 +-
 vcl/inc/headless/svpinst.hxx               |    5 ++---
 vcl/inc/headless/svpprn.hxx                |    4 ++--
 vcl/inc/helpwin.hxx                        |    2 +-
 vcl/inc/opengl/BufferObject.hxx            |    4 ++--
 vcl/inc/opengl/salbmp.hxx                  |    2 +-
 vcl/inc/opengl/x11/X11DeviceInfo.hxx       |    2 +-
 vcl/inc/outdev.h                           |    2 +-
 vcl/inc/printdlg.hxx                       |    8 ++++----
 vcl/inc/qt5/Qt5AccessibleEventListener.hxx |    2 +-
 vcl/inc/qt5/Qt5AccessibleWidget.hxx        |   14 +++++++-------
 vcl/inc/qt5/Qt5Bitmap.hxx                  |    2 +-
 vcl/inc/qt5/Qt5Data.hxx                    |    2 +-
 vcl/inc/qt5/Qt5DragAndDrop.hxx             |    4 ++--
 vcl/inc/qt5/Qt5FontFace.hxx                |    5 ++---
 vcl/inc/qt5/Qt5Graphics.hxx                |    3 +--
 vcl/inc/qt5/Qt5Object.hxx                  |    4 ++--
 vcl/inc/qt5/Qt5OpenGLContext.hxx           |    2 +-
 vcl/inc/qt5/Qt5Printer.hxx                 |    2 +-
 vcl/inc/qt5/Qt5SvpSurface.hxx              |    2 +-
 vcl/inc/qt5/Qt5System.hxx                  |    2 +-
 vcl/inc/qt5/Qt5VirtualDevice.hxx           |    2 +-
 vcl/inc/scrptrun.h                         |    2 +-
 vcl/inc/scrwnd.hxx                         |    4 +---
 vcl/inc/svdata.hxx                         |    2 +-
 vcl/inc/textlayout.hxx                     |    2 +-
 vcl/inc/treeglue.hxx                       |    4 ++--
 vcl/inc/unx/genpspgraphics.h               |    2 +-
 vcl/inc/unx/gtk/gtkdata.hxx                |    2 +-
 vcl/inc/unx/gtk/gtkframe.hxx               |    2 +-
 vcl/inc/unx/gtk/gtkinst.hxx                |   10 +++++-----
 vcl/inc/unx/gtk/gtkobject.hxx              |    2 +-
 vcl/inc/unx/gtk/gtkprn.hxx                 |    4 ++--
 vcl/inc/unx/gtk/gtksys.hxx                 |    2 +-
 vcl/inc/unx/saldata.hxx                    |    3 +--
 vcl/inc/unx/saldisp.hxx                    |    4 ++--
 vcl/inc/unx/salgdi.h                       |    5 ++---
 vcl/inc/unx/salinst.h                      |    3 +--
 vcl/inc/unx/salobj.h                       |    2 +-
 vcl/inc/unx/saltimer.h                     |    2 +-
 vcl/inc/unx/x11/x11sys.hxx                 |    2 +-
 62 files changed, 95 insertions(+), 106 deletions(-)

New commits:
commit 49e37a1c3d192c9c5d03972c25f802aeb01c668e
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Nov 27 18:53:47 2019 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Nov 27 20:52:52 2019 +0100

    loplugin:finalclasses in vcl
    
    Change-Id: If22569a1b7d53fc1b5b87f7ec7d262ebb260e798
    Reviewed-on: https://gerrit.libreoffice.org/83933
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/vcl/inc/BitmapColorizeFilter.hxx b/vcl/inc/BitmapColorizeFilter.hxx
index 2795d7a95ad3..6265d5a3922e 100644
--- a/vcl/inc/BitmapColorizeFilter.hxx
+++ b/vcl/inc/BitmapColorizeFilter.hxx
@@ -15,7 +15,7 @@
 
 #include <vcl/BitmapFilter.hxx>
 
-class VCL_DLLPUBLIC BitmapColorizeFilter : public BitmapFilter
+class VCL_DLLPUBLIC BitmapColorizeFilter final : public BitmapFilter
 {
 public:
     BitmapColorizeFilter(Color aColor)
diff --git a/vcl/inc/BitmapDisabledImageFilter.hxx b/vcl/inc/BitmapDisabledImageFilter.hxx
index 34336464aff6..0967cad6bedb 100644
--- a/vcl/inc/BitmapDisabledImageFilter.hxx
+++ b/vcl/inc/BitmapDisabledImageFilter.hxx
@@ -13,7 +13,7 @@
 
 #include <vcl/BitmapFilter.hxx>
 
-class VCL_DLLPUBLIC BitmapDisabledImageFilter : public BitmapFilter
+class VCL_DLLPUBLIC BitmapDisabledImageFilter final : public BitmapFilter
 {
 public:
     BitmapDisabledImageFilter() {}
diff --git a/vcl/inc/BitmapFastScaleFilter.hxx b/vcl/inc/BitmapFastScaleFilter.hxx
index 1d7d771f3633..6228987b9087 100644
--- a/vcl/inc/BitmapFastScaleFilter.hxx
+++ b/vcl/inc/BitmapFastScaleFilter.hxx
@@ -14,7 +14,7 @@
 #include <vcl/bitmapex.hxx>
 #include <vcl/BitmapFilter.hxx>
 
-class VCL_DLLPUBLIC BitmapFastScaleFilter : public BitmapFilter
+class VCL_DLLPUBLIC BitmapFastScaleFilter final : public BitmapFilter
 {
 public:
     explicit BitmapFastScaleFilter(double fScaleX, double fScaleY)
diff --git a/vcl/inc/BitmapInterpolateScaleFilter.hxx b/vcl/inc/BitmapInterpolateScaleFilter.hxx
index 37d570997493..ef79396301d4 100644
--- a/vcl/inc/BitmapInterpolateScaleFilter.hxx
+++ b/vcl/inc/BitmapInterpolateScaleFilter.hxx
@@ -14,7 +14,7 @@
 #include <vcl/bitmapex.hxx>
 #include <vcl/BitmapFilter.hxx>
 
-class VCL_DLLPUBLIC BitmapInterpolateScaleFilter : public BitmapFilter
+class VCL_DLLPUBLIC BitmapInterpolateScaleFilter final : public BitmapFilter
 {
 public:
     explicit BitmapInterpolateScaleFilter(double fScaleX, double fScaleY)
diff --git a/vcl/inc/BitmapLightenFilter.hxx b/vcl/inc/BitmapLightenFilter.hxx
index 540f07fb39b8..08480fd43b06 100644
--- a/vcl/inc/BitmapLightenFilter.hxx
+++ b/vcl/inc/BitmapLightenFilter.hxx
@@ -13,7 +13,7 @@
 
 #include <vcl/BitmapFilter.hxx>
 
-class VCL_DLLPUBLIC BitmapLightenFilter : public BitmapFilter
+class VCL_DLLPUBLIC BitmapLightenFilter final : public BitmapFilter
 {
 public:
     virtual BitmapEx execute(BitmapEx const& rBitmapEx) const override;
diff --git a/vcl/inc/BitmapScaleConvolutionFilter.hxx b/vcl/inc/BitmapScaleConvolutionFilter.hxx
index 3c5bdcb8a8fb..5a9767c93d31 100644
--- a/vcl/inc/BitmapScaleConvolutionFilter.hxx
+++ b/vcl/inc/BitmapScaleConvolutionFilter.hxx
@@ -44,7 +44,7 @@ private:
     double const mrScaleY;
 };
 
-class VCL_DLLPUBLIC BitmapScaleBilinearFilter : public BitmapScaleConvolutionFilter
+class VCL_DLLPUBLIC BitmapScaleBilinearFilter final : public BitmapScaleConvolutionFilter
 {
 public:
     BitmapScaleBilinearFilter(const double& rScaleX, const double& rScaleY)
@@ -53,7 +53,7 @@ public:
     }
 };
 
-class VCL_DLLPUBLIC BitmapScaleBicubicFilter : public BitmapScaleConvolutionFilter
+class VCL_DLLPUBLIC BitmapScaleBicubicFilter final : public BitmapScaleConvolutionFilter
 {
 public:
     BitmapScaleBicubicFilter(const double& rScaleX, const double& rScaleY)
@@ -62,7 +62,7 @@ public:
     }
 };
 
-class VCL_DLLPUBLIC BitmapScaleLanczos3Filter : public BitmapScaleConvolutionFilter
+class VCL_DLLPUBLIC BitmapScaleLanczos3Filter final : public BitmapScaleConvolutionFilter
 {
 public:
     BitmapScaleLanczos3Filter(const double& rScaleX, const double& rScaleY)
diff --git a/vcl/inc/BitmapScaleSuperFilter.hxx b/vcl/inc/BitmapScaleSuperFilter.hxx
index 879f5a75c46d..26853b964143 100644
--- a/vcl/inc/BitmapScaleSuperFilter.hxx
+++ b/vcl/inc/BitmapScaleSuperFilter.hxx
@@ -22,7 +22,7 @@
 
 #include <vcl/BitmapFilter.hxx>
 
-class BitmapScaleSuperFilter : public BitmapFilter
+class BitmapScaleSuperFilter final : public BitmapFilter
 {
 public:
     BitmapScaleSuperFilter(const double& rScaleX, const double& rScaleY);
diff --git a/vcl/inc/FileDefinitionWidgetDraw.hxx b/vcl/inc/FileDefinitionWidgetDraw.hxx
index 7e3d398fb0f8..c69d3fbbb19a 100644
--- a/vcl/inc/FileDefinitionWidgetDraw.hxx
+++ b/vcl/inc/FileDefinitionWidgetDraw.hxx
@@ -17,7 +17,7 @@
 
 namespace vcl
 {
-class FileDefinitionWidgetDraw : public vcl::WidgetDrawInterface
+class FileDefinitionWidgetDraw final : public vcl::WidgetDrawInterface
 {
 private:
     SalGraphics& m_rGraphics;
diff --git a/vcl/inc/ResampleKernel.hxx b/vcl/inc/ResampleKernel.hxx
index 1d40b4d87b6d..ca54213f5449 100644
--- a/vcl/inc/ResampleKernel.hxx
+++ b/vcl/inc/ResampleKernel.hxx
@@ -36,7 +36,7 @@ public:
     virtual double  Calculate( double x ) const = 0;
 };
 
-class Lanczos3Kernel : public Kernel
+class Lanczos3Kernel final : public Kernel
 {
 public:
     Lanczos3Kernel() : Kernel () {}
@@ -62,7 +62,7 @@ private:
         boost::math::policies::promote_double<false> > SincPolicy;
 };
 
-class BicubicKernel : public Kernel
+class BicubicKernel final : public Kernel
 {
 public:
     BicubicKernel() : Kernel () {}
@@ -88,7 +88,7 @@ private:
     }
 };
 
-class BilinearKernel : public Kernel
+class BilinearKernel final : public Kernel
 {
 public:
     BilinearKernel() : Kernel () {}
diff --git a/vcl/inc/aboutdialog.hxx b/vcl/inc/aboutdialog.hxx
index 180c509aa77e..562316ae4a8c 100644
--- a/vcl/inc/aboutdialog.hxx
+++ b/vcl/inc/aboutdialog.hxx
@@ -18,7 +18,7 @@
 
 namespace vcl
 {
-class AboutDialog : public Dialog
+class AboutDialog final : public Dialog
 {
 private:
     BitmapEx m_aBackgroundBitmap;
@@ -34,7 +34,6 @@ private:
 
     void StyleControls();
 
-protected:
     virtual void Paint(vcl::RenderContext& rRenderContext,
                        const ::tools::Rectangle& rRect) override;
     virtual bool set_property(const OString& rKey, const OUString& rValue) override;
diff --git a/vcl/inc/bitmap/ScanlineTools.hxx b/vcl/inc/bitmap/ScanlineTools.hxx
index 8710a798562d..9528f48090e9 100644
--- a/vcl/inc/bitmap/ScanlineTools.hxx
+++ b/vcl/inc/bitmap/ScanlineTools.hxx
@@ -27,7 +27,7 @@ public:
     virtual ~ScanlineTransformer() = default;
 };
 
-class ScanlineTransformer_ARGB : public ScanlineTransformer
+class ScanlineTransformer_ARGB final : public ScanlineTransformer
 {
 private:
     sal_uInt8* pData;
@@ -53,7 +53,7 @@ public:
     }
 };
 
-class ScanlineTransformer_BGR : public ScanlineTransformer
+class ScanlineTransformer_BGR final : public ScanlineTransformer
 {
 private:
     sal_uInt8* pData;
@@ -78,7 +78,7 @@ public:
     }
 };
 
-class ScanlineTransformer_8BitPalette : public ScanlineTransformer
+class ScanlineTransformer_8BitPalette final : public ScanlineTransformer
 {
 private:
     sal_uInt8* pData;
@@ -110,7 +110,7 @@ public:
     }
 };
 
-class ScanlineTransformer_4BitPalette : public ScanlineTransformer
+class ScanlineTransformer_4BitPalette final : public ScanlineTransformer
 {
 private:
     sal_uInt8* pData;
@@ -164,7 +164,7 @@ public:
     }
 };
 
-class ScanlineTransformer_1BitPalette : public ScanlineTransformer
+class ScanlineTransformer_1BitPalette final : public ScanlineTransformer
 {
 private:
     sal_uInt8* pData;
diff --git a/vcl/inc/brdwin.hxx b/vcl/inc/brdwin.hxx
index 0510006fa3ea..c7da025a93fd 100644
--- a/vcl/inc/brdwin.hxx
+++ b/vcl/inc/brdwin.hxx
@@ -234,7 +234,7 @@ public:
     static long             ImplCalcTitleWidth( const ImplBorderFrameData* pData );
 };
 
-class ImplNoBorderWindowView : public ImplBorderWindowView
+class ImplNoBorderWindowView final : public ImplBorderWindowView
 {
 public:
                             ImplNoBorderWindowView();
diff --git a/vcl/inc/canvasbitmap.hxx b/vcl/inc/canvasbitmap.hxx
index a22ba4346582..6770ab953aa5 100644
--- a/vcl/inc/canvasbitmap.hxx
+++ b/vcl/inc/canvasbitmap.hxx
@@ -31,7 +31,7 @@ namespace vcl
 {
 namespace unotools
 {
-    class VCL_DLLPUBLIC VclCanvasBitmap :
+    class VCL_DLLPUBLIC VclCanvasBitmap final :
         public cppu::WeakImplHelper< css::rendering::XIntegerReadOnlyBitmap,
                                      css::rendering::XBitmapPalette,
                                      css::rendering::XIntegerBitmapColorSpace >
diff --git a/vcl/inc/displayconnectiondispatch.hxx b/vcl/inc/displayconnectiondispatch.hxx
index c9fda47397d0..e988ee62f378 100644
--- a/vcl/inc/displayconnectiondispatch.hxx
+++ b/vcl/inc/displayconnectiondispatch.hxx
@@ -29,7 +29,7 @@
 
 namespace vcl {
 
-class DisplayConnectionDispatch :
+class DisplayConnectionDispatch final :
     public cppu::WeakImplHelper< css::awt::XDisplayConnection >
 {
     ::osl::Mutex                    m_aMutex;
diff --git a/vcl/inc/dndeventdispatcher.hxx b/vcl/inc/dndeventdispatcher.hxx
index afd11ce07074..bc2f5d9991e8 100644
--- a/vcl/inc/dndeventdispatcher.hxx
+++ b/vcl/inc/dndeventdispatcher.hxx
@@ -27,7 +27,7 @@
 #include <cppuhelper/implbase.hxx>
 #include <vcl/window.hxx>
 
-class DNDEventDispatcher: public ::cppu::WeakImplHelper<
+class DNDEventDispatcher final : public ::cppu::WeakImplHelper<
     css::datatransfer::dnd::XDropTargetListener,
     css::datatransfer::dnd::XDropTargetDragContext,
     css::datatransfer::dnd::XDragGestureListener >
diff --git a/vcl/inc/dndlistenercontainer.hxx b/vcl/inc/dndlistenercontainer.hxx
index e78da03f1bf8..28339e7abeb8 100644
--- a/vcl/inc/dndlistenercontainer.hxx
+++ b/vcl/inc/dndlistenercontainer.hxx
@@ -29,7 +29,7 @@
 
 #include <vcl/unohelp2.hxx>
 
-class DNDListenerContainer :    public vcl::unohelper::MutexHelper,
+class DNDListenerContainer final : public vcl::unohelper::MutexHelper,
                                 public ::cppu::WeakComponentImplHelper<
     css::datatransfer::dnd::XDragGestureRecognizer,
     css::datatransfer::dnd::XDropTargetDragContext,
diff --git a/vcl/inc/graphic/UnoGraphic.hxx b/vcl/inc/graphic/UnoGraphic.hxx
index 5728debf6a47..f6eed8fabdf0 100644
--- a/vcl/inc/graphic/UnoGraphic.hxx
+++ b/vcl/inc/graphic/UnoGraphic.hxx
@@ -31,7 +31,7 @@
 
 namespace unographic {
 
-class Graphic : public css::graphic::XGraphic,
+class Graphic final : public css::graphic::XGraphic,
                 public css::awt::XBitmap,
                 public css::lang::XUnoTunnel,
                 public ::unographic::GraphicDescriptor,
@@ -44,7 +44,7 @@ public:
     using ::unographic::GraphicDescriptor::init;
     void init( const ::Graphic& rGraphic ) throw();
 
-protected:
+private:
 
     // XInterface
     virtual css::uno::Any SAL_CALL queryAggregation( const css::uno::Type & rType ) override;
@@ -72,8 +72,6 @@ protected:
     // XUnoTunnel
     virtual sal_Int64 SAL_CALL getSomething( const css::uno::Sequence< sal_Int8 >& rId ) override;
 
-private:
-
     ::Graphic maGraphic;
 };
 
diff --git a/vcl/inc/headless/CustomWidgetDraw.hxx b/vcl/inc/headless/CustomWidgetDraw.hxx
index 0f1171aae960..1248aec5ca40 100644
--- a/vcl/inc/headless/CustomWidgetDraw.hxx
+++ b/vcl/inc/headless/CustomWidgetDraw.hxx
@@ -19,7 +19,7 @@
 
 namespace vcl
 {
-class CustomWidgetDraw : public vcl::WidgetDrawInterface
+class CustomWidgetDraw final : public vcl::WidgetDrawInterface
 {
 private:
     static WidgetThemeLibrary* s_pWidgetImplementation;
diff --git a/vcl/inc/headless/svpbmp.hxx b/vcl/inc/headless/svpbmp.hxx
index ff35c4c1615f..7f79dda8e9bc 100644
--- a/vcl/inc/headless/svpbmp.hxx
+++ b/vcl/inc/headless/svpbmp.hxx
@@ -24,7 +24,7 @@
 
 #include <salbmp.hxx>
 
-class VCL_DLLPUBLIC SvpSalBitmap : public SalBitmap
+class VCL_DLLPUBLIC SvpSalBitmap final : public SalBitmap
 {
     std::unique_ptr<BitmapBuffer> mpDIB;
 public:
diff --git a/vcl/inc/headless/svpcairotextrender.hxx b/vcl/inc/headless/svpcairotextrender.hxx
index bbe0962faa3d..35744d5a2e3e 100644
--- a/vcl/inc/headless/svpcairotextrender.hxx
+++ b/vcl/inc/headless/svpcairotextrender.hxx
@@ -14,7 +14,7 @@
 
 class SvpSalGraphics;
 
-class SvpCairoTextRender : public CairoTextRender
+class SvpCairoTextRender final : public CairoTextRender
 {
     SvpSalGraphics& mrParent;
 
diff --git a/vcl/inc/headless/svpdummies.hxx b/vcl/inc/headless/svpdummies.hxx
index 6673a9d5287a..69d02ec544c8 100644
--- a/vcl/inc/headless/svpdummies.hxx
+++ b/vcl/inc/headless/svpdummies.hxx
@@ -26,7 +26,7 @@
 
 class SalGraphics;
 
-class SvpSalObject : public SalObject
+class SvpSalObject final : public SalObject
 {
 public:
     SystemEnvData m_aSystemChildData;
@@ -45,7 +45,7 @@ public:
     virtual const SystemEnvData*    GetSystemData() const override;
 };
 
-class SvpSalSystem : public SalGenericSystem
+class SvpSalSystem final : public SalGenericSystem
 {
 public:
     SvpSalSystem() {}
diff --git a/vcl/inc/headless/svpframe.hxx b/vcl/inc/headless/svpframe.hxx
index 3869f25a3442..eddab071331b 100644
--- a/vcl/inc/headless/svpframe.hxx
+++ b/vcl/inc/headless/svpframe.hxx
@@ -35,7 +35,7 @@
 class SvpSalInstance;
 class SvpSalGraphics;
 
-class SvpSalFrame : public SalFrame
+class SvpSalFrame final : public SalFrame
 {
     SvpSalInstance*                     m_pInstance;
     SvpSalFrame*                        m_pParent;       // pointer to parent frame
diff --git a/vcl/inc/headless/svpinst.hxx b/vcl/inc/headless/svpinst.hxx
index 04e4de84cad7..ef20f0cab1b1 100644
--- a/vcl/inc/headless/svpinst.hxx
+++ b/vcl/inc/headless/svpinst.hxx
@@ -40,7 +40,7 @@
 #endif
 
 class SvpSalInstance;
-class SvpSalTimer : public SalTimer
+class SvpSalTimer final : public SalTimer
 {
     SvpSalInstance* m_pInstance;
 public:
@@ -62,7 +62,7 @@ enum class SvpRequest
     MainThreadDispatchAllEvents,
 };
 
-class SvpSalYieldMutex : public SalYieldMutex
+class SvpSalYieldMutex final : public SalYieldMutex
 {
 private:
     // note: these members might as well live in SvpSalInstance, but there is
@@ -78,7 +78,6 @@ private:
     bool                    m_wakeUpMain = false;
     SvpRequest              m_Request = SvpRequest::NONE;
 
-protected:
     virtual void            doAcquire( sal_uInt32 nLockCount ) override;
     virtual sal_uInt32      doRelease( bool bUnlockAll ) override;
 
diff --git a/vcl/inc/headless/svpprn.hxx b/vcl/inc/headless/svpprn.hxx
index 8971441422d4..3d241a96eb9a 100644
--- a/vcl/inc/headless/svpprn.hxx
+++ b/vcl/inc/headless/svpprn.hxx
@@ -22,13 +22,13 @@
 
 #include <unx/genprn.h>
 
-class SvpSalInfoPrinter : public PspSalInfoPrinter
+class SvpSalInfoPrinter final : public PspSalInfoPrinter
 {
 public:
     virtual bool Setup( weld::Window* pFrame, ImplJobSetup* pSetupData ) override;
 };
 
-class SvpSalPrinter : public PspSalPrinter
+class SvpSalPrinter final : public PspSalPrinter
 {
 public:
     SvpSalPrinter( SalInfoPrinter* pInfoPrinter );
diff --git a/vcl/inc/helpwin.hxx b/vcl/inc/helpwin.hxx
index 5d2e19e80654..569456d02ae0 100644
--- a/vcl/inc/helpwin.hxx
+++ b/vcl/inc/helpwin.hxx
@@ -25,7 +25,7 @@
 
 enum class QuickHelpFlags;
 
-class HelpTextWindow : public FloatingWindow
+class HelpTextWindow final : public FloatingWindow
 {
 private:
     tools::Rectangle           maHelpArea; // If next Help for the same rectangle w/ same text, then keep window
diff --git a/vcl/inc/opengl/BufferObject.hxx b/vcl/inc/opengl/BufferObject.hxx
index 56f3aa9c20de..396de89de0ed 100644
--- a/vcl/inc/opengl/BufferObject.hxx
+++ b/vcl/inc/opengl/BufferObject.hxx
@@ -69,11 +69,11 @@ public:
 };
 
 template<typename TYPE>
-class VertexBufferObject : public BufferObject<TYPE, GL_ARRAY_BUFFER>
+class VertexBufferObject final : public BufferObject<TYPE, GL_ARRAY_BUFFER>
 {
 };
 
-class IndexBufferObject : public BufferObject<GLuint, GL_ELEMENT_ARRAY_BUFFER>
+class IndexBufferObject final : public BufferObject<GLuint, GL_ELEMENT_ARRAY_BUFFER>
 {
 };
 
diff --git a/vcl/inc/opengl/salbmp.hxx b/vcl/inc/opengl/salbmp.hxx
index ad00ff486b8f..c1ae867e6e6e 100644
--- a/vcl/inc/opengl/salbmp.hxx
+++ b/vcl/inc/opengl/salbmp.hxx
@@ -35,7 +35,7 @@ namespace vcl
     class Kernel;
 }
 
-class VCL_PLUGIN_PUBLIC OpenGLSalBitmap : public SalBitmap
+class VCL_PLUGIN_PUBLIC OpenGLSalBitmap final : public SalBitmap
 {
 private:
     OpenGLTexture                       maTexture;
diff --git a/vcl/inc/opengl/x11/X11DeviceInfo.hxx b/vcl/inc/opengl/x11/X11DeviceInfo.hxx
index 9e32710afb55..d51de3a69a2e 100644
--- a/vcl/inc/opengl/x11/X11DeviceInfo.hxx
+++ b/vcl/inc/opengl/x11/X11DeviceInfo.hxx
@@ -14,7 +14,7 @@
 
 #include <rtl/string.hxx>
 
-class X11OpenGLDeviceInfo : public OpenGLDeviceInfo
+class X11OpenGLDeviceInfo final : public OpenGLDeviceInfo
 {
 private:
     bool mbIsMesa;
diff --git a/vcl/inc/outdev.h b/vcl/inc/outdev.h
index b72b04d4e566..6f9a0a6d56c6 100644
--- a/vcl/inc/outdev.h
+++ b/vcl/inc/outdev.h
@@ -91,7 +91,7 @@ struct ImplFontSubstEntry
     ImplFontSubstEntry(  const OUString& rFontName, const OUString& rSubstFontName, AddFontSubstituteFlags nSubstFlags );
 };
 
-class ImplDirectFontSubstitution
+class ImplDirectFontSubstitution final
 :   public ImplFontSubstitution
 {
 private:
diff --git a/vcl/inc/printdlg.hxx b/vcl/inc/printdlg.hxx
index 5e8289d6b4d1..9facdcf9e620 100644
--- a/vcl/inc/printdlg.hxx
+++ b/vcl/inc/printdlg.hxx
@@ -33,7 +33,7 @@ namespace vcl {
 
 namespace vcl
 {
-    class MoreOptionsDialog : public weld::GenericDialogController
+    class MoreOptionsDialog final : public weld::GenericDialogController
     {
         PrintDialog*                            mpParent;
         std::unique_ptr<weld::Button>           mxOKButton;
@@ -53,7 +53,7 @@ namespace vcl
         friend class MoreOptionsDialog;
     public:
 
-        class PrintPreviewWindow : public weld::CustomWidgetController
+        class PrintPreviewWindow final : public weld::CustomWidgetController
         {
             PrintDialog*        mpDialog;
             GDIMetaFile         maMtf;
@@ -87,7 +87,7 @@ namespace vcl
                             );
         };
 
-        class ShowNupOrderWindow : public weld::CustomWidgetController
+        class ShowNupOrderWindow final : public weld::CustomWidgetController
         {
             NupOrderType mnOrderMode;
             int mnRows;
@@ -260,7 +260,7 @@ namespace vcl
 
     };
 
-    class PrintProgressDialog : public weld::GenericDialogController
+    class PrintProgressDialog final : public weld::GenericDialogController
     {
         OUString            maStr;
         bool                mbCanceled;
diff --git a/vcl/inc/qt5/Qt5AccessibleEventListener.hxx b/vcl/inc/qt5/Qt5AccessibleEventListener.hxx
index 69fd3968540c..0fd3783eee73 100644
--- a/vcl/inc/qt5/Qt5AccessibleEventListener.hxx
+++ b/vcl/inc/qt5/Qt5AccessibleEventListener.hxx
@@ -17,7 +17,7 @@
 
 #include <cppuhelper/implbase.hxx>
 
-class Qt5AccessibleEventListener
+class Qt5AccessibleEventListener final
     : public cppu::WeakImplHelper<css::accessibility::XAccessibleEventListener>
 {
 public:
diff --git a/vcl/inc/qt5/Qt5AccessibleWidget.hxx b/vcl/inc/qt5/Qt5AccessibleWidget.hxx
index 6b0d71cba9f5..786f442b1956 100644
--- a/vcl/inc/qt5/Qt5AccessibleWidget.hxx
+++ b/vcl/inc/qt5/Qt5AccessibleWidget.hxx
@@ -30,13 +30,13 @@
 class Qt5Frame;
 class Qt5Widget;
 
-class VCLPLUG_QT5_PUBLIC Qt5AccessibleWidget : public QObject,
-                                               public QAccessibleInterface,
-                                               public QAccessibleActionInterface,
-                                               public QAccessibleTextInterface,
-                                               public QAccessibleEditableTextInterface,
-                                               public QAccessibleTableInterface,
-                                               public QAccessibleValueInterface
+class VCLPLUG_QT5_PUBLIC Qt5AccessibleWidget final : public QObject,
+                                                     public QAccessibleInterface,
+                                                     public QAccessibleActionInterface,
+                                                     public QAccessibleTextInterface,
+                                                     public QAccessibleEditableTextInterface,
+                                                     public QAccessibleTableInterface,
+                                                     public QAccessibleValueInterface
 {
     Q_OBJECT
 
diff --git a/vcl/inc/qt5/Qt5Bitmap.hxx b/vcl/inc/qt5/Qt5Bitmap.hxx
index ba2ea5a2f58a..cedd1aae1479 100644
--- a/vcl/inc/qt5/Qt5Bitmap.hxx
+++ b/vcl/inc/qt5/Qt5Bitmap.hxx
@@ -25,7 +25,7 @@
 
 class QImage;
 
-class VCL_DLLPUBLIC Qt5Bitmap : public SalBitmap
+class VCL_DLLPUBLIC Qt5Bitmap final : public SalBitmap
 {
     std::unique_ptr<QImage> m_pImage;
     BitmapPalette m_aPalette;
diff --git a/vcl/inc/qt5/Qt5Data.hxx b/vcl/inc/qt5/Qt5Data.hxx
index ef537d0c040f..1834835d3d6d 100644
--- a/vcl/inc/qt5/Qt5Data.hxx
+++ b/vcl/inc/qt5/Qt5Data.hxx
@@ -28,7 +28,7 @@
 
 class QCursor;
 
-class VCLPLUG_QT5_PUBLIC Qt5Data : public GenericUnixSalData
+class VCLPLUG_QT5_PUBLIC Qt5Data final : public GenericUnixSalData
 {
     o3tl::enumarray<PointerStyle, std::unique_ptr<QCursor>> m_aCursors;
 
diff --git a/vcl/inc/qt5/Qt5DragAndDrop.hxx b/vcl/inc/qt5/Qt5DragAndDrop.hxx
index 0ec9ce5bbcb2..c88465ab3ba6 100644
--- a/vcl/inc/qt5/Qt5DragAndDrop.hxx
+++ b/vcl/inc/qt5/Qt5DragAndDrop.hxx
@@ -18,7 +18,7 @@
 
 class Qt5Frame;
 
-class Qt5DragSource
+class Qt5DragSource final
     : public cppu::WeakComponentImplHelper<css::datatransfer::dnd::XDragSource,
                                            css::lang::XInitialization, css::lang::XServiceInfo>
 {
@@ -57,7 +57,7 @@ public:
     void fire_dragEnd(sal_Int8 nAction, bool bSuccessful);
 };
 
-class Qt5DropTarget
+class Qt5DropTarget final
     : public cppu::WeakComponentImplHelper<css::datatransfer::dnd::XDropTarget,
                                            css::datatransfer::dnd::XDropTargetDragContext,
                                            css::datatransfer::dnd::XDropTargetDropContext,
diff --git a/vcl/inc/qt5/Qt5FontFace.hxx b/vcl/inc/qt5/Qt5FontFace.hxx
index c427a85445c3..1785e0d4dff9 100644
--- a/vcl/inc/qt5/Qt5FontFace.hxx
+++ b/vcl/inc/qt5/Qt5FontFace.hxx
@@ -31,7 +31,7 @@ class FontAttributes;
 class FontSelectPattern;
 class QFont;
 
-class Qt5FontFace : public PhysicalFontFace
+class Qt5FontFace final : public PhysicalFontFace
 {
 public:
     static Qt5FontFace* fromQFont(const QFont& rFont);
@@ -49,11 +49,10 @@ public:
     rtl::Reference<LogicalFontInstance>
     CreateFontInstance(const FontSelectPattern& rFSD) const override;
 
-protected:
+private:
     Qt5FontFace(const Qt5FontFace&);
     Qt5FontFace(const FontAttributes& rFA, const QString& rFontID);
 
-private:
     const QString m_aFontId;
     mutable FontCharMapRef m_xCharMap;
     mutable vcl::FontCapabilities m_aFontCapabilities;
diff --git a/vcl/inc/qt5/Qt5Graphics.hxx b/vcl/inc/qt5/Qt5Graphics.hxx
index d11297bf335e..51a4a452930e 100644
--- a/vcl/inc/qt5/Qt5Graphics.hxx
+++ b/vcl/inc/qt5/Qt5Graphics.hxx
@@ -37,7 +37,7 @@ class Qt5FontFace;
 class Qt5Frame;
 class Qt5Painter;
 
-class Qt5Graphics : public SalGraphics
+class Qt5Graphics final : public SalGraphics
 {
     friend class Qt5Bitmap;
     friend class Qt5Painter;
@@ -61,7 +61,6 @@ class Qt5Graphics : public SalGraphics
 
     void drawScaledImage(const SalTwoRect& rPosAry, const QImage& rImage);
 
-protected:
     void handleDamage(const tools::Rectangle&) override;
 
 public:
diff --git a/vcl/inc/qt5/Qt5Object.hxx b/vcl/inc/qt5/Qt5Object.hxx
index c6dce6e944be..0479db2d62f0 100644
--- a/vcl/inc/qt5/Qt5Object.hxx
+++ b/vcl/inc/qt5/Qt5Object.hxx
@@ -29,7 +29,7 @@
 class Qt5Frame;
 class QWidget;
 
-class Qt5Object : public QObject, public SalObject
+class Qt5Object final : public QObject, public SalObject
 {
     Q_OBJECT
 
@@ -60,7 +60,7 @@ public:
     virtual const SystemEnvData* GetSystemData() const override { return &m_aSystemData; }
 };
 
-class Qt5ObjectWindow : public QWindow
+class Qt5ObjectWindow final : public QWindow
 {
     Qt5Object& m_rParent;
 
diff --git a/vcl/inc/qt5/Qt5OpenGLContext.hxx b/vcl/inc/qt5/Qt5OpenGLContext.hxx
index 778df689ba65..df5424620bf3 100644
--- a/vcl/inc/qt5/Qt5OpenGLContext.hxx
+++ b/vcl/inc/qt5/Qt5OpenGLContext.hxx
@@ -24,7 +24,7 @@
 class QWindow;
 class QOpenGLContext;
 
-class Qt5OpenGLContext : public OpenGLContext
+class Qt5OpenGLContext final : public OpenGLContext
 {
 public:
     virtual void initWindow() override;
diff --git a/vcl/inc/qt5/Qt5Printer.hxx b/vcl/inc/qt5/Qt5Printer.hxx
index 81a38206e4f1..23f5428caa65 100644
--- a/vcl/inc/qt5/Qt5Printer.hxx
+++ b/vcl/inc/qt5/Qt5Printer.hxx
@@ -23,7 +23,7 @@
 
 class SalFrame;
 
-class Qt5Printer : public PspSalPrinter
+class Qt5Printer final : public PspSalPrinter
 {
 public:
     Qt5Printer(SalInfoPrinter* pInfoPrinter);
diff --git a/vcl/inc/qt5/Qt5SvpSurface.hxx b/vcl/inc/qt5/Qt5SvpSurface.hxx
index f319aa56f352..0e4da4877c06 100644
--- a/vcl/inc/qt5/Qt5SvpSurface.hxx
+++ b/vcl/inc/qt5/Qt5SvpSurface.hxx
@@ -18,7 +18,7 @@ class OutputDevice;
 
 namespace cairo
 {
-class Qt5SvpSurface : public Surface
+class Qt5SvpSurface final : public Surface
 {
     const Qt5SvpGraphics* m_pGraphics;
     cairo_t* const m_pCairoContext;
diff --git a/vcl/inc/qt5/Qt5System.hxx b/vcl/inc/qt5/Qt5System.hxx
index aac0248c5005..63a7e9bde7a4 100644
--- a/vcl/inc/qt5/Qt5System.hxx
+++ b/vcl/inc/qt5/Qt5System.hxx
@@ -11,7 +11,7 @@
 
 #include <unx/gensys.h>
 
-class Qt5System : public SalGenericSystem
+class Qt5System final : public SalGenericSystem
 {
 public:
     virtual unsigned int GetDisplayScreenCount() override;
diff --git a/vcl/inc/qt5/Qt5VirtualDevice.hxx b/vcl/inc/qt5/Qt5VirtualDevice.hxx
index 465b84ade045..89251c96d783 100644
--- a/vcl/inc/qt5/Qt5VirtualDevice.hxx
+++ b/vcl/inc/qt5/Qt5VirtualDevice.hxx
@@ -30,7 +30,7 @@ class Qt5Graphics;
 class QImage;
 enum class DeviceFormat;
 
-class Qt5VirtualDevice : public SalVirtualDevice
+class Qt5VirtualDevice final : public SalVirtualDevice
 {
     std::list<Qt5Graphics*> m_aGraphics;
     std::unique_ptr<QImage> m_pImage;
diff --git a/vcl/inc/scrptrun.h b/vcl/inc/scrptrun.h
index 3d1d706a6f3d..b663deeed7d9 100644
--- a/vcl/inc/scrptrun.h
+++ b/vcl/inc/scrptrun.h
@@ -56,7 +56,7 @@ struct ParenStackEntry
     }
 };
 
-class ScriptRun : public icu::UObject {
+class ScriptRun final : public icu::UObject {
 public:
 
     ScriptRun(const UChar chars[], int32_t length);
diff --git a/vcl/inc/scrwnd.hxx b/vcl/inc/scrwnd.hxx
index 779f9f8937dd..c55fbd985497 100644
--- a/vcl/inc/scrwnd.hxx
+++ b/vcl/inc/scrwnd.hxx
@@ -39,7 +39,7 @@ namespace o3tl {
     template<> struct typed_flags<WheelMode> : is_typed_flags<WheelMode, 0x003f> {};
 }
 
-class ImplWheelWindow : public FloatingWindow
+class ImplWheelWindow final : public FloatingWindow
 {
 private:
 
@@ -63,8 +63,6 @@ private:
 
                         DECL_LINK(ImplScrollHdl, Timer *, void);
 
-protected:
-
     virtual void        Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
     virtual void        MouseMove( const MouseEvent& rMEvt ) override;
     virtual void        MouseButtonUp( const MouseEvent& rMEvt ) override;
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index e41ec23488b3..181082782e06 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -115,7 +115,7 @@ namespace basegfx
     class SystemDependentDataManager;
 }
 
-class LocaleConfigurationListener : public utl::ConfigurationListener
+class LocaleConfigurationListener final : public utl::ConfigurationListener
 {
 public:
     virtual void ConfigurationChanged( utl::ConfigurationBroadcaster*, ConfigurationHints ) override;
diff --git a/vcl/inc/textlayout.hxx b/vcl/inc/textlayout.hxx
index 16e54c61d3bb..e26cc6219b38 100644
--- a/vcl/inc/textlayout.hxx
+++ b/vcl/inc/textlayout.hxx
@@ -43,7 +43,7 @@ namespace vcl
     /** is an implementation of the ITextLayout interface which simply delegates its calls to the respective
         methods of an OutputDevice instance, without any inbetween magic.
     */
-    class DefaultTextLayout : public ITextLayout
+    class DefaultTextLayout final : public ITextLayout
     {
     public:
         DefaultTextLayout( OutputDevice& _rTargetDevice )
diff --git a/vcl/inc/treeglue.hxx b/vcl/inc/treeglue.hxx
index 69641906aa17..69975035bbcc 100644
--- a/vcl/inc/treeglue.hxx
+++ b/vcl/inc/treeglue.hxx
@@ -15,7 +15,7 @@
 //the configured drag drop mode would make more sense to me, but I'm not
 //going to change the baseclass
 
-class LclHeaderTabListBox : public SvHeaderTabListBox
+class LclHeaderTabListBox final : public SvHeaderTabListBox
 {
 private:
     Link<SvTreeListEntry*, bool> m_aEditingEntryHdl;
@@ -53,7 +53,7 @@ public:
     }
 };
 
-class LclTabListBox : public SvTabListBox
+class LclTabListBox final : public SvTabListBox
 {
     Link<SvTreeListBox*, void> m_aModelChangedHdl;
     Link<SvTreeListBox*, void> m_aStartDragHdl;
diff --git a/vcl/inc/unx/genpspgraphics.h b/vcl/inc/unx/genpspgraphics.h
index b820c43a2772..cce727baa8f6 100644
--- a/vcl/inc/unx/genpspgraphics.h
+++ b/vcl/inc/unx/genpspgraphics.h
@@ -37,7 +37,7 @@ class FontAttributes;
 class SalInfoPrinter;
 class ImplFontMetricData;
 
-class VCL_DLLPUBLIC GenPspGraphics : public SalGraphics
+class VCL_DLLPUBLIC GenPspGraphics final : public SalGraphics
 {
     psp::JobData*           m_pJobData;
     psp::PrinterGfx*        m_pPrinterGfx;
diff --git a/vcl/inc/unx/gtk/gtkdata.hxx b/vcl/inc/unx/gtk/gtkdata.hxx
index f3b106070dbd..9830843e30ab 100644
--- a/vcl/inc/unx/gtk/gtkdata.hxx
+++ b/vcl/inc/unx/gtk/gtkdata.hxx
@@ -73,7 +73,7 @@ public:
     sal_uLong    m_nTimeoutMS;
 };
 
-class GtkSalData : public GenericUnixSalData
+class GtkSalData final : public GenericUnixSalData
 {
     GSource*        m_pUserEvent;
     osl::Mutex      m_aDispatchMutex;
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index ccf9064966bd..dbfa5cc5db84 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -62,7 +62,7 @@ class GtkDnDTransferable;
 
 class GtkSalMenu;
 
-class GtkSalFrame : public SalFrame
+class GtkSalFrame final : public SalFrame
                   , public NativeWindowHandleProvider
 {
     struct IMHandler
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx
index 78dd9bc6e8b9..74409d3cb51f 100644
--- a/vcl/inc/unx/gtk/gtkinst.hxx
+++ b/vcl/inc/unx/gtk/gtkinst.hxx
@@ -47,7 +47,7 @@ class GtkPrintWrapper;
 vcl::Font pango_to_vcl(const PangoFontDescription* font, const css::lang::Locale& rLocale);
 
 class GenPspGraphics;
-class GtkYieldMutex : public SalYieldMutex
+class GtkYieldMutex final : public SalYieldMutex
 {
     thread_local static std::stack<sal_uInt32> yieldCounts;
 
@@ -85,7 +85,7 @@ public:
 
 class GtkDnDTransferable;
 
-class GtkDropTarget : public cppu::WeakComponentImplHelper<css::datatransfer::dnd::XDropTarget,
+class GtkDropTarget final : public cppu::WeakComponentImplHelper<css::datatransfer::dnd::XDropTarget,
                                                            css::lang::XInitialization,
                                                            css::lang::XServiceInfo>
 {
@@ -134,7 +134,7 @@ public:
     void signalDragLeave(GtkWidget* pWidget, GdkDragContext* context, guint time);
 };
 
-class GtkDragSource : public cppu::WeakComponentImplHelper<css::datatransfer::dnd::XDragSource,
+class GtkDragSource final : public cppu::WeakComponentImplHelper<css::datatransfer::dnd::XDragSource,
                                                            css::lang::XInitialization,
                                                            css::lang::XServiceInfo>
 {
@@ -182,7 +182,7 @@ public:
 };
 
 class GtkSalTimer;
-class GtkInstance : public SvpSalInstance
+class GtkInstance final : public SvpSalInstance
 {
     typedef SvpSalInstance Superclass_t;
 public:
@@ -252,7 +252,7 @@ private:
 
 typedef cppu::WeakComponentImplHelper<css::awt::XWindow> SalGtkXWindow_Base;
 
-class SalGtkXWindow : public SalGtkXWindow_Base
+class SalGtkXWindow final : public SalGtkXWindow_Base
 {
 private:
     osl::Mutex m_aHelperMtx;
diff --git a/vcl/inc/unx/gtk/gtkobject.hxx b/vcl/inc/unx/gtk/gtkobject.hxx
index f54d7af3f04c..75dbe39e4b9e 100644
--- a/vcl/inc/unx/gtk/gtkobject.hxx
+++ b/vcl/inc/unx/gtk/gtkobject.hxx
@@ -25,7 +25,7 @@
 #include <salobj.hxx>
 #include <unx/gtk/gtkframe.hxx>
 
-class GtkSalObject : public SalObject
+class GtkSalObject final : public SalObject
 {
     SystemEnvData     m_aSystemData;
     GtkWidget*          m_pSocket;
diff --git a/vcl/inc/unx/gtk/gtkprn.hxx b/vcl/inc/unx/gtk/gtkprn.hxx
index c958e0c69bb2..aa24f0e4de72 100644
--- a/vcl/inc/unx/gtk/gtkprn.hxx
+++ b/vcl/inc/unx/gtk/gtkprn.hxx
@@ -16,7 +16,7 @@
 
 struct GtkSalPrinter_Impl;
 
-class GtkSalPrinter : public PspSalPrinter
+class GtkSalPrinter final : public PspSalPrinter
 {
 public:
     GtkSalPrinter(SalInfoPrinter* i_pInfoPrinter);
@@ -40,7 +40,7 @@ private:
     std::unique_ptr<GtkSalPrinter_Impl> m_xImpl;
 };
 
-class GtkSalInfoPrinter : public PspSalInfoPrinter
+class GtkSalInfoPrinter final : public PspSalInfoPrinter
 {
 public:
     sal_uInt32 GetCapabilities(const ImplJobSetup* i_pSetupData, PrinterCapType i_nType) override;
diff --git a/vcl/inc/unx/gtk/gtksys.hxx b/vcl/inc/unx/gtk/gtksys.hxx
index 1a888f970b27..8775f5af03db 100644
--- a/vcl/inc/unx/gtk/gtksys.hxx
+++ b/vcl/inc/unx/gtk/gtksys.hxx
@@ -14,7 +14,7 @@
 #include <unx/saltype.h>
 #include <deque>
 
-class GtkSalSystem : public SalGenericSystem
+class GtkSalSystem final : public SalGenericSystem
 {
     typedef std::deque<std::pair<GdkScreen*, int> > ScreenMonitors_t;
 
diff --git a/vcl/inc/unx/saldata.hxx b/vcl/inc/unx/saldata.hxx
index 58dd1b26fbfa..de66ace37def 100644
--- a/vcl/inc/unx/saldata.hxx
+++ b/vcl/inc/unx/saldata.hxx
@@ -30,7 +30,7 @@ class SalXLib;
 class SalDisplay;
 class SalPrinter;
 
-class X11SalData : public GenericUnixSalData
+class X11SalData final : public GenericUnixSalData
 {
     struct XErrorStackEntry
     {
@@ -41,7 +41,6 @@ class X11SalData : public GenericUnixSalData
     std::vector< XErrorStackEntry > m_aXErrorHandlerStack;
     XIOErrorHandler m_aOrigXIOErrorHandler;
 
-protected:
     std::unique_ptr<SalXLib>  pXLib_;
 
 public:
diff --git a/vcl/inc/unx/saldisp.hxx b/vcl/inc/unx/saldisp.hxx
index cc34a7762270..20735b83d462 100644
--- a/vcl/inc/unx/saldisp.hxx
+++ b/vcl/inc/unx/saldisp.hxx
@@ -208,7 +208,7 @@ extern "C" {
     typedef Bool(*X_if_predicate)(Display*,XEvent*,XPointer);
 }
 
-class GLX11Window : public GLWindow
+class GLX11Window final : public GLWindow
 {
 public:
     Display*           dpy;
@@ -396,7 +396,7 @@ public:
 inline  Display *SalColormap::GetXDisplay() const
 { return m_pDisplay->GetDisplay(); }
 
-class SalX11Display : public SalDisplay
+class SalX11Display final : public SalDisplay
 {
 public:
              SalX11Display( Display* pDisp );
diff --git a/vcl/inc/unx/salgdi.h b/vcl/inc/unx/salgdi.h
index b6a477d20713..111702c1881e 100644
--- a/vcl/inc/unx/salgdi.h
+++ b/vcl/inc/unx/salgdi.h
@@ -65,7 +65,7 @@ namespace basegfx {
     class B2DTrapezoid;
 }
 
-class X11SalGraphics : public SalGraphics
+class X11SalGraphics final : public SalGraphics
 {
     friend class X11SalGraphicsImpl;
     friend class X11OpenGLSalGraphicsImpl;
@@ -281,7 +281,7 @@ public:
     static void releaseCairoContext(cairo_t* cr);
 
 
-protected:
+private:
     using SalGraphics::SetClipRegion;
     void                            SetClipRegion( GC pGC, Region pXReg = nullptr ) const;
     bool                            GetDitherPixmap ( Color nColor );
@@ -290,7 +290,6 @@ protected:
 
     void                            freeResources();
 
-protected:
     SalFrame*                       m_pFrame; // the SalFrame which created this Graphics or NULL
     SalVirtualDevice*               m_pVDev;  // the SalVirtualDevice which created this Graphics or NULL
 
diff --git a/vcl/inc/unx/salinst.h b/vcl/inc/unx/salinst.h
index 1b4b6c1af6f8..beff802c40c7 100644
--- a/vcl/inc/unx/salinst.h
+++ b/vcl/inc/unx/salinst.h
@@ -34,12 +34,11 @@ class SalXLib;
 class X11SalGraphics;
 class SalX11Display;
 
-class X11SalInstance : public SalGenericInstance
+class X11SalInstance final : public SalGenericInstance
 {
 private:
     std::unordered_map< Atom, css::uno::Reference< css::datatransfer::clipboard::XClipboard > > m_aInstances;
 
-protected:
     SalXLib *mpXLib;
 
     virtual SalX11Display* CreateDisplay() const;
diff --git a/vcl/inc/unx/salobj.h b/vcl/inc/unx/salobj.h
index fc6609309285..52e4b8f2bc6a 100644
--- a/vcl/inc/unx/salobj.h
+++ b/vcl/inc/unx/salobj.h
@@ -53,7 +53,7 @@ private:
     int         maxClipRectangles;
 };
 
-class X11SalObject : public SalObject
+class X11SalObject final : public SalObject
 {
 public:
     SystemEnvData maSystemChildData;
diff --git a/vcl/inc/unx/saltimer.h b/vcl/inc/unx/saltimer.h
index bc209da3a6fb..c8da2fcacade 100644
--- a/vcl/inc/unx/saltimer.h
+++ b/vcl/inc/unx/saltimer.h
@@ -23,7 +23,7 @@
 #include <saltimer.hxx>
 
 class SalXLib;
-class X11SalTimer : public SalTimer
+class X11SalTimer final : public SalTimer
 {
     SalXLib *mpXLib;
 public:
diff --git a/vcl/inc/unx/x11/x11sys.hxx b/vcl/inc/unx/x11/x11sys.hxx
index 3a25e71a315a..dcbe459283d1 100644
--- a/vcl/inc/unx/x11/x11sys.hxx
+++ b/vcl/inc/unx/x11/x11sys.hxx
@@ -23,7 +23,7 @@
 #include <unx/gensys.h>
 #include <vclpluginapi.h>
 
-class X11SalSystem : public SalGenericSystem
+class X11SalSystem final : public SalGenericSystem
 {
 public:
     X11SalSystem() {}


More information about the Libreoffice-commits mailing list