diff options
Diffstat (limited to 'Swift/Controllers/WhiteboardManager.cpp')
| -rw-r--r-- | Swift/Controllers/WhiteboardManager.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Swift/Controllers/WhiteboardManager.cpp b/Swift/Controllers/WhiteboardManager.cpp index 50aba6f..d8d89eb 100644 --- a/Swift/Controllers/WhiteboardManager.cpp +++ b/Swift/Controllers/WhiteboardManager.cpp @@ -93,44 +93,46 @@ namespace Swift { } onSessionRequest(session->getTo(), true); } void WhiteboardManager::cancelSession(const JID& from) { WhiteboardSession::ref session = whiteboardSessionManager_->getSession(from); if (session) { session->cancel(); } } void WhiteboardManager::handleIncomingSession(IncomingWhiteboardSession::ref session) { session->onSessionTerminated.connect(boost::bind(&WhiteboardManager::handleSessionTerminate, this, _1)); session->onRequestAccepted.connect(boost::bind(&WhiteboardManager::handleSessionAccept, this, _1)); WhiteboardWindow* window = findWhiteboardWindow(session->getTo()); if (window == NULL) { createNewWhiteboardWindow(session->getTo(), session); } else { window->setSession(session); } onSessionRequest(session->getTo(), false); } void WhiteboardManager::handleSessionTerminate(const JID& contact) { onSessionTerminate(contact); } void WhiteboardManager::handleSessionCancel(const JID& contact) { onSessionTerminate(contact); } void WhiteboardManager::handleSessionAccept(const JID& contact) { WhiteboardWindow* window = findWhiteboardWindow(contact); - window->show(); + if (window != NULL) { + window->show(); + } onRequestAccepted(contact); } void WhiteboardManager::handleRequestReject(const JID& contact) { onRequestRejected(contact); } } |
Swift