These are just confusing and obfuscating. Do a normal delete of
these objects instead.
CConnection::~CConnection()
{
setFramebuffer(NULL);
- if (csecurity) csecurity->destroy();
+ if (csecurity)
+ delete csecurity;
delete reader_;
reader_ = 0;
delete writer_;
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; }
SConnection::~SConnection()
{
- if (ssecurity) ssecurity->destroy();
+ if (ssecurity)
+ delete ssecurity;
delete reader_;
reader_ = 0;
delete writer_;
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