Some clang fixes. Not all yet.
authorRudolf Polzer <divverent@xonotic.org>
Thu, 13 Feb 2014 16:13:24 +0000 (17:13 +0100)
committerRudolf Polzer <divverent@xonotic.org>
Thu, 13 Feb 2014 16:13:24 +0000 (17:13 +0100)
include/iundo.h
libs/scenelib.h

index 58f72d4..eb1e868 100644 (file)
@@ -33,6 +33,8 @@ class UndoMemento
 {
 public:
 virtual void release() = 0;
+virtual ~UndoMemento() {
+}
 };
 
 class Undoable
@@ -40,12 +42,16 @@ class Undoable
 public:
 virtual UndoMemento* exportState() const = 0;
 virtual void importState( const UndoMemento* state ) = 0;
+virtual ~Undoable() {
+}
 };
 
 class UndoObserver
 {
 public:
 virtual void save( Undoable* undoable ) = 0;
+virtual ~UndoObserver() {
+}
 };
 
 class UndoTracker
@@ -55,6 +61,8 @@ virtual void clear() = 0;
 virtual void begin() = 0;
 virtual void undo() = 0;
 virtual void redo() = 0;
+virtual ~UndoTracker() {
+}
 };
 
 class UndoSystem
@@ -75,6 +83,9 @@ virtual void clear() = 0;
 
 virtual void trackerAttach( UndoTracker& tracker ) = 0;
 virtual void trackerDetach( UndoTracker& tracker ) = 0;
+
+virtual ~UndoSystem() {
+}
 };
 
 #include "modulesystem.h"
index 2b4b600..2940206 100644 (file)
@@ -166,6 +166,8 @@ class Symbiot
 {
 public:
 virtual void release() = 0;
+virtual ~Symbiot(){
+}
 };
 
 private:
@@ -223,8 +225,18 @@ bool visible(){
 bool excluded(){
        return ( m_state & eExcluded ) != 0;
 }
+bool operator<( const scene::Node& other ){
+       return this < &other;
+}
+bool operator==( const scene::Node& other ){
+       return this == &other;
+}
+bool operator!=( const scene::Node& other ){
+       return this != &other;
+}
 };
 
+
 class NullNode : public Node::Symbiot
 {
 NodeTypeCastTable m_casts;
@@ -276,16 +288,6 @@ inline TransformNode* Node_getTransformNode( scene::Node& node ){
        return NodeTypeCast<TransformNode>::cast( node );
 }
 
-inline bool operator<( scene::Node& node, scene::Node& other ){
-       return &node < &other;
-}
-inline bool operator==( scene::Node& node, scene::Node& other ){
-       return &node == &other;
-}
-inline bool operator!=( scene::Node& node, scene::Node& other ){
-       return !::operator==( node, other );
-}
-
 
 inline scene::Node& NewNullNode(){
        return ( new scene::NullNode )->node();