#123 Made disable clipboard take effect on server
This commit is contained in:
parent
9c0bac7c7d
commit
673829f511
|
@ -765,7 +765,7 @@ Config::readSectionOptions(ConfigReadContext& s)
|
||||||
else if (name == "win32KeepForeground") {
|
else if (name == "win32KeepForeground") {
|
||||||
addOption("", kOptionWin32KeepForeground, s.parseBoolean(value));
|
addOption("", kOptionWin32KeepForeground, s.parseBoolean(value));
|
||||||
}
|
}
|
||||||
else if (name == "enableClipboard") {
|
else if (name == "clipboardSharing") {
|
||||||
addOption("", kOptionClipboardSharing, s.parseBoolean(value));
|
addOption("", kOptionClipboardSharing, s.parseBoolean(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1380,6 +1380,9 @@ Config::getOptionName(OptionID id)
|
||||||
if (id == kOptionScreenPreserveFocus) {
|
if (id == kOptionScreenPreserveFocus) {
|
||||||
return "preserveFocus";
|
return "preserveFocus";
|
||||||
}
|
}
|
||||||
|
if (id == kOptionClipboardSharing) {
|
||||||
|
return "clipboardSharing";
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1396,7 +1399,8 @@ Config::getOptionValue(OptionID id, OptionValue value)
|
||||||
id == kOptionXTestXineramaUnaware ||
|
id == kOptionXTestXineramaUnaware ||
|
||||||
id == kOptionRelativeMouseMoves ||
|
id == kOptionRelativeMouseMoves ||
|
||||||
id == kOptionWin32KeepForeground ||
|
id == kOptionWin32KeepForeground ||
|
||||||
id == kOptionScreenPreserveFocus) {
|
id == kOptionScreenPreserveFocus ||
|
||||||
|
id == kOptionClipboardSharing) {
|
||||||
return (value != 0) ? "true" : "false";
|
return (value != 0) ? "true" : "false";
|
||||||
}
|
}
|
||||||
if (id == kOptionModifierMapForShift ||
|
if (id == kOptionModifierMapForShift ||
|
||||||
|
|
|
@ -92,6 +92,7 @@ Server::Server(
|
||||||
m_writeToDropDirThread(NULL),
|
m_writeToDropDirThread(NULL),
|
||||||
m_ignoreFileTransfer(false),
|
m_ignoreFileTransfer(false),
|
||||||
m_enableDragDrop(enableDragDrop),
|
m_enableDragDrop(enableDragDrop),
|
||||||
|
m_enableClipboard(true),
|
||||||
m_sendDragInfoThread(NULL),
|
m_sendDragInfoThread(NULL),
|
||||||
m_waitDragInfoThread(true)
|
m_waitDragInfoThread(true)
|
||||||
{
|
{
|
||||||
|
@ -485,7 +486,7 @@ Server::switchScreen(BaseClientProxy* dst,
|
||||||
|
|
||||||
// update the primary client's clipboards if we're leaving the
|
// update the primary client's clipboards if we're leaving the
|
||||||
// primary screen.
|
// primary screen.
|
||||||
if (m_active == m_primaryClient) {
|
if (m_active == m_primaryClient && m_enableClipboard) {
|
||||||
for (ClipboardID id = 0; id < kClipboardEnd; ++id) {
|
for (ClipboardID id = 0; id < kClipboardEnd; ++id) {
|
||||||
ClipboardInfo& clipboard = m_clipboards[id];
|
ClipboardInfo& clipboard = m_clipboards[id];
|
||||||
if (clipboard.m_clipboardOwner == getName(m_primaryClient)) {
|
if (clipboard.m_clipboardOwner == getName(m_primaryClient)) {
|
||||||
|
@ -506,10 +507,12 @@ Server::switchScreen(BaseClientProxy* dst,
|
||||||
m_primaryClient->getToggleMask(),
|
m_primaryClient->getToggleMask(),
|
||||||
forScreensaver);
|
forScreensaver);
|
||||||
|
|
||||||
|
if (m_enableClipboard) {
|
||||||
// send the clipboard data to new active screen
|
// send the clipboard data to new active screen
|
||||||
for (ClipboardID id = 0; id < kClipboardEnd; ++id) {
|
for (ClipboardID id = 0; id < kClipboardEnd; ++id) {
|
||||||
m_active->setClipboard(id, &m_clipboards[id].m_clipboard);
|
m_active->setClipboard(id, &m_clipboards[id].m_clipboard);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Server::SwitchToScreenInfo* info =
|
Server::SwitchToScreenInfo* info =
|
||||||
Server::SwitchToScreenInfo::alloc(m_active->getName());
|
Server::SwitchToScreenInfo::alloc(m_active->getName());
|
||||||
|
@ -1166,6 +1169,9 @@ Server::processOptions()
|
||||||
else if (id == kOptionRelativeMouseMoves) {
|
else if (id == kOptionRelativeMouseMoves) {
|
||||||
newRelativeMoves = (value != 0);
|
newRelativeMoves = (value != 0);
|
||||||
}
|
}
|
||||||
|
else if (id == kOptionClipboardSharing) {
|
||||||
|
m_enableClipboard = (value != 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (m_relativeMoves && !newRelativeMoves) {
|
if (m_relativeMoves && !newRelativeMoves) {
|
||||||
stopRelativeMoves();
|
stopRelativeMoves();
|
||||||
|
|
|
@ -473,6 +473,7 @@ private:
|
||||||
String m_dragFileExt;
|
String m_dragFileExt;
|
||||||
bool m_ignoreFileTransfer;
|
bool m_ignoreFileTransfer;
|
||||||
bool m_enableDragDrop;
|
bool m_enableDragDrop;
|
||||||
|
bool m_enableClipboard;
|
||||||
|
|
||||||
Thread* m_sendDragInfoThread;
|
Thread* m_sendDragInfoThread;
|
||||||
bool m_waitDragInfoThread;
|
bool m_waitDragInfoThread;
|
||||||
|
|
Loading…
Reference in New Issue