Showing the changes to libraries/octree/src/OctreeScriptingInterface.cpp (1 of 2 files). Show all
Unified · Split
| @@ -6,6 +6,8 @@ · 5 unmodified lines | |||
| 6 | // Copyright (c) 2013 HighFidelity, Inc. All rights reserved. | 6 | // Copyright (c) 2013 HighFidelity, Inc. All rights reserved. |
| 7 | // | 7 | // |
| 8 | 8 | ||
| 9 | #include <QCoreApplication> | ||
| 10 | |||
| 9 | #include "OctreeScriptingInterface.h" | 11 | #include "OctreeScriptingInterface.h" |
| 10 | 12 | ||
| 11 | OctreeScriptingInterface::OctreeScriptingInterface(OctreeEditPacketSender* packetSender, | 13 | OctreeScriptingInterface::OctreeScriptingInterface(OctreeEditPacketSender* packetSender, |
| @@ -16,18 +18,21 @@ OctreeScriptingInterface::OctreeScriptingInterface(OctreeEditPacketSender* packe · 4 unmodified lines | |||
| 16 | } | 18 | } |
| 17 | 19 | ||
| 18 | OctreeScriptingInterface::~OctreeScriptingInterface() { | 20 | OctreeScriptingInterface::~OctreeScriptingInterface() { |
| 19 | //printf("OctreeScriptingInterface::~OctreeScriptingInterface()\n"); | 21 | cleanupManagedObjects(); |
| 22 | } | ||
| 23 | |||
| 24 | void OctreeScriptingInterface::cleanupManagedObjects() { | ||
| 20 | if (_managedJurisdictionListener) { | 25 | if (_managedJurisdictionListener) { |
| 21 | //printf("OctreeScriptingInterface::~OctreeScriptingInterface() _managedJurisdictionListener... _jurisdictionListener->terminate()\n"); | ||
| 22 | _jurisdictionListener->terminate(); | 26 | _jurisdictionListener->terminate(); |
| 23 | //printf("OctreeScriptingInterface::~OctreeScriptingInterface() _managedJurisdictionListener... deleting _jurisdictionListener\n"); | 27 | _jurisdictionListener->deleteLater(); |
| 24 | delete _jurisdictionListener; | 28 | _managedJurisdictionListener = false; |
| 29 | _jurisdictionListener = NULL; | ||
| 25 | } | 30 | } |
| 26 | if (_managedPacketSender) { | 31 | if (_managedPacketSender) { |
| 27 | //printf("OctreeScriptingInterface::~OctreeScriptingInterface() _managedJurisdictionListener... _packetSender->terminate()\n"); | ||
| 28 | _packetSender->terminate(); | 32 | _packetSender->terminate(); |
| 29 | //printf("OctreeScriptingInterface::~OctreeScriptingInterface() _managedPacketSender... deleting _packetSender\n"); | 33 | _packetSender->deleteLater(); |
| 30 | delete _packetSender; | 34 | _managedPacketSender = false; |
| 35 | _packetSender = NULL; | ||
| 31 | } | 36 | } |
| 32 | } | 37 | } |
| 33 | 38 | ||
| @@ -40,13 +45,11 @@ void OctreeScriptingInterface::setJurisdictionListener(JurisdictionListener* jur · 6 unmodified lines | |||
| 40 | } | 45 | } |
| 41 | 46 | ||
| 42 | void OctreeScriptingInterface::init() { | 47 | void OctreeScriptingInterface::init() { |
| 43 | //printf("OctreeScriptingInterface::init()\n"); | ||
| 44 | if (_jurisdictionListener) { | 48 | if (_jurisdictionListener) { |
| 45 | _managedJurisdictionListener = false; | 49 | _managedJurisdictionListener = false; |
| 46 | } else { | 50 | } else { |
| 47 | _managedJurisdictionListener = true; | 51 | _managedJurisdictionListener = true; |
| 48 | _jurisdictionListener = new JurisdictionListener(getServerNodeType()); | 52 | _jurisdictionListener = new JurisdictionListener(getServerNodeType()); |
| 49 | //qDebug("OctreeScriptingInterface::init() _managedJurisdictionListener=true, creating _jurisdictionListener=%p", _jurisdictionListener); | ||
| 50 | _jurisdictionListener->initialize(true); | 53 | _jurisdictionListener->initialize(true); |
| 51 | } | 54 | } |
| 52 | 55 | ||
| @@ -55,7 +58,11 @@ void OctreeScriptingInterface::init() { · 2 unmodified lines | |||
| 55 | } else { | 58 | } else { |
| 56 | _managedPacketSender = true; | 59 | _managedPacketSender = true; |
| 57 | _packetSender = createPacketSender(); | 60 | _packetSender = createPacketSender(); |
| 58 | //qDebug("OctreeScriptingInterface::init() _managedPacketSender=true, creating _packetSender=%p", _packetSender); | ||
| 59 | _packetSender->setServerJurisdictions(_jurisdictionListener->getJurisdictions()); | 61 | _packetSender->setServerJurisdictions(_jurisdictionListener->getJurisdictions()); |
| 60 | } | 62 | } |
| 63 | |||
| 64 | if (QCoreApplication::instance()) { | ||
| 65 | connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(cleanupManagedObjects())); | ||
| 66 | } | ||
| 67 | |||
| 61 | } | 68 | } |