void COSXScreen::checkClipboards() { LOG((CLOG_DEBUG1 "checking clipboard")); if (m_pasteboard.synchronize()) { LOG((CLOG_DEBUG "clipboard changed")); sendClipboardEvent(getClipboardGrabbedEvent(), kClipboardClipboard); sendClipboardEvent(getClipboardGrabbedEvent(), kClipboardSelection); } }
bool CClientProxy1_0::recvGrabClipboard() { // parse message ClipboardID id; UInt32 seqNum; if (!CProtocolUtil::readf(getStream(), kMsgCClipboard + 4, &id, &seqNum)) { return false; } LOG((CLOG_DEBUG "received client \"%s\" grabbed clipboard %d seqnum=%d", getName().c_str(), id, seqNum)); // validate if (id >= kClipboardEnd) { return false; } // notify CClipboardInfo* info = new CClipboardInfo; info->m_id = id; info->m_sequenceNumber = seqNum; EVENTQUEUE->addEvent(CEvent(getClipboardGrabbedEvent(), getEventTarget(), info)); return true; }