Remove destroy functions
These are just confusing and obfuscating. Do a normal delete of
these objects instead.
diff --git a/common/rfb/CConnection.cxx b/common/rfb/CConnection.cxx
index ce489b1..d7a9d85 100644
--- a/common/rfb/CConnection.cxx
+++ b/common/rfb/CConnection.cxx
@@ -49,7 +49,8 @@
CConnection::~CConnection()
{
setFramebuffer(NULL);
- if (csecurity) csecurity->destroy();
+ if (csecurity)
+ delete csecurity;
delete reader_;
reader_ = 0;
delete writer_;
diff --git a/common/rfb/CSecurity.h b/common/rfb/CSecurity.h
index 3fedc50..4bf4b38 100644
--- a/common/rfb/CSecurity.h
+++ b/common/rfb/CSecurity.h
@@ -46,7 +46,6 @@
public:
virtual ~CSecurity() {}
virtual bool processMsg(CConnection* cc)=0;
- virtual void destroy() { delete this; }
virtual int getType() const = 0;
virtual const char* description() const = 0;
virtual bool isSecure() const { return false; }
diff --git a/common/rfb/SConnection.cxx b/common/rfb/SConnection.cxx
index 6b81055..ae43254 100644
--- a/common/rfb/SConnection.cxx
+++ b/common/rfb/SConnection.cxx
@@ -64,7 +64,8 @@
SConnection::~SConnection()
{
- if (ssecurity) ssecurity->destroy();
+ if (ssecurity)
+ delete ssecurity;
delete reader_;
reader_ = 0;
delete writer_;
diff --git a/common/rfb/SSecurity.h b/common/rfb/SSecurity.h
index 6da63c3..0280574 100644
--- a/common/rfb/SSecurity.h
+++ b/common/rfb/SSecurity.h
@@ -54,7 +54,6 @@
public:
virtual ~SSecurity() {}
virtual bool processMsg(SConnection* sc)=0;
- virtual void destroy() { delete this; }
virtual int getType() const = 0;
// getUserName() gets the name of the user attempting authentication. The