diff generator/abstractmetalang.h @ 262:90131f64c9c9 lifetime

looks like enabling/disabling GC is enough
author maxter
date Tue, 22 Sep 2009 15:19:04 +0000
parents b5773ccab07d
children 5bcfe9e7db7f
line wrap: on
line diff
--- a/generator/abstractmetalang.h	Mon Sep 21 13:11:04 2009 +0000
+++ b/generator/abstractmetalang.h	Tue Sep 22 15:19:04 2009 +0000
@@ -785,11 +785,11 @@
     bool generateShellClass() const;
 
     bool hasVirtualSlots() const { return m_has_virtual_slots; }       
-    bool hasVirtualFunctions() const { return !isFinal() && m_has_virtuals; }
+    bool hasVirtualFunctions() const { return !isFinal() && (m_has_virtuals || hasVirtualDestructor()); }
     bool hasVirtualDestructor() const { return m_has_virtual_destructor
         || (m_base_class && m_base_class->hasVirtualDestructor()); }
     bool setHasVirtualDestructor(bool value) { m_has_virtual_destructor = value; }
-    bool isPolymorphic() const { return hasVirtualFunctions() || hasVirtualDestructor(); }
+    bool isPolymorphic() const { return typeEntry()->isObject() && (hasVirtualFunctions() || hasVirtualDestructor()); }
     bool hasProtectedFunctions() const;
 
     QList<TypeEntry *> templateArguments() const { return m_template_args; }