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