From cc6cf9b9f9045a7d8b5923ea0c556e9a4c2567d3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 19 Mar 2016 20:51:35 +0100 Subject: patch 7.4.1610 Problem: Compiler warnings for non-virtual destructor. Solution: Mark the classe final. (Ken Takata) --- src/if_ole.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/if_ole.cpp') diff --git a/src/if_ole.cpp b/src/if_ole.cpp index a93abe0a85..582a4cb85e 100644 --- a/src/if_ole.cpp +++ b/src/if_ole.cpp @@ -34,6 +34,12 @@ extern HWND s_hwnd; extern HWND vim_parent_hwnd; } +#if (defined(_MSC_VER) && (_MSC_VER >= 1700)) || (__cplusplus >= 201103L) +# define FINAL final +#else +# define FINAL +#endif + #if (defined(_MSC_VER) && _MSC_VER < 1300) || !defined(MAXULONG_PTR) /* Work around old versions of basetsd.h which wrongly declares * UINT_PTR as unsigned long */ @@ -93,7 +99,7 @@ static CVim *app = 0; * ---------- */ -class CVim : public IVim +class CVim FINAL : public IVim { public: virtual ~CVim(); @@ -428,7 +434,7 @@ CVim::Eval(BSTR expr, BSTR *result) * ---------- */ -class CVimCF : public IClassFactory +class CVimCF FINAL : public IClassFactory { public: static CVimCF *Create(); -- cgit v1.2.3