X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjabber_whiteboard%2Fsession-manager.cpp;h=a04ab05f00e39fa1f424141140e37e0e72260670;hb=96d7f74ab56c7ce6cf9df0108ce925f59bcf0035;hp=55b41ac204cbb3828ef047a87567dc148ad665c9;hpb=f7979e211c43731f9ad56cb7c3001edbe0e98350;p=inkscape.git diff --git a/src/jabber_whiteboard/session-manager.cpp b/src/jabber_whiteboard/session-manager.cpp index 55b41ac20..a04ab05f0 100644 --- a/src/jabber_whiteboard/session-manager.cpp +++ b/src/jabber_whiteboard/session-manager.cpp @@ -234,6 +234,7 @@ SessionManager::processWhiteboardEvent(Pedro::XmppEvent const& event) } Pedro::DOMString session = root->getTagAttribute("wb", "session"); + Pedro::DOMString type = root->getTagAttribute("message", "type"); Pedro::DOMString domwrapper = root->getFirstChild()->getFirstChild()->getFirstChild()->getName(); if (session.empty()) { @@ -241,14 +242,17 @@ SessionManager::processWhiteboardEvent(Pedro::XmppEvent const& event) return; } - if(root->exists(Message::CONNECT_REQUEST)) + if(root->exists(Message::CONNECT_REQUEST) && type == State::WHITEBOARD_PEER) + { handleIncomingInvitation(Invitation(event.getFrom(),session)); - else + }else { - Message::Wrapper wrapper = static_cast< Message::Wrapper >("protocol"); + Message::Wrapper wrapper = static_cast< Message::Wrapper >(domwrapper); InkboardDocument* doc = getInkboardSession(session); - doc->processInkboardEvent(wrapper, root->getFirstChild()); + + if(doc != NULL) + doc->recieve(wrapper, root->getFirstChild()); } } @@ -325,12 +329,12 @@ SessionManager::checkInvitationQueue() switch (reply) { case Dialog::ACCEPT_INVITATION:{ - inkdoc->sendProtocol(from, Message::PROTOCOL,Message::ACCEPT_INVITATION); + inkdoc->send(from, Message::PROTOCOL,Message::ACCEPT_INVITATION); makeInkboardDesktop(doc); break; } case Dialog::DECLINE_INVITATION: default: { - inkdoc->sendProtocol(from, Message::PROTOCOL,Message::DECLINE_INVITATION); + inkdoc->send(from, Message::PROTOCOL,Message::DECLINE_INVITATION); terminateSession(sessionId); break; } } @@ -354,11 +358,11 @@ makeInkboardDocument(int code, gchar const* rootname, State::SessionType type, G InkboardDocument* rdoc = new InkboardDocument(g_quark_from_static_string("xml"), type, to); rdoc->setAttribute("version", "1.0"); rdoc->setAttribute("standalone", "no"); - XML::Node *comment = sp_repr_new_comment(" Created with Inkscape (http://www.inkscape.org/) "); + XML::Node *comment = rdoc->createComment(" Created with Inkscape (http://www.inkscape.org/) "); rdoc->appendChild(comment); GC::release(comment); - XML::Node* root = sp_repr_new(rootname); + XML::Node* root = rdoc->createElement(rootname); rdoc->appendChild(root); GC::release(root); @@ -394,6 +398,7 @@ makeInkboardDesktop(SPDocument* doc) sp_create_window(dtw, TRUE); dt = static_cast(dtw->view); sp_namedview_window_from_document(dt); + sp_namedview_update_layers_from_document(dt); } return dt;