diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 3f9cfb4290..66f9f8e5b7 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1413,10 +1413,10 @@ void Application::wheelEvent(QWheelEvent* event) { void Application::sendPingPackets() { QByteArray pingPacket = NodeList::getInstance()->constructPingPacket(); - getInstance()->controlledBroadcastToNodes(pingPacket, NodeSet() << NodeType::VoxelServer - << NodeType::ParticleServer - << NodeType::AudioMixer << NodeType::AvatarMixer - << NodeType::MetavoxelServer); + controlledBroadcastToNodes(pingPacket, NodeSet() << NodeType::VoxelServer + << NodeType::ParticleServer + << NodeType::AudioMixer << NodeType::AvatarMixer + << NodeType::MetavoxelServer); } // Every second, check the frame rates and other stuff diff --git a/interface/src/Application.h b/interface/src/Application.h index a0b52365cf..d43b624e59 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -264,7 +264,7 @@ private: void updateProjectionMatrix(Camera& camera, bool updateViewFrustum = true); static bool sendVoxelsOperation(OctreeElement* node, void* extraData); - static void sendPingPackets(); + void sendPingPackets(); void initDisplay(); void init(); diff --git a/libraries/octree/src/JurisdictionListener.cpp b/libraries/octree/src/JurisdictionListener.cpp index fc8ea008d1..d2c24021ac 100644 --- a/libraries/octree/src/JurisdictionListener.cpp +++ b/libraries/octree/src/JurisdictionListener.cpp @@ -45,8 +45,7 @@ bool JurisdictionListener::queueJurisdictionRequest() { NodeList* nodeList = NodeList::getInstance(); foreach (const SharedNodePointer& node, nodeList->getNodeHash()) { - if (nodeList->getNodeActiveSocketOrPing(node.data()) && - node->getType() == getNodeType()) { + if (nodeList->getNodeActiveSocketOrPing(node.data()) && node->getType() == getNodeType()) { const HifiSockAddr* nodeAddress = node->getActiveSocket(); _packetSender.queuePacketForSending(*nodeAddress, QByteArray(reinterpret_cast(bufferOut), sizeOut)); nodeCount++; diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 71e450d4ad..303f53aaa1 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -41,6 +41,7 @@ static QScriptValue soundConstructor(QScriptContext* context, QScriptEngine* eng ScriptEngine::ScriptEngine(const QString& scriptContents, bool wantMenuItems, const QString& fileNameString, AbstractMenuInterface* menu, AbstractControllerScriptingInterface* controllerScriptingInterface) : + _isAvatar(false), _dataServerScriptingInterface(), _avatarData(NULL) { diff --git a/libraries/shared/src/NodeList.cpp b/libraries/shared/src/NodeList.cpp index c5ad709fa4..cd9356ab15 100644 --- a/libraries/shared/src/NodeList.cpp +++ b/libraries/shared/src/NodeList.cpp @@ -119,13 +119,13 @@ void NodeList::timePingReply(const QByteArray& packet) { if (matchingNode) { QDataStream packetStream(packet); - packetStream.device()->seek(numBytesForPacketHeader(packet)); + packetStream.skipRawData(numBytesForPacketHeader(packet)); - qint64 ourOriginalTime, othersReplyTime; + quint64 ourOriginalTime, othersReplyTime; packetStream >> ourOriginalTime >> othersReplyTime; - qint64 now = usecTimestampNow(); + quint64 now = usecTimestampNow(); int pingTime = now - ourOriginalTime; int oneWayFlightTime = pingTime / 2; // half of the ping is our one way flight @@ -554,8 +554,11 @@ QByteArray NodeList::constructPingPacket() { } QByteArray NodeList::constructPingReplyPacket(const QByteArray& pingPacket) { + QDataStream pingPacketStream(pingPacket); + pingPacketStream.skipRawData(numBytesForPacketHeader(pingPacket)); + quint64 timeFromOriginalPing; - memcpy(&timeFromOriginalPing, pingPacket.data() + numBytesForPacketHeader(pingPacket), sizeof(timeFromOriginalPing)); + pingPacketStream >> timeFromOriginalPing; QByteArray replyPacket = byteArrayWithPopluatedHeader(PacketTypePingReply); QDataStream packetStream(&replyPacket, QIODevice::Append); @@ -621,8 +624,7 @@ SharedNodePointer NodeList::addOrUpdateNode(const QUuid& uuid, char nodeType, } } -unsigned NodeList::broadcastToNodes(const QByteArray& packet, - const NodeSet& destinationNodeTypes) { +unsigned NodeList::broadcastToNodes(const QByteArray& packet, const NodeSet& destinationNodeTypes) { unsigned n = 0; foreach (const SharedNodePointer& node, getNodeHash()) { diff --git a/libraries/shared/src/PacketHeaders.cpp b/libraries/shared/src/PacketHeaders.cpp index 5d2dd52a2f..3fd51949f9 100644 --- a/libraries/shared/src/PacketHeaders.cpp +++ b/libraries/shared/src/PacketHeaders.cpp @@ -80,7 +80,7 @@ bool packetVersionMatch(const QByteArray& packet) { // currently this just checks if the version in the packet matches our return from versionForPacketType // may need to be expanded in the future for types and versions that take > than 1 byte - if (packet[1] == versionForPacketType(packetTypeForPacket(packet)) || packet[0] == PacketTypeStunResponse) { + if (packet[1] == versionForPacketType(packetTypeForPacket(packet)) || packetTypeForPacket(packet) == PacketTypeStunResponse) { return true; } else { PacketType mismatchType = packetTypeForPacket(packet);