mirror of
https://github.com/overte-org/overte.git
synced 2025-04-21 09:44:21 +02:00
use virtual deleteOrDeleteLater in NodeData to handle AvatarVoxelSystem
This commit is contained in:
parent
ce52395a08
commit
5889d4122f
5 changed files with 14 additions and 9 deletions
|
@ -255,6 +255,11 @@ Avatar::~Avatar() {
|
|||
delete _balls;
|
||||
}
|
||||
|
||||
void Avatar::deleteOrDeleteLater() {
|
||||
this->deleteLater();
|
||||
}
|
||||
|
||||
|
||||
void Avatar::init() {
|
||||
_head.init();
|
||||
_hand.init();
|
||||
|
|
|
@ -134,6 +134,7 @@ public:
|
|||
|
||||
Avatar(Node* owningNode = NULL);
|
||||
~Avatar();
|
||||
void deleteOrDeleteLater();
|
||||
|
||||
void init();
|
||||
void simulate(float deltaTime, Transmitter* transmitter);
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include "SharedUtil.h"
|
||||
#include "UDPSocket.h"
|
||||
|
||||
#include <QtCore/QCoreApplication>
|
||||
#include <QtCore/QDebug>
|
||||
|
||||
Node::Node(const QUuid& uuid, char type, sockaddr* publicSocket, sockaddr* localSocket) :
|
||||
|
@ -44,14 +43,8 @@ Node::~Node() {
|
|||
delete _publicSocket;
|
||||
delete _localSocket;
|
||||
|
||||
if (QCoreApplication::instance()) {
|
||||
// even if we have a QCoreApplication instance we don't get here unless it's been exec'ed
|
||||
// which is only currently the case for interface
|
||||
if (_linkedData) {
|
||||
_linkedData->deleteLater();
|
||||
}
|
||||
} else {
|
||||
delete _linkedData;
|
||||
if (_linkedData) {
|
||||
_linkedData->deleteOrDeleteLater();
|
||||
}
|
||||
|
||||
delete _bytesReceivedMovingAverage;
|
||||
|
|
|
@ -16,4 +16,8 @@ NodeData::NodeData(Node* owningNode) :
|
|||
|
||||
NodeData::~NodeData() {
|
||||
|
||||
}
|
||||
|
||||
void NodeData::deleteOrDeleteLater() {
|
||||
delete this;
|
||||
}
|
|
@ -21,6 +21,8 @@ public:
|
|||
virtual ~NodeData() = 0;
|
||||
virtual int parseData(unsigned char* sourceBuffer, int numBytes) = 0;
|
||||
|
||||
virtual void deleteOrDeleteLater();
|
||||
|
||||
Node* getOwningNode() { return _owningNode; }
|
||||
protected:
|
||||
Node* _owningNode;
|
||||
|
|
Loading…
Reference in a new issue