patch 7.4.1610
Problem:    Compiler warnings for non-virtual destructor.
Solution:   Mark the classe final. (Ken Takata)
diff --git a/src/if_ole.cpp b/src/if_ole.cpp
index a93abe0..582a4cb 100644
--- a/src/if_ole.cpp
+++ b/src/if_ole.cpp
@@ -34,6 +34,12 @@
 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 @@
  * ----------
  */
 
-class CVim : public IVim
+class CVim FINAL : public IVim
 {
 public:
     virtual ~CVim();
@@ -428,7 +434,7 @@
  * ----------
  */
 
-class CVimCF : public IClassFactory
+class CVimCF FINAL : public IClassFactory
 {
 public:
     static CVimCF *Create();