From 117fc49c979d65e5479635eab3ce10d74d076679 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 27 Oct 2016 20:55:49 +0100 Subject: ScopedVclPtr vs std::unique_ptr for VclAbstractDialog derivatives MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I5e43312b6f42ce0c63946f366eaf1e6dcb9629b2 Reviewed-on: https://gerrit.libreoffice.org/30344 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- include/vcl/abstdlg.hxx | 15 ++++++++++++--- include/vcl/vclreferencebase.hxx | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'include/vcl') diff --git a/include/vcl/abstdlg.hxx b/include/vcl/abstdlg.hxx index 6b89f95e7613..c173326706c8 100644 --- a/include/vcl/abstdlg.hxx +++ b/include/vcl/abstdlg.hxx @@ -36,8 +36,9 @@ class Bitmap; */ class VCL_DLLPUBLIC VclAbstractDialog : public virtual VclReferenceBase { -public: +protected: virtual ~VclAbstractDialog() override; +public: virtual short Execute() = 0; // Screenshot interface @@ -49,27 +50,33 @@ public: class VCL_DLLPUBLIC VclAbstractDialog2 : public virtual VclReferenceBase { -public: +protected: virtual ~VclAbstractDialog2() override; - +public: virtual void StartExecuteModal( const Link& rEndDialogHdl ) = 0; virtual long GetResult() = 0; }; class VCL_DLLPUBLIC VclAbstractTerminatedDialog : public VclAbstractDialog { +protected: + virtual ~VclAbstractTerminatedDialog() override = default; public: virtual void EndDialog(long nResult) = 0; }; class VCL_DLLPUBLIC VclAbstractRefreshableDialog : public VclAbstractDialog { +protected: + virtual ~VclAbstractRefreshableDialog() override = default; public: virtual void Update() = 0; }; class VCL_DLLPUBLIC AbstractPasswordToOpenModifyDialog : public VclAbstractDialog { +protected: + virtual ~AbstractPasswordToOpenModifyDialog() override = default; public: virtual OUString GetPasswordToOpen() const = 0; virtual OUString GetPasswordToModify() const = 0; @@ -78,6 +85,8 @@ public: class VCL_DLLPUBLIC AbstractScreenshotAnnotationDlg : public VclAbstractDialog { +protected: + virtual ~AbstractScreenshotAnnotationDlg() override = default; }; class VCL_DLLPUBLIC VclAbstractDialogFactory diff --git a/include/vcl/vclreferencebase.hxx b/include/vcl/vclreferencebase.hxx index 16fd4ec84eb3..7713d9318d39 100644 --- a/include/vcl/vclreferencebase.hxx +++ b/include/vcl/vclreferencebase.hxx @@ -53,7 +53,7 @@ private: protected: VclReferenceBase(); -public: +protected: virtual ~VclReferenceBase(); protected: -- cgit