Integrated fixes from 1.0 branch.
This commit is contained in:
parent
345de4cd11
commit
2f9cdfd1b2
|
@ -36,6 +36,7 @@ CAdvancedOptions::CAdvancedOptions(HWND parent, CConfig* config) :
|
|||
{
|
||||
assert(s_singleton == NULL);
|
||||
s_singleton = this;
|
||||
init();
|
||||
}
|
||||
|
||||
CAdvancedOptions::~CAdvancedOptions()
|
||||
|
@ -95,7 +96,7 @@ CAdvancedOptions::getCommandLine(bool isClient, const CString& serverName) const
|
|||
}
|
||||
|
||||
void
|
||||
CAdvancedOptions::init(HWND hwnd)
|
||||
CAdvancedOptions::init()
|
||||
{
|
||||
// get values from registry
|
||||
HKEY key = CArchMiscWindows::openKey(HKEY_CURRENT_USER, getSettingsPath());
|
||||
|
@ -110,9 +111,6 @@ CAdvancedOptions::init(HWND hwnd)
|
|||
}
|
||||
CArchMiscWindows::closeKey(key);
|
||||
}
|
||||
|
||||
// now set GUI
|
||||
doInit(hwnd);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -194,7 +192,7 @@ CAdvancedOptions::doDlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM)
|
|||
{
|
||||
switch (message) {
|
||||
case WM_INITDIALOG:
|
||||
init(hwnd);
|
||||
doInit(hwnd);
|
||||
return TRUE;
|
||||
|
||||
case WM_COMMAND:
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
//@}
|
||||
|
||||
private:
|
||||
void init(HWND hwnd);
|
||||
void init();
|
||||
void doInit(HWND hwnd);
|
||||
bool save(HWND hwnd);
|
||||
void setDefaults(HWND hwnd);
|
||||
|
|
|
@ -190,7 +190,7 @@ CMSWindowsClientTaskBarReceiver::copyLog() const
|
|||
if (!data.empty()) {
|
||||
CMSWindowsClipboard clipboard(m_window);
|
||||
clipboard.open(0);
|
||||
clipboard.empty();
|
||||
clipboard.emptyUnowned();
|
||||
clipboard.add(IClipboard::kText, data);
|
||||
clipboard.close();
|
||||
}
|
||||
|
|
|
@ -210,7 +210,7 @@ CMSWindowsServerTaskBarReceiver::copyLog() const
|
|||
if (!data.empty()) {
|
||||
CMSWindowsClipboard clipboard(m_window);
|
||||
clipboard.open(0);
|
||||
clipboard.empty();
|
||||
clipboard.emptyUnowned();
|
||||
clipboard.add(IClipboard::kText, data);
|
||||
clipboard.close();
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
// CArchLogWindows
|
||||
//
|
||||
|
||||
CArchLogWindows::CArchLogWindows()
|
||||
CArchLogWindows::CArchLogWindows() : m_eventLog(NULL)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ CArchLogWindows::~CArchLogWindows()
|
|||
void
|
||||
CArchLogWindows::openLog(const char* name)
|
||||
{
|
||||
if (!CArchMiscWindows::isWindows95Family()) {
|
||||
if (m_eventLog == NULL && !CArchMiscWindows::isWindows95Family()) {
|
||||
m_eventLog = RegisterEventSource(NULL, name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ CMSWindowsClipboard::~CMSWindowsClipboard()
|
|||
}
|
||||
|
||||
bool
|
||||
CMSWindowsClipboard::empty()
|
||||
CMSWindowsClipboard::emptyUnowned()
|
||||
{
|
||||
LOG((CLOG_DEBUG "empty clipboard"));
|
||||
|
||||
|
@ -53,6 +53,16 @@ CMSWindowsClipboard::empty()
|
|||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
CMSWindowsClipboard::empty()
|
||||
{
|
||||
if (!emptyUnowned()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// mark clipboard as being owned by synergy
|
||||
HGLOBAL data = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE, 1);
|
||||
SetClipboardData(getOwnershipFormat(), data);
|
||||
|
|
|
@ -28,6 +28,21 @@ public:
|
|||
CMSWindowsClipboard(HWND window);
|
||||
virtual ~CMSWindowsClipboard();
|
||||
|
||||
//! Empty clipboard without ownership
|
||||
/*!
|
||||
Take ownership of the clipboard and clear all data from it.
|
||||
This must be called between a successful open() and close().
|
||||
Return false if the clipboard ownership could not be taken;
|
||||
the clipboard should not be emptied in this case. Unlike
|
||||
empty(), isOwnedBySynergy() will return false when emptied
|
||||
this way. This is useful when synergy wants to put data on
|
||||
clipboard but pretend (to itself) that some other app did it.
|
||||
When using empty(), synergy assumes the data came from the
|
||||
server and doesn't need to be sent back. emptyUnowned()
|
||||
makes synergy send the data to the server.
|
||||
*/
|
||||
bool emptyUnowned();
|
||||
|
||||
//! Test if clipboard is owned by synergy
|
||||
static bool isOwnedBySynergy();
|
||||
|
||||
|
|
Loading…
Reference in New Issue