diff options
Diffstat (limited to 'Swiften/Whiteboard/WhiteboardClient.cpp')
-rw-r--r-- | Swiften/Whiteboard/WhiteboardClient.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/Swiften/Whiteboard/WhiteboardClient.cpp b/Swiften/Whiteboard/WhiteboardClient.cpp index cc41e85..02ee48d 100644 --- a/Swiften/Whiteboard/WhiteboardClient.cpp +++ b/Swiften/Whiteboard/WhiteboardClient.cpp @@ -32,11 +32,14 @@ namespace Swift { localOperations_.push_back(operation); clientOp = operation; } else if (lastSentOperationID_ == operation->getID()) { + if (lastSentOperationID_ == bridge_.front()->getID()) { + bridge_.erase(bridge_.begin()); + } std::list<WhiteboardOperation::ref>::iterator it; for (it = bridge_.begin(); it != bridge_.end(); ++it) { if ((*it)->getParentID() == lastSentOperationID_) { lastSentOperationID_ = (*it)->getID(); - serverOperations_.push_back(*it); + //serverOperations_.push_back(*it); serverOp = *it; serverOp->setOrigin(WhiteboardOperation::Other); break; @@ -95,4 +98,17 @@ namespace Swift { return std::pair<WhiteboardOperation::ref, WhiteboardOperation::ref>(clientOp, serverOp); } + + void WhiteboardClient::print() { + std::list<WhiteboardOperation::ref>::iterator it; + std::cout << "Client" << std::endl; + for(it = localOperations_.begin(); it != localOperations_.end(); ++it) { + std::cout << (*it)->getID() << " " << (*it)->getPos() << std::endl; + } + + std::cout << "Server" << std::endl; + for(it = serverOperations_.begin(); it != serverOperations_.end(); ++it) { + std::cout << (*it)->getID() << " " << (*it)->getPos() << std::endl; + } + } } |