2006/04/02 12:16:23 crs
lib/platform/CXWindowsKeyState.cpp

Fixed non-XKB handling of Mode_switch.  There were two problems.
First the XkbLockGroup function was being called even for non-XKB
layouts.  (And was being included in the compile even if the XKB
headers were not available!)  Second, modifiers were assumed to
exist only the group in which a keysym was found and when looking
for modifiers for a key we only check modifiers in the same group.
So keys that needed Mode_switch (in group 1) would check to see if
Mode_switch was explictly mapped in group 1.  It never is so that
would never work.  Now we handle implicitly mapped modifiers.  I
hadn't noticed this problem because my system (like most others)
uses XKB and when I forced non-XKB, the keys I tested worked anyway
through Multi_key.

----------
2006/04/01 22:25:33 crs
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp

Fixed autorepeat on X11.  Was autorepeating all keys sent from
server.  Now autorepeating only those keys which are locally
configured in X to autorepeat.

----------
2006/04/01 21:37:24 crs
lib/platform/CMSWindowsKeyState.cpp

Fixed autorepeat on win32 clients.  Was synthesizing a key release
for each repeat.  Win32 wants only repeat press events.

----------
2006/04/01 21:36:50 crs
cmd/launcher/CScreensLinks.cpp

Fixed two bugs in screens and link dialog.  First, the link controls
were not updated when reopening the dialog.  Second, a change in any
link edit control would be discarded if the user pressed enter.

----------
2006/04/01 21:35:10 crs
cmd/launcher/CHotkeyOptions.cpp

Fixed crash when creating a new hotkey but picking a key or mouse
button combination before clicking OK.

----------
2006/04/01 21:30:43 crs
configure.in
lib/arch/CArchNetworkBSD.cpp
lib/common/common.h

Removed use of alloca() from unix and portable code.  It's still
in win32 code but i don't have to play guessing games about
whether it's there or not on that platform.

----------
2006/04/01 17:53:27 crs
synergy.xcode/project.pbxproj

Added new files to Xcode project.

----------
2006/04/01 17:41:59 crs
lib/client/CServerProxy.cpp
lib/net/CTCPSocket.cpp
lib/server/CClientProxy1_0.cpp

Added more debugging output for network problems.

----------
2006/04/01 17:01:56 crs
lib/platform/COSXKeyState.cpp

Fixed keymapping on OSX.  Was checking keyboard tables for all
modifier combinations, including right-handed modifiers.  It
turns out OSX doesn't set up the tables correctly for those
modifiers and acts if they have no effect.  Since OSX never
generates right-handed modifiers this isn't too surprising.

----------
2006/04/01 15:32:19 crs
lib/server/CBaseClientProxy.cpp
lib/server/CBaseClientProxy.h
lib/server/CClientProxy.cpp
lib/server/CClientProxy.h
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/Makefile.am
lib/server/server.dsp

Added new class to allow the server to keep information that every
screen has.  The first such info is the cursor position when last
jumping from the screen.  Using a hotkey to jump to a screen now
puts the cursor where it was the last time the user jumped from
that screen.

----------
2006/04/01 14:51:22 crs
lib/server/CInputFilter.cpp

Fixed bug in reloading configurations.  Was losing hotkeys.

----------
2006/04/01 14:49:41 crs
lib/platform/CXWindowsKeyState.cpp

Fixed bug when recollecting the keyboard map on non-XKB keyboards.
Wasn't reseting a key map.  It's unlikely anyone ever hit this bug.

----------
2006/04/01 13:39:09 crs
lib/platform/CXWindowsClipboard.cpp
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreenSaver.cpp

Fixed several uses of CXWindowsUtil::CErrorLock that take a flag.
Was checking the flag before destroying the lock object.  That
doesn't reliably work because the X protocol is asynchronous.  The
lock object ensures that the flag is correctly set in its d'tor by
synchronizing with the server.  The X11 hotkey (un)registration was
one place where this was done.  There were places in the X11
screensaver and clipboard handling, too.

----------
2006/04/01 12:55:17 crs
lib/synergy/CKeyState.cpp

Fixed failure to clear the state of which keys are pressed in
fakeAllKeysUp().  This fixes problems with synergy clients
thinking some keys are still down, causing weird key behavior.

----------
2006/04/01 12:53:31 crs
lib/common/Version.h

Changed version to 1.3.1.

----------
2006/03/21 21:54:16 crs
lib/platform/CXWindowsUtil.cpp

Add all #defines for including keysyms that we use.  The #defines in
X11/keysym.h vary from platform to platform and cannot be relied on.

----------
2006/03/21 21:42:53 crs
lib/common/Version.h

Changed version to 1.3.0.

----------
2006/03/21 21:38:52 crs
cmd/launcher/Makefile.am

Added new files to makefile.

----------
2006/03/21 21:38:02 crs
cmd/launcher/CAutoStart.cpp
cmd/launcher/CAutoStart.h
cmd/launcher/CHotkeyOptions.cpp
cmd/launcher/CHotkeyOptions.h
cmd/launcher/launcher.cpp
cmd/launcher/launcher.dsp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
cmd/synergyc/synergyc.dsp
cmd/synergys/synergys.dsp
lib/arch/arch.dsp
lib/base/base.dsp
lib/client/client.dsp
lib/common/common.dsp
lib/io/io.dsp
lib/mt/mt.dsp
lib/net/net.dsp
lib/platform/platform.dsp
lib/platform/synrgyhk.dsp
lib/server/CConfig.cpp
lib/server/CInputFilter.cpp
lib/server/CInputFilter.h
lib/server/server.dsp
lib/synergy/IKeyState.cpp
lib/synergy/IKeyState.h
lib/synergy/IPrimaryScreen.cpp
lib/synergy/IPrimaryScreen.h
lib/synergy/libsynergy.dsp

Added a hot key dialog to the win32 launcher, providing full support
for all features of hot keys.  This required a bunch of small changes
to CInputFilter and stuff used by it (mainly getter methods).

The hot key dialog uses dynamic_cast<> to determine the kinds of
conditions and actions for each rule in the configuration.  This
required enabling RTTI in the project files.

Also changed the 'Start' button to start the synergy service if
installed (i.e. synergy is configured to start when the computer
starts).

----------
2006/03/21 21:37:59 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h

Changed AltGr handling on win32.  Previously the server would send
ctrl and alt up events when sending a key that used AltGr then send
matching down events.  Now we just clear the ctrl and alt bits in
the mask sent with the key;  clients will temporarily release the
ctrl and alt modifiers as necessary to yield the key.  If the key
doesn't need AltGr then the ctrl and alt bits are kept.  We also
used to reserve the right alt key for AltGr even if the keyboard
layout didn't use it that way.  This has been removed.  The keyboard
mapping now presses the ctrl and alt keys for AltGr rather than use
the right alt.

Also made getKeyID() a public method.

----------
2006/03/21 21:37:57 crs
lib/platform/CMSWindowsScreen.cpp
lib/platform/COSXScreen.cpp
lib/platform/CXWindowsScreen.cpp

Improved log output when registering hot keys.

----------
2006/03/21 21:37:53 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Added "server" and "client" to synergy log windows.

----------
2006/03/21 21:37:52 crs
lib/synergy/CKeyMap.cpp

Fixed bug in keyboard mapping when releasing modifiers.  This caused
a problem with AltGr on win32.  The left alt key was being
(synthetically) released but it was the right alt key that was down.

----------
2006/03/21 21:37:49 crs
doc/configuration.html

Documentation fix.

----------
2006/03/20 23:13:11 crs
doc/images/warp.gif

Replaced animated GIF demonstrating cursor warp with one that
doesn't show the cursor in the region between the monitors.
This is the original GIF with frames removed.  Supplied by
user Brian A.

----------
2006/03/18 19:17:46 crs
synergy.xcode/project.pbxproj

Updated Xcode project to build universal binaries.  The PPC build
uses the 10.2.8 SDK while the i386 build uses the 10.4u SDK.  Also
removed the "Default" configuration;  "Development" is now the
default.

----------
2006/03/18 16:39:43 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp

Improved handling of option key on OS X servers.  Previously it
was always treated as the super modifier.  Now it's treated as
AltGr if it generates a glyph, though AltGr is not sent to the
clients.  So if option+key produces a glyph then key is sent
without the option or AltGr modifiers.  If option+key does not
produce a glpyh then option is sent as the super modifier.
Note that combining an option+key combination that would produce
a glyph with the command or control modifiers will cause it to
not produce a glyph.  In that case we send option as the super
modifier and we send the glyph that would've been produced on
the server had the option key not been pressed.  So option+s
sends the beta key id with no modifiers but command+option+s
sends the "s" key id with the alt and super modifiers.

This seems to handle the user expectations.  However some users
may expect option+L to produce win+L on win32 clients.  These
same users probably expect option+? to produce an upside down
question mark.  But these two expectations are fundamentally at
odds.  We cannot satisfy everyone because OS X doesn't have
enough modifier keys.

----------
2006/03/18 13:20:18 crs
lib/server/CInputFilter.cpp

Fixed mousebutton condition.  Wasn't working if num lock, caps lock
or scroll lock was on.

----------
2006/03/18 12:05:34 crs
lib/platform/CXWindowsScreen.cpp

Applied patch from Jaco Kroon to fix a problem with mouse focus
on X11.

----------
2006/03/18 11:54:40 crs
doc/index.html

Added support for index.html?child#anchor syntax.  This will open
the index.html page then child in the page frame and jump to anchor.

----------
2006/03/12 20:24:43 crs
cmd/launcher/CAutoStart.cpp
cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp
cmd/synergyc/synergyc.cpp
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
cmd/synergys/synergys.cpp
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchConsoleUnix.cpp
lib/arch/CArchConsoleUnix.h
lib/arch/CArchConsoleWindows.cpp
lib/arch/CArchConsoleWindows.h
lib/arch/CArchLogUnix.cpp
lib/arch/CArchLogUnix.h
lib/arch/CArchLogWindows.cpp
lib/arch/CArchLogWindows.h
lib/arch/IArchConsole.h
lib/arch/IArchLog.h
lib/base/CLog.cpp
lib/base/ILogOutputter.h
lib/base/LogOutputters.cpp
lib/base/LogOutputters.h

Added show() method to console and logs.

----------
2006/03/12 20:24:14 crs
dist/nullsoft/synergy.nsi

Updated windows installer to install new documentation pages and
to put a shortcut on the desktop.

----------
2006/03/12 20:23:46 crs
cmd/launcher/synergy.ico
cmd/synergyc/synergyc.ico
cmd/synergyc/tb_error.ico
cmd/synergyc/tb_idle.ico
cmd/synergyc/tb_run.ico
cmd/synergyc/tb_wait.ico
cmd/synergys/synergys.ico
cmd/synergys/tb_error.ico
cmd/synergys/tb_idle.ico
cmd/synergys/tb_run.ico
cmd/synergys/tb_wait.ico

Updated icons on win32.

----------
2006/03/12 12:42:18 crs
doc/configuration.html
doc/faq.html
doc/running.html
doc/trouble.html

More documentation fixes.

----------
2006/03/12 12:19:02 crs
doc/configuration.html
doc/faq.html
doc/Makefile.am
doc/toc.html
doc/trouble.html

Added a page with typical problems and solutions.

----------
2006/03/12 10:25:15 crs
doc/tips.html

More documentation fixes.

----------
2006/03/12 10:20:14 crs
doc/about.html
doc/configuration.html
doc/faq.html

Documentation fixes.

----------
2006/03/12 09:34:16 crs
doc/toc.html

Fixed link in table of contents.

----------
2006/03/11 15:01:00 crs
doc/banner.html
doc/border.html
doc/index.html
doc/synergy.css

Adjusted how the border under the banner is drawn.

----------
2006/03/11 14:49:38 crs
doc/images/logo.gif

Updated logo.

----------
2006/03/11 14:42:00 crs
doc/about.html
doc/authors.html
doc/autostart.html
doc/banner.html
doc/compiling.html
doc/configuration.html
doc/contact.html
doc/developer.html
doc/faq.html
doc/history.html
doc/home.html
doc/images/logo.gif
doc/images/warp.gif
doc/index.html
doc/license.html
doc/Makefile.am
doc/news.html
doc/roadmap.html
doc/running.html
doc/security.html
doc/synergy.css
doc/tips.html
doc/toc.html
doc/todo.html

Updated documentation pages.  They're now the web site pages except
they now use frames.

----------
2006/03/08 20:07:09 crs
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/CSynergyHook.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/server/CInputFilter.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IPlatformScreen.h
lib/synergy/IPrimaryScreen.cpp
lib/synergy/IPrimaryScreen.h

Added beginnings of support for synthesizing keystrokes on server's
screen.  It's partly implemented on win32;  it just needs to track
the modifier keys and adjust them as appropriate when synthesizing
keys.  It's not implemented on X11 or OS X.  It's also currently
disabled (in CPrimaryClient.cpp).

----------
2006/03/08 20:05:38 crs
cmd/synergyc/CClientTaskBarReceiver.cpp
cmd/synergyc/CClientTaskBarReceiver.h
cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.rc
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
cmd/synergys/CServerTaskBarReceiver.cpp
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
cmd/synergys/synergys.rc
lib/arch/CArch.cpp
lib/arch/CArchConsoleUnix.cpp
lib/arch/CArchConsoleUnix.h
lib/arch/CArchConsoleWindows.cpp
lib/arch/CArchConsoleWindows.h
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h
lib/base/CLog.cpp
lib/base/LogOutputters.cpp
lib/base/LogOutputters.h
lib/client/CClient.cpp
lib/client/CClient.h
lib/common/Version.cpp

Replaced using win32 console for log with a dialog containing a rich
edit control.  The user can close this window without quiting synergy
and can reopen the window using the tray icon menu.  Also added menu
items to switch the current logging level.

----------
2006/02/22 19:21:21 crs
lib/platform/COSXScreen.cpp

Removed bogus logging call.

----------
2006/02/20 19:46:47 crs
cmd/launcher/launcher.cpp
cmd/launcher/LaunchUtil.cpp
cmd/launcher/LaunchUtil.h

Fixed infinite loop of error dialogs in win32 launcher.

----------
2006/02/20 12:59:20 crs
doc/faq.html

Added firewall info to faq12.  Added faq19, a discussion of not taking
the foreground on win32.

----------
2006/02/20 12:46:18 crs
doc/authors.html
doc/autostart.html
doc/compiling.html
doc/configuration.html
doc/developer.html
doc/faq.html
doc/history.html
doc/index.html
doc/license.html
doc/news.html
doc/running.html
doc/security.html
doc/tips.html
doc/todo.html

Changed !DOCTYPE to HTML 4.0 (from 3.2).

----------
2006/02/20 12:21:34 crs
doc/configuration.html
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CInputFilter.cpp
lib/server/CInputFilter.h
lib/server/CServer.cpp
lib/server/CServer.h

Hot key overhaul.  Added support for multiple actions per hot key.
Actions and conditions are now idempotent so they no longer track
the active state (on, off, toggled, etc).  Actions can be assigned
to the activation or deactivation of a condition, basically a hot
key or mouse button being pressed (activation) or released
(deactivation).  The keystroke and mousebutton actions map to both
and the new keyDown, keyUp, mouseDown and mouseUp map to one or the
other.  The lock cursor to screen action now takes a mode:  on, off
or toggle and the corresponding event state is respected by the
server.  Removed the modifiers action.  Mouse button actions now use
the new kKeySetModifiers and kKeyClearModifiers keys to set/reset
modifier state directly on the client.

Conditions and actions are much simpler now that they're idempotent
and so is CInputFilter.  Refactored CRule into a class since there's
now more to a rule than a condition and action.

----------
2006/02/20 11:29:41 crs
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyMap.h
lib/synergy/CKeyState.cpp

Added support for kKeySetModifiers and kKeyClearModifiers keys.
The former activates the given modifiers and the latter deactivates
them.

----------
2006/02/20 11:25:44 crs
lib/synergy/KeyTypes.h

Added special keys for setting/clearing modifiers.  The intent
is to use these to set/reset modifiers for mouse button hot key
actions.

----------
2006/02/19 21:01:08 crs
lib/platform/COSXScreen.cpp

Fixed OS X to send current keyboard modifiers with mouse button events.

----------
2006/02/19 13:26:54 crs
lib/client/CClient.cpp
lib/client/CClient.h

Fixed two clipboard problems.

First, synergy would blow an assert given the following sequence
of events:
	enter client screen A
	A takes clipboard
	enter server screen B
	B takes clipboard
	clipboard on A changes (while we're not on the screen)
	enter A
	enter B
On entering B we find that the clipboard sender is not the owner
of the clipboard.  This is because when A changed the clipboard
while we were on B, B ignored the grab from A.  A now thinks it
owns the clipboard (even though B does).  So when we leave A the
second time, it sends the clipboard (which contains what B sent
it) to B.  The assertion is blown because B owns the clipboard
but A sends a clipboard with a valid sequence number.  The fix
is simply that clients must reset their internal clipboard
ownership flag when told to set the clipboard by the server.

Second, synergy clients would fail to send the clipboard to the
server given the following sequence of events:
	enter client A
	A takes the clipboard
	enter screen B
	B takes the clipboard
	enter A
	A takes the clipboard with the same contents as before
In an effort to reduce bandwidth, clients don't send unchanged
clipboard contents.  Clients were incorrectly treating this
case as unchanged contents when, in fact, the contents are those
set by B not those of A.  Clients now handle this case.

----------
2006/02/19 13:13:55 crs
lib/server/CServer.cpp

Fixed error in log message.  Was trying to report the sender of
a clipboard but was reporting the owner of the clipboard.

----------
2006/02/16 22:12:37 crs
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h

Added a hack to work around how VMware handles modifier keys on X11
when a virtual machine has focus.  VMware removes all of the modifier
mappings so synergy doesn't know about any modifiers.  The hack is to
use the last known good modifiers when there aren't any active
modifiers.

----------
2006/02/14 18:10:12 crs
lib/server/CServer.cpp

Made switch in direction hot keys use the cursor's current position
when calculating what the neighbor is.  This only affects layouts
using fractional edges.

----------
2006/02/12 16:49:16 crs
synergy.xcode/project.pbxproj

Updated Xcode project.

----------
2006/02/12 16:40:02 crs
doc/configuration.html
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/KeyTypes.cpp

Removed onCommandKey() from server.  This was used only for handling
the ScrollLock key to lock the cursor to the screen but this has been
obsoleted by the hotkey support for locking the cursor.  Also,
ScrollLock is now only added as a hotkey to lock the cursor if the
user hasn't configured some other hotkey to lock the cursor.

----------
2006/02/12 16:22:41 crs
doc/configuration.html
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CInputFilter.cpp
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/IKeyState.cpp
lib/synergy/IKeyState.h

Added support for directing hotkey key actions to a particular screen
or screens or to broadcast to all screens.  However, key action
keystrokes are never sent to the server screen.  This should be fixed.

----------
2006/02/12 16:16:11 crs
doc/configuration.html
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyMap.h
lib/synergy/KeyTypes.cpp
lib/synergy/KeyTypes.h
lib/synergy/libsynergy.dsp
lib/synergy/Makefile.am
lib/synergy/mkspecialkeynames.pl
lib/synergy/SpecialKeyNameMap.h

Moved and restructed key name maps.  Also added names for all
non-alphanumeric ASCII characters and added support for \uXXXX
unicode character codes.

----------
2006/02/12 14:47:23 crs
lib/synergy/CKeyState.cpp

Now allowing fake key presses from server with a server button ID
of 0.  Hot keys that synthesize key events use a server button ID
of 0.  Note that other code will prevent a client from processing
a hotkey press while another hotkey is pressed.  The nature of
hotkeys should ensure that never happens except for modifier only
hotkeys.  Worry about that later.

----------
2006/02/12 12:06:50 crs
lib/platform/COSXScreen.cpp

Fixed 2 axis scrolling on OS X.

----------
2006/02/12 11:53:35 crs
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CServerProxy.cpp
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CClientProxy1_3.cpp
lib/server/CClientProxy1_3.h
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IClient.h
lib/synergy/IPlatformScreen.h
lib/synergy/IPrimaryScreen.cpp
lib/synergy/IPrimaryScreen.h
lib/synergy/ISecondaryScreen.h
lib/synergy/ProtocolTypes.cpp
lib/synergy/ProtocolTypes.h

Added support for horizontal scrolling.

----------
2006/02/12 10:08:49 crs
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h

Applied patch from stkamp@users.sf.net that clamps mouse positions
to valid areas on OS X.  It also improves using the local keyboard
with the remote mouse on OS X.

----------
2006/02/11 20:01:42 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h
lib/platform/CMSWindowsScreen.cpp

Fixed synthesis of ctrl+alt+del and handling of AltGr on win32
client.

----------
2006/02/11 20:00:32 crs
lib/server/server.dsp

Added CClientProxy1_3 to project.

----------
2006/02/06 19:27:45 crs
lib/server/CConfig.cpp

Fixed handling of comments when parsing the configuration.
Had changed leading whitespace stripping which broke it.

----------
2006/02/05 19:42:55 crs
synergy.xcode/project.pbxproj

Updated Xcode project.

----------
2006/02/05 18:48:35 crs
lib/server/CClientProxy1_3.cpp

Fixed warning.

----------
2006/02/05 18:02:47 crs
lib/server/CInputFilter.cpp

Fixed updates of input filters when configuration is changed.

----------
2006/02/05 17:55:45 crs
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_3.cpp

More fixes for server side keep alives.

----------
2006/02/05 17:55:19 crs
lib/server/CServer.cpp

Fixed sending of options to client.  Wasn't reseting options first.

----------
2006/02/05 17:39:20 crs
lib/client/CServerProxy.cpp

Fixed memory bug in releasing keep alive timer.

----------
2006/02/05 17:36:17 crs
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CClientProxy1_3.cpp
lib/server/CClientProxy1_3.h
lib/server/CClientProxyUnknown.cpp

Fixed server side handling of keep alives.

----------
2006/02/05 17:34:14 crs
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h

Fixed client side handling of keep alives.

----------
2006/02/05 16:56:00 crs
lib/synergy/ProtocolTypes.h

Added comment for protocol version 1.3.

----------
2006/02/05 16:54:39 crs
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CClientProxy1_3.cpp
lib/server/CClientProxy1_3.h
lib/server/Makefile.am
lib/synergy/ProtocolTypes.cpp
lib/synergy/ProtocolTypes.h

Deprecated heartbeat and added keep alive to replace it.  While a
heartbeat was generated by clients and sent to the server, a keep
alive is sent from the server and echoed by the client.  This
checks both directions of the connection.  Either side will hang
up if the other hasn't been heard from in a reasonable amount of
time.  This fixes a problem where clients would not hang up on
an unavailable server.

----------
2006/02/05 16:29:01 crs
cmd/launcher/Makefile.am

Added CInfo files to makefile.

----------
2006/02/05 15:30:49 crs
lib/synergy/CKeyState.cpp

Fixed handling of modifier keys that are held down while leaving
a client screen.  Was correctly releasing those keys on the client
but wasn't reseting the active modifier state so as soon as a key
was pressed after reentering the client the modifiers were
reactivated.  However, the user could only see the problem by
typing on the local keyboard because the modifier was correctly
adjusted for keys from the server.  Now reseting modifier state
when leaving a client screen.

----------
2006/02/05 14:47:59 crs
cmd/launcher/CInfo.cpp
cmd/launcher/CInfo.h
cmd/launcher/launcher.cpp
cmd/launcher/launcher.dsp
cmd/launcher/launcher.rc
cmd/launcher/LaunchUtil.cpp
cmd/launcher/LaunchUtil.h
cmd/launcher/resource.h

Added two features to the win32 launcher.  First there's now a
info dialog which reports some useful information.  The other is
that configuration files are now re-read when the application is
activated and the file's modification time has changed.  This
should help when users are hand editing the configuration file
while the launcher is running.

----------
2006/02/05 14:45:39 crs
lib/server/CConfig.cpp

Fixed a bug in writing configuration files with fractional edges.

----------
2006/02/05 14:43:17 crs
cmd/launcher/CAddScreen.cpp
cmd/launcher/CScreensLinks.cpp
cmd/launcher/CScreensLinks.h
cmd/launcher/launcher.rc
cmd/launcher/resource.h
doc/configuration.html
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CServer.cpp
lib/server/CServer.h

Added support for fractional edge links.  This allows users to
configure a portion of an edge to map to a portion of another
edge, rather than linking entire edges.  This does not allow
users to split a (presumably multimonitor) screen to allow
switching on reaching an interior edge.

----------
2006/02/01 21:34:28 crs
lib/synergy/CKeyMap.cpp

Fixed parsing of modifier plus single character keystroke and
mousebutton entries in the configuration.  Was discarding single
characters.

----------
2006/02/01 21:20:46 crs
lib/platform/COSXKeyState.cpp

Fixed OS X keypad enter key.

----------
2006/01/29 20:50:54 crs
lib/server/CConfig.cpp
lib/server/CInputFilter.cpp
lib/server/CInputFilter.h
lib/server/CServer.cpp
lib/server/CServer.h

Added support for performing an action when a screen connects.
Also added support for jumping to the screen that just connected.
The line 'connect() = switchToScreen()' in the global options will
cause the cursor to jump to a screen as soon as it connects.  This
isn't especially useful but serves as an example.

----------
2006/01/29 19:56:31 crs
lib/platform/CXWindowsScreen.cpp

Fixed X11 hot key grabbing.  Previously was sensitive to CapsLock,
NumLock and ScrollLock and is now insensitive to all of those.

----------
2006/01/29 17:54:08 crs
lib/platform/COSXScreen.cpp

Changed input suppress delay to 0.  This might be right or it
might need to be a small positive value like 0.1.

----------
2006/01/29 15:52:44 crs
lib/server/CConfig.h
lib/server/CInputFilter.cpp
lib/server/CInputFilter.h
lib/server/CServer.cpp

Fixed support for ScrollLock to lock the cursor to the screen.
It now works via the hotkey mechanism.

----------
2006/01/29 15:51:59 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h

Fixed failure to run on win95 family.  Was linked against
ToUnicodeEx which is not available on that family.  Now looking
up that symbol at run time.

----------
2006/01/29 15:50:29 crs
lib/platform/COSXScreen.cpp

Fixed minor bug in call to CGSetLocalEventsSuppressionInterval.

----------
2006/01/29 13:26:48 crs
lib/platform/CSynergyHook.cpp

Win32 reports VK_RSHIFT as an extended key, which it is not.
We now correct this which fixes the right shift key when using
win32 servers.

----------
2006/01/29 12:47:31 crs
lib/synergy/CKeyMap.cpp

Fixed handling of modifiers when synthesizing a modifier.  We
were previously trying to match the desired modifier state
when synthesizing any key, even if some of those modifiers
weren't required (i.e. the key was insensitive to the state
of some of those modifiers).  We no longer try to match the
state of non-required modifiers because doing so can break
the synthesis of some keys, particularly modifiers.  For
example, previously pressing Control with NumLock on would
turn NumLock off, press Control, then turn NumLock back on.
If this Control was used with Alt on win32 to effect AltGr
then AltGr would not take effect.  On X11 the Shift key was
improperly combined with NumLock, causing mouse keys to take
effect.

----------
2006/01/29 12:37:30 crs
lib/common/Version.h

Changed to version 1.2.8.

----------
2005/12/18 18:00:56 crs
synergy.xcode/project.pbxproj

Added new files to xcode project.

----------
2005/12/18 17:35:57 crs
doc/configuration.html
doc/news.html

More documentation for 1.2.7.

----------
2005/12/18 16:51:52 crs
doc/news.html

Fixed error in documentation.

----------
2005/12/18 16:15:42 crs
lib/platform/CSynergyHook.cpp

Removed use of function from C standard library in the hook DLL.

----------
2005/12/18 16:11:15 crs
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h

Added workaround for not receiving drag events for any mouse buttons
besides 1 and 2 (left and right).  That appears to be a limitation
of the OS so we simply start polling the position while any buttons
besides 1 and 2 are down.  Code based on a patch by Brian Kendall.

----------
2005/12/18 15:29:25 crs
lib/common/Version.h

Changed version to 1.2.7.

----------
2005/12/18 15:12:39 crs
lib/platform/COSXKeyState.cpp

Fixed mapping of unicode key layouts.  Was discarding some
characters (backspace and return, in particular) that should
not have been discarded.

----------
2005/12/18 10:49:23 crs
cmd/launcher/launcher.rc
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CInputFilter.cpp
lib/server/CInputFilter.h
lib/server/CServer.cpp
lib/server/server.dsp
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyMap.h
lib/synergy/IKeyState.cpp
lib/synergy/IKeyState.h
lib/synergy/IPrimaryScreen.cpp
lib/synergy/IPrimaryScreen.h
lib/synergy/libsynergy.dsp
lib/synergy/SpecialKeyNameMap.h
synergy.dsw

Added support for hot keys on win32.  Also fixed memory leaks in
CInputFilter and changed CConfig to write hot keys in its
CInputFilter object to the options section.

----------
2005/12/15 18:57:38 crs
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h

Fixed hot keys on OS X when on a secondary screen.  This worked
in the original patch but broken during the modify/merge.  It
was broken because we turn off all hot key processing by the OS
while on a secondary screen.  The fix is to check on key press
and release if the key and modifier state matches a hot key.

This is known to be broken on hot key release if you press the
hot key then change the modifiers before releasing the provoking
key.

----------
2005/12/14 21:51:01 crs
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h

Added support for hotkeys on X11.

----------
2005/12/14 21:50:49 crs
lib/server/CServer.cpp

When jumping to another screen was computing the center using the
size of the active screen instead of the size of the destination
screen.

----------
2005/12/14 21:50:09 crs
lib/server/CConfig.cpp

Switched to ctype.h from cctype to fix linux build.

----------
2005/12/14 09:33:25 crs
lib/base/CLog.cpp
lib/base/CLog.h
lib/base/CStringUtil.cpp
lib/base/CStringUtil.h

Fixed bug in CStringUtil::vsprint.  Was reusing va_list across
calls to vnsprintf, which is not allowed.  Modified CStringUtil
and CLog to avoid doing that.  This should fix a crash when
using --help on some platforms.  Tthe --help message was the
only message long enough to exceed the static buffer length
which caused a va_list to get reused.

----------
2005/12/14 08:43:36 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CInputFilter.cpp
lib/server/CInputFilter.h
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/Makefile.am
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IPlatformScreen.h
lib/synergy/IPrimaryScreen.cpp
lib/synergy/IPrimaryScreen.h
lib/synergy/Makefile.am
lib/synergy/mkspecialkeynames.pl
lib/synergy/SpecialKeyNameMap.h

Checkpoint of configurable hotkey support.  Authored by Lorenz
Schori, modified and merged by me.  Hotkeys are only implemented
on OS X so far;  this change breaks the build on linux and win32.

----------
2005/11/29 21:22:02 crs
lib/platform/CXWindowsKeyState.cpp

Fixed bug in X11 keyboard code.  Wasn't checking for a NULL pointer.

----------
2005/11/28 22:12:49 crs
doc/running.html

Added a little more detail to the documentation for for OS X users
not familiar with the shell.

----------
2005/11/28 20:59:39 crs
doc/autostart.html

Added X11 autostart info for kdm.

----------
2005/11/27 16:41:06 crs
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsScreen.cpp
lib/platform/CSynergyHook.cpp
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyState.cpp

Fixed several win32 keyboard bugs.

----------
2005/11/27 16:30:50 crs
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h

Fixed a couple of problems with key event synthesis.

----------
2005/11/25 18:19:28 crs
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsScreenSaver.h

Now sending a more significant fake mouse motion to xscreensaver
to keep it from activating.  xscreensaver since 2.21 requires a
motion of at least 10 pixels to be considered significant.

----------
2005/11/25 14:42:30 crs
lib/platform/COSXClipboard.cpp
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h

Added periodic check for clipboard change on OS X.  We're polling
because there doesn't seem to be any event to notify of a clipboard
change.

----------
2005/11/24 11:00:39 crs
cmd/launcher/launcher.cpp

Fixed bug in win32 GUI.  If synergy wasn't previously installed for
autostart then the GUI would incorrectly install it for autostart.
It was incorrectly installed in such a way that synergy would think
it wasn't installed and it would not function when the service
manager tried to start it.

----------
2005/11/20 22:34:06 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsScreen.cpp
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/platform/CXWindowsScreen.cpp
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyMap.h
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.cpp
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/IKeyState.h
lib/synergy/IPlatformScreen.h

Converted OS X to new keyboard handling.  Two known problems
with OS X:  the thorn character is mapped incorrectly (because
OS X lies) and we're using every keyboard layout, not just the
enabled one, because we have no idea how to detect if a layout
is enabled or not.  The latter problem only causes some startup
slowness.

----------
2005/11/20 22:29:01 crs
configure.in
lib/arch/CMultibyte.cpp

Added support for converting clipboard data to Latin-1 encoding
if the default encoding is ASCII by switching to the en_US locale
at startup.

----------
2005/11/14 18:35:07 crs
lib/synergy/CKeyState.h

Removed unnecessary headers.

----------
2005/11/13 17:08:45 crs
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyMap.h

Added improved support for key combinations intended to perform a
keyboard shortcut rather than synthesize a particular key.

----------
2005/11/13 12:52:16 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyMap.h

Finished X11 non-XKB keyboard mapping.  Also added a convenience
function to CKeyMap used by both the X11 and win32 implemenetations.

----------
2005/11/13 10:31:32 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsUtil.cpp
lib/platform/CXWindowsUtil.h
lib/synergy/CKeyMap.cpp
lib/synergy/CKeyMap.h
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.cpp
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IKeyState.h
lib/synergy/IPlatformScreen.h
lib/synergy/KeyTypes.h
lib/synergy/libsynergy.dsp
lib/synergy/Makefile.am

Checkpointing keyboard handling refactoring.  This is a major change
to the client side handling of key events.  This change converts the
X11 and win32 handling but not the OS X handling.

The new class CKeyMap contains the information necessary to convert
a synergy key event to the platform events necessary to synthesize
the key.  Platforms fill in a CKeyMap whenever their keyboard layouts
change using the addKeyEntry(), calling it once for each unique way
to synthesize a particular KeyID on the keyboard.  The CKeyMap takes
it from there, first adding dead-key combinations and some other keys,
then doing the translation from KeyID to platform keystroke sequences.
Platforms no longer need to implement the KeyID to keystroke sequence
conversion, simplifying the platform implementations.

This change also supports multiple keyboard layouts, typically used
to support various languages.  If a key is not available on the active
layout but is on a different installed layout then synergy will switch
layouts automatically.

The X11 version now fully supports the XKB extension.  This should fix
problems with Mode_switch vs ISO_Level3_Shift.  Non-XKB support is
incomplete in this checkpoint.

----------
2005/11/12 11:43:54 crs
lib/platform/CMSWindowsScreen.cpp

Disabled code to periodically reinstall synergy in the clipboard
chain.  It was causing an infinite recursion in the WM_DRAWCLIPBOARD
message handler.

----------
2005/11/12 11:28:25 crs
lib/platform/CMSWindowsScreenSaver.cpp

Changed a couple of logging messages to DEBUG2 from DEBUG.

----------
2005/11/12 11:27:55 crs
cmd/launcher/CAutoStart.cpp
cmd/launcher/CAutoStart.h
cmd/launcher/launcher.cpp

Fixed saving of autostart configuration in win32 launcher.  It
was erroring out when the user did not have permission to write
to that portion of the registry.  Now it will only write the
configuration if synergy is installed for autostart.  This is
still not quite right since it'll still error out if some other
user with sufficient permission has installed the autostart and
this user doesn't have enough permission.

----------
2005/11/12 11:22:34 crs
lib/common/Version.h

Changed version to 1.2.6.

----------
2005/11/01 19:58:21 crs
acinclude.m4

Restored pthread signal configuration checks accidentally removed
in previous version.

----------
2005/10/12 21:37:58 crs
doc/running.html

Updated setup documentation.

----------
2005/10/11 21:12:18 crs
lib/arch/CArchMultithreadPosix.cpp

Fixed warning in posix multithread code.

----------
2005/10/11 20:59:29 crs
acinclude.m4

Updated autoconf script for detecting pthreads.

----------
2005/10/06 21:45:01 crs
configure.in
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h

Added initial XKB code.  This only checks for the extension in
the configuration, queries the extension at runtime and handles
mapping notify events.  Still need to use the extension to get
the keyboard map.

----------
2005/10/02 17:40:56 crs
lib/platform/CXWindowsClipboard.cpp
lib/platform/CXWindowsClipboard.h
lib/platform/CXWindowsUtil.cpp
lib/platform/CXWindowsUtil.h

Fixed X11 clipboard handling on 64-bit systems.  Also fixed a
problem with detecting when a clipboard owner says a format is
unavailable.

----------
2005/10/01 19:26:57 crs
lib/server/CServer.cpp

Fixed unnecessary comparison to NULL that chokes some compilers.

----------
2005/10/01 19:23:38 crs
cmd/launcher/CAdvancedOptions.cpp
cmd/launcher/CAutoStart.cpp
cmd/launcher/CAutoStart.h
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
dist/nullsoft/synergy.nsi
lib/arch/CArchDaemonWindows.cpp
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CSynergyHook.cpp
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.cpp
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/IKeyState.h
lib/synergy/IPlatformScreen.h

Fixed several win32 bugs.  Removed the 'Save' button from the
launcher;  configuration is now saved transparently.  Autostart
configuration is now saved transparently whenever it changes
and autostart is enabled.  Configuration is now saved when the
debug logging level changes.

Now releasing synthetically pressed keys when leaving the client.
The existing code was checking for key down using a local key
button id then trying to release it using the same id as a server
key button id.

Now looking up a local button id for key events that have a scan
code of 0.  These are sent by some programs that synthesize events.

Now periodically reinstalling the clipboard chain viewer.  It appears
that the chain is breaking sometimes (probably due a badly behaved
or killed app) but there's no way to detect that so this is a
workaround.

Now stopping and deleting the autostart services during uninstall.

----------
2005/10/01 18:55:59 crs
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h

Added support for apple's mighty mouse.  We now correctly handle
button 4 (and 5 if it exists).  We now detect the mighty mouse's
scroll ball and convert vertical motion into scroll wheel events.
Also changed handling of scroll wheel scaling;  the mac works
differently from other platforms so it's not perfect.

----------
2005/10/01 15:01:15 crs
cmd/launcher/Makefile.am

Added new files to makefiles.

----------
2005/09/26 20:58:53 crs
lib/server/CConfig.cpp

Fixed bug in output of configuration files.  Was writing bottom-right
corner as "bottom-left" instead of "bottom-right".

----------
2005/09/26 20:55:24 crs
cmd/launcher/CAddScreen.cpp
cmd/launcher/CAddScreen.h
cmd/launcher/CScreensLinks.cpp
cmd/launcher/CScreensLinks.h
cmd/launcher/launcher.cpp
cmd/launcher/launcher.dsp
cmd/launcher/launcher.rc
cmd/launcher/resource.h

Refactored code in win32 launcher GUI.

----------
2005/08/22 19:40:34 crs
lib/common/Version.h

Changed version to 1.2.5.

----------
2005/08/07 10:32:54 crs
doc/autostart.html

Updated OS X autostart documentation.

----------
2005/08/07 10:32:19 crs
lib/arch/CArchMultithreadPosix.cpp
lib/arch/IArchMultithread.h

Added support for SIGUSR2.  Not using it yet, though.

----------
2005/08/03 21:03:49 crs
cmd/synergyc/synergyc.cpp

Client now quits after failing to connect if not restartable.
Was failing to quit.

----------
2005/08/03 20:14:42 crs
cmd/synergyc/Makefile.am
cmd/synergys/Makefile.am
configure.in
lib/arch/Makefile.am
lib/platform/Makefile.am

Changed how we export MACOSX_DEPLOYMENT_TARGET to a hopefully more
portable solution.

----------
2005/08/02 21:42:12 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Fixed --daemon fix when compiled on unix.

----------
2005/08/02 20:57:52 crs
cmd/launcher/CGlobalOptions.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h
lib/platform/CMSWindowsScreen.cpp
lib/server/CConfig.cpp
lib/synergy/OptionTypes.h

Added option to suppress grabbing of the foreground window on win32
synergy servers.  Grabbing the foreground window prevents certain
apps from messing up low level keyboard events but doing that can
break certain workflow, particularly with games.  Since the option
is only for win32 and it's in the launcher GUI and I hope to get rid
of it someday, there is no configuration documentation for it.

----------
2005/08/02 20:55:35 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Fixed '--daemon' command line option on Windows NT family client and
server.  Those platforms now ignore --daemon and --no-daemon like
they should.

----------
2005/08/01 22:34:05 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/server/CPrimaryClient.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.cpp
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IKeyState.h
lib/synergy/IPlatformScreen.h

Fixed scroll-lock screen locking on linux servers.  An earlier
change made the function that returns modifier state return the
shadowed state not the current state.  On X windows we don't
shadow the state when on the primary screen so the synergy server
would never see the scroll-lock state turned on until it left the
primary screen.  As a result scroll-lock would not lock to the
primary screen but would lock you to whatever secondary screen
you ended up on.

Changed win32 and OSX versions to work like the linux version.
Win32 used to work anyway because we constantly shadow keyboard
state on that.  OSX did not query current keyboard state at all
before and it still doesn't;  this needs to be fixed.

----------
2005/08/01 22:29:48 crs
lib/synergy/libsynergy.dsp

Added ProtocolTypes.cpp to VC++ project.

----------
2005/08/01 21:02:07 crs
lib/common/common.h
synergy.xcode/project.pbxproj

Changes to get gcc3.3, 10.2.8 SDK builds working on OS X.

----------
2005/07/31 22:50:10 crs
configure.in
lib/platform/COSXScreenSaver.cpp
lib/platform/COSXScreenSaver.mm
lib/platform/COSXScreenSaverUtil.h
lib/platform/COSXScreenSaverUtil.m
lib/platform/Makefile.am

Removed Objective-C++ file.  Now using an Objective-C file instead
which works better with autoconf/automake.

----------
2005/07/31 22:49:03 crs
lib/synergy/Makefile.am
lib/synergy/ProtocolTypes.cpp
lib/synergy/ProtocolTypes.h

Fixed warnings on gcc 4.0.

----------
2005/07/31 22:48:30 crs
lib/common/Version.h

Changed version to 1.2.4.

----------
2005/07/26 21:37:41 crs
lib/common/Version.h

Changed version to 1.2.3.

----------
2005/07/26 21:37:27 crs
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h

Now disabling the win32 foreground window on the server when
leaving the server screen.  This prevents the system from
messing up keyboard events.  The console (command prompt) and
remote desktop are known to interfere with the shift key when
they have the focus.  This introduces a bug where the window
that was the foreground is raised to the top of the stacking
order when the cursor enters the server screen.  This should
only be a problem for Mouse-X (activation follows mouse) users.
I don't know how Mouse-X changes the foreground/active window
without raising it;  if I did I'd fix this bug.

----------
2005/07/26 21:24:13 crs
doc/configuration.html

Fixed typo in documentation.

----------
2005/07/26 19:58:37 crs
cmd/launcher/launcher.cpp

Now defaulting to WARNING as the default debug level on win32.
This is a workaround for NOTE and higher always popping up the
command window, which can't be hidden or closed.  When the
user clicks 'Test', the debug level is forced to be at least
INFO to workaround this workaround.  Future versions will do
away with the command window altogether so this weirdness isn't
too much of a problem.

----------
2005/07/26 19:50:44 crs
doc/faq.html
doc/tips.html

Improved documentation of how to get ctrl+alt+pause working on
Windows NT,2k,XP.

----------
2005/07/21 21:25:51 crs
lib/common/common.h

Forcing use of select() rather than poll() on OS X.  Wasn't
getting a read event on a socket when the remote side closed
down when using poll().  Probably a bug in synergy code but
I couldn't find it.

----------
2005/07/21 21:24:28 crs
lib/arch/CArchNetworkBSD.cpp

Fixed "resource temporarily unavailable" exception on OS X when
using the unblock pipe.

----------
2005/07/20 22:09:05 crs
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
cmd/synergys/synergys.cpp
doc/configuration.html
lib/client/CClient.cpp
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/OptionTypes.h

Added "dead" corners support.  The cursor can't switch screens
from a dead corner.

----------
2005/07/19 20:43:51 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h

Applied patch (from Lorenz Schori) to fix getting the keyboard
layout.  It previously was failing for non-Apple keyboards.

----------
2005/07/19 20:23:29 crs
lib/platform/COSXKeyState.cpp

Replaced NULL with 0 in arithmetic expression.

----------
2005/05/08 11:40:26 crs
lib/platform/CMSWindowsKeyState.cpp

Applied patch 1113363 to support the kanji key on win32.

----------
2005/05/08 11:08:12 crs
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h
lib/arch/CArchNetworkWinsock.cpp
lib/arch/CArchNetworkWinsock.h
lib/arch/IArchNetwork.h
lib/net/CTCPListenSocket.cpp

Added support for SO_REUSEADDR.  It is always enabled.

----------
2005/05/08 11:00:42 crs
cmd/synergys/synergys.cpp

Fixed bug in retrying to initialize or start the server.  Was
waiting the retry interval then doing nothing.

----------
2005/04/29 21:27:10 crs
lib/common/common.h
lib/platform/COSXScreen.cpp
synergy.xcode/project.pbxproj

A few OSX build fixes.

----------
2005/04/28 22:05:51 crs
lib/common/common.h

Now setting HAVE_SOCKLEN_T to 1 when on OSX and _SOCKLEN_T is
defined and HAVE_CONFIG_H isn't is set.

----------
2005/04/28 22:04:23 crs
cmd/synergyc/Makefile.am
cmd/synergys/Makefile.am
configure.in
lib/arch/Makefile.am
lib/platform/Makefile.am

Added support for MACOSX_DEPLOYMENT_TARGET.  It's set to 10.2.

----------
2005/04/28 22:02:47 crs
cmd/synergys/synergys.cpp
lib/client/CClient.cpp

Now reporting sleep suspend/resume at INFO level.

----------
2005/04/25 22:12:04 crs
cmd/synergyc/Makefile.am
cmd/synergyc/synergyc.cpp
cmd/synergys/Makefile.am
cmd/synergys/synergys.cpp
configure.in
lib/base/CEvent.cpp
lib/base/CEvent.h
lib/base/CEventQueue.cpp
lib/client/CClient.cpp
lib/client/CClient.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/platform/COSXScreenSaver.cpp
lib/platform/COSXScreenSaver.h
lib/platform/COSXScreenSaver.mm
lib/platform/Makefile.am
lib/platform/OSXScreenSaverControl.h
lib/server/CServer.cpp
lib/synergy/IScreen.cpp
lib/synergy/IScreen.h
synergy.xcode/project.pbxproj

Added support on OS X for screensaver synchronization,
sleeping and fast user switching.  OS X Server also now
captures global hot keys (cmd+tab, F9, etc.) and sends them
to the client.  Changes mostly due to lorenz schori.  Some
bug fixes (in lorenz's code and in synergy) and integration
into automake by crs (had to add support for Objective C++
files) and the XCode project.

This change also adds flags to events.  Flags can cause events
to be dispatched immediately and to not free event data.  Both
features are used in the new code.

This change adds events on IScreen for notification of the
system going to sleep or waking up (or the user's session
being somehow suspended and restored).  CClient and synergys
now listen for and respond to these events.  CMSWindowsScreen
used to use IJobs for handling these events synchronously.  It
now uses the new IScreen events and delivers them immediately.

----------
2005/01/26 18:45:45 crs
lib/common/Version.h

Changed version to 1.2.2.

----------
2005/01/26 18:43:33 crs
lib/platform/COSXKeyState.cpp

Fixed bug in handling modifier keys on OS X clients.  Was applying
modifiers to modifiers yielding, for example:  ctrl down, ctrl down,
ctrl up for press of the control key.  The first down and the up were
there because we were applying the control modifier to the control
key.

----------
2005/01/26 18:41:28 crs
lib/platform/CXWindowsKeyState.cpp

Fixed handling of ISO_Level3_Shift.  We now prefer ISO_Level3_Shift
over Mode_switch if it's mapped to any key.  ISO_Level3_Shift
replaces Mode_switch in newer versions of X and Mode_switch does
nothing, so we have to use ISO_Level3_Shift if it's there.

----------
2005/01/04 19:29:58 crs
lib/platform/COSXKeyState.cpp

Fixed bug in OS X server key translation which pretty much broke any
keystroke with a modifier key.

----------
2005/01/01 20:52:43 crs
doc/compiling.html

Merged documentation fixes.

----------
2005/01/01 20:19:42 crs
doc/running.html

Merged documentation fix from mainline.

----------
2004/12/30 13:28:51 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
doc/authors.html
lib/client/CClient.cpp
lib/net/CNetworkAddress.cpp
lib/net/CNetworkAddress.h
lib/server/CConfig.cpp

Adapted and applied patch by Brent Priddy for re-resolving the server
hostname on each connection.  This allows the client to startup
without being able to resolve the server's hostname.  It also lets
it handle changes in the server's address, a typical scenario when
the client is a laptop moving between networks.

----------
2004/12/30 12:10:47 crs
lib/platform/CMSWindowsKeyState.cpp
lib/synergy/KeyTypes.h

Added Henkan key.  Patch from rniitani at sourceforge.net.

----------
2004/12/30 11:54:23 crs
doc/authors.html
lib/platform/CXWindowsScreen.cpp

Applied patch from Tom Chadwick to synthesize PageUp/PageDown on
X servers that don't support the mouse wheel.

----------
2004/12/29 21:12:05 crs
lib/platform/CMSWindowsScreen.cpp

Now ignoring 4th and 5th mouse buttons if they don't exist.  Was
previously querying their state, sometimes getting the wrong
answer from the OS that they were down, which prevented switching
screens.

----------
2004/12/29 21:10:49 crs
lib/platform/CMSWindowsKeyState.cpp

Fixed handling of number pad number and decimal point keys when
NumLock is on on client on windows 95 family.  

----------
2004/12/29 17:53:44 crs
lib/platform/CXWindowsScreen.cpp

Added support for ISO_Level3_Shift on X windows server.  It's
treated as if it were Mode_switch.

----------
2004/12/29 17:07:08 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h

Added support for unicode keyboard layouts on OS X.

----------
2004/12/29 17:06:49 crs
lib/platform/COSXScreen.cpp

Removed calls to show/hide mouse because they only work if we've
taken exclusive access to the display and we don't do that.

----------
2004/12/29 17:06:00 crs
lib/platform/COSXEventQueueBuffer.cpp
lib/platform/COSXEventQueueBuffer.h

Fixed leak of event objects on OS X.

----------
2004/12/29 17:00:17 crs
//depot/project/synergy-web/Makefile
//depot/project/synergy-web/autostart.htmls
//depot/project/synergy-web/synergy.css
doc/autostart.html
doc/synergy.css

Added Mac OS X autostart documentation from Tor Slettnes (tor@slett.net).

----------
2004/11/12 15:50:04 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h

Now suppressing shift key when caps-lock is enabled on OSX.  This
fixes handling of, say, Command+N with caps-lock enabled which
was being synthesized as Command+Shift+N.

----------
2004/11/11 19:23:14 crs
lib/arch/CArchMultithreadPosix.cpp

Fixed a serious flaw in wrapper for posix condition variable wait
function.  Because synergy doesn't use posix cancellation, it
cannot wake up a thread waiting on a condition variable.  So
the wrapper would wake up periodically to test if the thread was
cancelled (according to synergy's cancellation state) then go
back to waiting.  Well the condition could be signalled while
we're testing and be lost and we'd never return from the wait.
So now we wake up after a maximum timeout and return to the
caller.  The caller must check for this spurious wakeup but all
callers should do this anyway so we're okay there.

----------
2004/11/11 19:17:03 crs
lib/net/CSocketMultiplexer.cpp
lib/net/CSocketMultiplexer.h

Changed scheme used to lock the socket multiplexer's job list.
I think the new scheme is easier to understand.  It should have
exactly the same behavior.

----------
2004/11/10 21:00:30 crs
lib/mt/CCondVar.h

Made condition variable data volatile.  This will hopefully fix
an strange deadlock seen on OSX.  The CSocketMultiplexer deadlocks
with two threads, one waiting for m_polling to become false and
the other waiting for m_pollable to become true.  The weird part
is that they're both false so the first thread should proceed.
It either didn't receive the broadcast when m_polling went to
false or it's not really checking the actual value of that flag.
I can't see how the former is possible and this change fixes the
latter.

----------
2004/11/10 19:11:33 crs
lib/platform/CXWindowsUtil.cpp

Fixed typo.

----------
2004/11/09 20:05:33 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h

Fixed modifier handling on OSX client.  Had hardcoded one set of
modifiers for all keys for testing purposes and forgotton to fix
that.  Now choosing required modifiers per key.  This fixes
shift+arrow keys suppressing the shift key and, i think, the
option key not working.

----------
2004/11/09 18:42:47 crs
lib/common/Version.h

Changed version to 1.1.10.

----------
2004/11/09 18:38:14 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Added synergy version number to first log message.

----------
2004/11/09 18:31:54 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Moved log message that prints system info to after installation
of user requested log level so it can be filtered.

----------
2004/11/06 16:29:06 crs
lib/client/CServerProxy.cpp

Attempt to workaround laggy mouse on OS X with linux as server.

----------
2004/11/06 16:13:52 crs
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h

Fixed screensaver detection on XP.

----------
2004/11/06 16:13:01 crs
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h

Fixed handling of number pad keys with num-lock off.  Was
synthesizing events for the numbers even with num-lock off.  Now
synthesizing the cursor movements.

----------
2004/11/06 16:11:39 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Fixed console appearing when running synergy as a service.  This
was introduced with the change to print system info to the start
of the log.  This message was printed before the service installed
the log handler that directs messages to the event log.

----------
2004/11/04 21:26:43 crs
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/platform/CXWindowsUtil.cpp
lib/platform/CXWindowsUtil.h

Added support for X11 compose key (Multi_key).  This change fixes
the handling of compose key sequences.  The key presses were
suppressed but not the corresponding releases, confusing the
clients.  It also adds support for generating keysyms via the
compose key if the necessary dead keys or Mode_switch are not
available.

----------
2004/11/02 20:50:36 crs
doc/running.html

Added documentation for -display option.

----------
2004/11/02 20:43:55 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h

Added -display option for X11 version.

----------
2004/11/01 22:26:52 crs
lib/platform/CSynergyHook.cpp

Reverted change to detach threads in hook DLL.  It was breaking
double clicking.

----------
2004/11/01 22:26:02 crs
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
cmd/synergys/resource.h
cmd/synergys/synergys.rc

Added tray menu item on win32 to force clients to reconnect.

----------
2004/11/01 22:25:39 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
configure.in
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchFileWindows.cpp
lib/arch/CArchSystemWindows.cpp
lib/arch/CArchSystemWindows.h
lib/arch/IArchSystem.h
lib/arch/Makefile.am
lib/arch/arch.dsp

Added operating system identification log message for debugging
purposes.

----------
2004/11/01 22:10:34 crs
lib/platform/CMSWindowsDesks.cpp

Added debugging output to check window class of active window
when leaving screen.  This may help determine how to avoid
DOS command prompt windows being in the foreground when leaving
the screen since they suppress handling of the shift key.

----------
2004/11/01 18:26:29 crs
lib/platform/CMSWindowsEventQueueBuffer.cpp

Fixed synergy quiting when powerdvd stops playing a DVD.  This may
fix some other bugs that involve unexpectedly quiting.  The problem
was that synergy would (cleanly) quit when receiving an event with
a message id of 0 when not running as a service.

----------
2004/11/01 18:24:37 crs
lib/platform/CMSWindowsDesks.cpp

Fixed multimon support for win NT/2000/XP running as client.  Mouse
would jump between two points.

----------
2004/11/01 18:22:45 crs
lib/platform/CMSWindowsScreenSaver.cpp

Fixed a resource leak.  Also fixed the detection of the screen saver
closing on windows 2000 and XP.

----------
2004/11/01 18:21:00 crs
cmd/launcher/CAdvancedOptions.cpp
cmd/launcher/CAdvancedOptions.h
cmd/launcher/launcher.rc
cmd/launcher/resource.h

Added option to set the listen address via the win32 GUI.  This
allows the user to specify one (and only one) network interface
to listen on.

----------
2004/10/30 16:41:36 crs
lib/platform/CXWindowsKeyState.cpp

Changed X11 key mapping to fallback to the modifier keysym with
the opposite handedness if the desired handedness is missing.
For example, if Alt_R is unmapped as it often is on keyboards
with Mode_switch, the client will use Alt_L if it is mapped
when told to synthesize Alt_R.  This should fix handling of
AltGr sent from a win32 server.  AltGr is literally just
Control_L and Alt_R and, previously, an X11 client without
Alt_R mapped would only simulate Control_L.  This does not
address the fact that the user may really just want the Alt
modifier;  there are already hueristics to attempt to figure
that out.

----------
2004/10/30 16:16:32 crs
configure.in
lib/platform/CXWindowsScreenSaver.cpp

Improved X extension detection in configure and added handling
of dpms.h headers that don't have function prototypes.

----------
2004/10/28 21:40:56 crs
configure.in
lib/arch/CArchNetworkBSD.h
lib/common/stdistream.h
lib/common/stdostream.h
lib/common/stdsstream.h
lib/platform/CXWindowsClipboard.h
lib/platform/CXWindowsEventQueueBuffer.h
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsScreenSaver.h
lib/platform/CXWindowsUtil.h

Fixed bugs in configuration.  Wasn't doing configuration for DPMS
and Xinerama correctly.  Also was using '#if defined(...)' instead
of '#if ...' for testing configure macros in some places.  This
yields the wrong answer if the macro is set to 0, which means
missing/disabled.

----------
2004/10/27 21:46:22 crs
lib/arch/CArchFileUnix.cpp

Fixed use of freed memory.

----------
2004/10/27 21:38:05 crs
lib/platform/CSynergyHook.cpp

Now detaching hook thread after event processing.  This may fix
problems with the Alt key being synthetically down when using
the back and forward bindings on a mouse with extra buttons.

----------
2004/10/27 21:29:19 crs
lib/platform/CSynergyHook.cpp

Fixed bug in mouse wheel handling.  Was reacting with mouse wheel
events when receiving any event with message == 0 when the system
doesn't use old style mouse wheel events.  Some programs (especially
the flash plugin) would send events with message == 0 causing
undesired wheel scrolling.

----------
2004/10/27 21:22:36 crs
lib/platform/COSXScreen.cpp

Fixed problem with multimonitor on OS X.  The bug was simply that
the cursor wasn't being parked in the center of the main screen
but instead at the center of the total display surface.  This could
place it off or dangerously close to the edge of the transparent
window that covers the main screen and prevent synergy from capturing
mouse motion.

----------
2004/10/24 18:18:21 crs
lib/platform/CXWindowsScreen.cpp

Added eject key mapping.

----------
2004/10/24 18:18:11 crs
lib/platform/CXWindowsUtil.cpp

Fixed comment.

----------
2004/10/24 18:18:01 crs
lib/platform/CXWindowsKeyState.cpp
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h

Fixed dead key and AltGr+shift handling on X windows.  Also fixed
bug with decomposing characters that have no direct key mapping
but do have a direct key mapping for the character with the opposite
case.

----------
2004/10/24 18:15:33 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp

Made OS X key mapping dynamic based on current key layout.  It
now includes full support for dead keys and non-ascii glyph keys.

----------
2004/10/24 18:14:18 crs
lib/synergy/KeyTypes.h

Added eject and sleep key IDs.

----------
2004/10/24 18:12:38 crs
lib/platform/CMSWindowsKeyState.cpp

Added VK_SLEEP.

----------
2004/10/23 19:43:37 crs
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CScreen.cpp

Previous half-duplex fix fixed secondary screens with half
duplex keys but broke primary screens.  This fixes both and
also ensures that the primary screen updates its shadow toggle
modifier state when leaving so the secondary screens get the
correct toggle modifier state.  Together these fix some strange
inconsistencies in toggle state across screens.

----------
2004/10/23 18:40:31 crs
lib/synergy/CKeyState.cpp

Fixed bug in half-duplex keys.  Was updating their toggled state
om every release as well as press.

----------
2004/10/13 20:39:22 crs
doc/configuration.html

Fixed typo in the documentation of configuration options.

----------
2004/09/29 21:59:26 crs
cmd/synergyc/CClientTaskBarReceiver.cpp
cmd/synergyc/CClientTaskBarReceiver.h
cmd/synergys/CServerTaskBarReceiver.cpp
cmd/synergys/CServerTaskBarReceiver.h
configure.in
lib/arch/CArchMultithreadPosix.cpp
lib/base/CEventQueue.cpp
lib/base/CEventQueue.h
lib/base/IEventQueue.h
lib/io/CStreamFilter.cpp
lib/io/CStreamFilter.h
lib/io/IStream.h
lib/net/CTCPSocket.cpp
lib/net/CTCPSocket.h
lib/net/IDataSocket.h
lib/server/CClientListener.cpp
lib/synergy/CPacketStreamFilter.cpp
lib/synergy/CPacketStreamFilter.h

Removed recursive mutexes.  Simplified stream filters as a side
effect.  Removed -D_BSD_SOURCE and -D_XOPEN_SOURCE=500 from
compile since they're not longer necessary.

----------
2004/09/28 22:25:35 crs
lib/server/CConfig.cpp

Now accepting screen names that end in a dot since many OS X
users have misconfigured their systems to have hostnames that
end in a dot.

----------
2004/09/28 22:19:24 crs
dist/nullsoft/installer.mak

Fixed error in win32 installer packaging.

----------
2004/09/28 22:19:11 crs
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
doc/configuration.html
doc/faq.html
lib/server/CConfig.cpp
lib/synergy/CScreen.cpp

Added half-duplex option for scroll lock key.

----------
2004/09/27 21:54:49 crs
lib/platform/CXWindowsScreen.cpp
lib/synergy/IPlatformScreen.h

Fixed compile on gcc 3.4 and later.  gcc started doing access checks
for class visibility on pointers to member function 'using the
qualifying scope of the name itself.'  what this means is if method
'prot' is declared protected in class A and B inherits from A then
a method in B cannot use &A::prot but can use &B::prot.  Synergy
now does this in the one place it had not.

----------
2004/09/27 21:23:47 crs
lib/arch/CArchMultithreadPosix.cpp

Worked around minor gcc 3.3.2 -O3 compiler bug.

----------
2004/09/27 21:04:37 crs
cmd/synergys/synergys.cpp

Server now reports configuration file errors as ERROR level log
messages rather than DEBUG level.  Missing files are still reported
as DEBUG level messages since we expect some to be missing.

----------
2004/09/27 20:53:54 crs
configure.in
lib/common/Version.h

Changed version to 1.1.9.  Changed configure.in to get version
number from lib/common/Version.h so it only has to be changed
there.

----------
2004/08/05 20:42:51 crs
dist/nullsoft/synergy.nsi

Fixed missing license file and PORTING in win32 installer build.

----------
2004/08/04 22:48:30 crs
synergy.xcode/project.pbxproj

Removed cross-compile setting from project.

----------
2004/08/04 22:48:08 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp
lib/synergy/KeyTypes.h

Fixed handling of auto-repeat, ctrl + character key, and button
to KeyCode translation.

----------
2004/08/03 22:02:57 crs
lib/platform/COSXKeyState.cpp

Fixed space key on OS X server -> client.

----------
2004/08/03 21:14:30 crs
lib/arch/CArchMultithreadPosix.cpp

Fixed warnings in deployment build style on OS X.

----------
2004/08/01 17:37:28 crs
doc/faq.html
doc/index.html
doc/running.html

Fixed errors in new docs markup.

----------
2004/08/01 17:37:11 crs
dist/nullsoft/synergy.nsi

Updated win32 installer to use new docs.

----------
2004/08/01 17:36:53 crs
COPYING

Reverted COPYING so win32 installer build can use it.

----------
2004/08/01 16:31:47 crs
Makefile.am
dist/nullsoft/installer.mak
dist/nullsoft/synergy.nsi
dist/rpm/synergy.spec.in

Updated packagers to handle new documentation.

----------
2004/08/01 16:04:21 crs
AUTHORS
COPYING
INSTALL
NEWS

Added files required by automake.  They simply reference the
corresponding HTML file.

----------
2004/08/01 16:00:18 crs
AUTHORS
BUGS
COPYING
FAQ
HISTORY
INSTALL
Makefile.am
NEWS
PORTING
README
TODO
configure.in
doc/Makefile.am
doc/PORTING
doc/authors.html
doc/autostart.html
doc/compiling.html
doc/configuration.html
doc/developer.html
doc/faq.html
doc/history.html
doc/index.html
doc/license.html
doc/news.html
doc/running.html
doc/security.html
doc/synergy.css
doc/tips.html
doc/todo.html

Updated documentation.  Converted most documation to HTML.

----------
2004/07/31 14:34:02 crs
INSTALL
PORTING
README
TODO

Documentation changes.

----------
2004/07/31 11:19:39 crs
acinclude.m4
lib/arch/CArchNetworkBSD.cpp
lib/platform/CXWindowsEventQueueBuffer.cpp

Now using <poll.h> instead of <sys/poll.h>.  Also added a bit
to autoconf to ensure we don't use poll on OS X.

----------
2004/07/29 22:11:27 crs
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h

Fixed handling of modifier keys on OS X.  Also made OS X client
ignore small mouse wheel events (which seem to get sent by some
win32 systems).  Other platforms were already ignoring them.

----------
2004/07/29 22:09:28 crs
cmd/synergys/synergys.cpp

Worked around bug in ifstream::operator!() on OS X.

----------
2004/07/29 21:59:26 crs
lib/platform/CSynergyHook.cpp

Fixed handling of ctrl and alt keys when using low level hooks.
They were being discarded so the server wouldn't correctly send
ctrl, alt, or AltGr to clients.

----------
2004/07/29 21:57:42 crs
lib/platform/CMSWindowsScreenSaver.cpp

Added comment about a problem detecting the screen saver.

----------
2004/07/29 21:53:30 crs
lib/platform/CMSWindowsKeyState.cpp

Worked around bogus key mapping on 95/98/me where multiple virtual
keys are mapped to the same button.  For example, the backslash
virtual key shares a button with some other virtual key on british
english key mappings.  Synergy could end up using the wrong virtual
key.  In the given case, the other virtual key produced no character
at all.  To determine which virtual key should really be mapped to
a button we map the button back to a virtual key and see if it's the
virtual key we started with.

Also fixed mapping of pause key.  Previously, windows+pause sent to
a win32 client wouldn't bring up system properties like it should.

----------
2004/07/29 21:50:17 crs
lib/platform/CMSWindowsDesks.cpp

Synergy now steals window activation when using low level hooks
and a console window is the active window.  This is to work around
console windows preventing the hook from detecting the shift key.

----------
2004/07/29 21:48:40 crs
lib/net/CTCPSocket.cpp

Worked around bug/weirdness on OS X.  It's reporting that a
non-blocking connect is available for writing (i.e. the connection
was successful) when the connection has actually failed.  This
caused synergy to rapidly retry connecting.  This change makes
synergy check for a connection error whether one was reported or
not.  Thankfully, OS X does correctly set the socket error state
when it bogusly reports a successful connection so we can tell the
connection failed.

----------
2004/07/28 21:54:39 crs
lib/net/CTCPSocket.cpp

Added workaround for apparent bug in OS X 10.3.4.  If you started
a synergy client on that OS and pointed it at a system that wasn't
listening for connections then instead of the connection attempt
failing with 'connection refused' the system would claim the
connection succeeded.  A subsequent read would reveal the problem
and synergy would "disconnect" and retry, causing the CPU to spin.
The system does correctly set the socket error state so this
workaround checks for socket errors when connecting whether or not
select reports an error state.

Also, sometimes the system doesn't claim success but doesn't report
an error.  Synergy eventually times out these attempts.

----------
2004/07/25 14:18:50 crs
configure.in
lib/common/Version.h

Changed version to 1.1.8.

----------
2004/06/22 21:11:14 crs
lib/platform/CXWindowsScreen.cpp

Disable key event capture on X11.  This was going to be used to
detect synergy hotkeys but a design flaw in X11 makes it problematic
with many applications.  We'll have to fall back to the more
traditional XGrabKey when the time comes.

----------
2004/06/16 21:07:48 crs
synergy.xcode/project.pbxproj

Added NDEBUG to and removed debugging symbols from XCode deployment
project.

----------
2004/06/13 17:11:19 crs
ChangeLog
NEWS

Updated documentation.

----------
2004/06/12 20:48:04 crs
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CMSWindowsScreenSaver.h

(Maybe) fixed a problem detecting when win32 screen saver started.

----------
2004/06/12 20:46:35 crs
lib/arch/CMultibyte.cpp

Fixed bug in converting wide characters to multibyte.

----------
2004/06/10 21:25:09 crs
lib/client/CClient.cpp

Fixed assertion failure when client connection fails immediately.

----------
2004/06/10 19:56:35 crs
lib/arch/CArchNetworkBSD.cpp

Changed O_NDELAY to O_NONBLOCK.  On some versions of Unix, read
return 0 when O_NDELAY is set and there is nothing to read.  We
want the O_NONBLOCK behavior where read returns -1 and sets
errno to EAGAIN when there is nothing to read.

----------
2004/06/10 19:42:01 crs
lib/common/Makefile.am

Added OS X precompiled header file for XCode compiles.

----------
2004/06/10 19:39:07 crs
cmd/launcher/CAutoStart.cpp

Removed dependency of service on Browser.  Browser isn't always
available and, if it's not, synergy won't start.  Users may have
to use an IP server address instead of a hostname since the
service may start before the service that resolves hostnames.
If I knew what that service was I'd depend on it instead.

----------
2004/06/10 19:32:40 crs
configure.in
lib/common/Version.h

Changed version to 1.1.7.

----------
2004/06/07 21:06:49 crs
lib/platform/CXWindowsEventQueueBuffer.cpp

Failed to reset flag in X11 event queue buffer and that could cause
multiple threads to access the X display connection simultaneously
which causes synergy to die.

----------
2004/05/26 19:23:32 crs
lib/common/MacOSXPrecomp.h
lib/common/common.h
lib/platform/COSXClipboardTextConverter.cpp
lib/platform/COSXClipboardTextConverter.h
lib/platform/COSXEventQueueBuffer.cpp
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
synergy.xcode/project.pbxproj

Merged Bertrand's OS X changes.  Also added support for mouse wheel
on OS X server.

----------
2004/05/18 20:32:13 crs
lib/platform/CMSWindowsScreen.cpp

If the server manages to detect ctrl+alt+del it will no longer send
that to the client.  If it did then the user could see the effect of
ctrl+alt+del on both the server and client which we never want.  The
user can use ctrl+alt+pause to emulate ctrl+alt+del on the client.

----------
2004/05/18 20:26:48 crs
lib/platform/CXWindowsEventQueueBuffer.cpp
lib/platform/CXWindowsEventQueueBuffer.h

Fixed bug that could allow multiple threads to simultaneously access
the X11 display connection.  The only problematic method was
CXWindowsEventQueueBuffer::addEvent given that the other event queue
methods are only called from the main thread.

----------
2004/05/17 21:55:55 crs
cmd/synergyc/synergyc.cpp

Fixed logging of connection to server.  Was DEBUG now NOTE.

----------
2004/05/17 21:55:38 crs
lib/platform/CMSWindowsKeyState.cpp

Fixed ctrl+alt+del emulation on win32 server.  It was mapping
VK_DELETE to the keypad delete key.  This key is not interpreted
on the client as causing ctrl+alt+del.

----------
2004/05/16 18:04:36 crs
lib/client/CServerProxy.cpp
lib/server/CClientProxy1_0.cpp
lib/synergy/ProtocolTypes.h

Fixed handling of screen resolution changes.

----------
2004/05/16 18:03:36 crs
cmd/launcher/CAutoStart.cpp

Changed (win NT) service to depend on the 'Browser' service to
ensure correct startup order.

----------
2004/05/16 18:02:49 crs
all.dsp
cmd/exec.dsp
cmd/launcher/launcher.dsp
cmd/synergyc/synergyc.dsp
cmd/synergys/synergys.dsp
dist/nullsoft/installer.dsp
dist/nullsoft/synergy.nsi
lib/arch/arch.dsp
lib/base/base.dsp
lib/client/client.dsp
lib/common/common.dsp
lib/io/io.dsp
lib/mt/mt.dsp
lib/net/net.dsp
lib/platform/makehook.dsp
lib/platform/platform.dsp
lib/platform/synrgyhk.dsp
lib/server/server.dsp
lib/synergy/libsynergy.dsp

Changed VC++ projects to put release targets in ./build, debug
targets in ./debug, and intermediate files under ./gen.

----------
2004/05/15 19:44:05 crs
configure.in
lib/common/Version.h

Changed version to 1.1.6.

----------
2004/05/15 19:43:33 crs
lib/platform/CMSWindowsScreen.cpp

Avoided duplicate logging of screen size on win32.

----------
2004/05/15 19:41:46 crs
Makefile.am
configure.in
lib/common/common.h
lib/platform/COSXClipboard.cpp
lib/platform/COSXClipboard.h
lib/platform/COSXClipboardAnyTextConverter.cpp
lib/platform/COSXClipboardAnyTextConverter.h
lib/platform/COSXClipboardTextConverter.cpp
lib/platform/COSXClipboardTextConverter.h
lib/platform/COSXClipboardUTF16Converter.cpp
lib/platform/COSXClipboardUTF16Converter.h
lib/platform/COSXEventQueueBuffer.cpp
lib/platform/COSXEventQueueBuffer.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/platform/Makefile.am
synergy.xcode/project.pbxproj

Added bertrand landry hetu's mac OS X port to date.

----------
2004/05/12 20:28:00 crs
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h

Now restoring input focus when entering the screen to the window
that had the focus when the screen was left.

----------
2004/05/12 19:50:58 crs
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkWinsock.cpp

Fixed thread reference leak in network code.

----------
2004/05/12 19:12:28 crs
configure.in

Added configure option to enable debug builds.  If not enabled then
asserts are disabled.

----------
2004/05/12 18:54:03 crs
lib/platform/CXWindowsClipboardBMPConverter.cpp

Fixed build error in gcc 3.3.

----------
2004/05/26 19:23:32 crs
lib/common/MacOSXPrecomp.h
lib/common/common.h
lib/platform/COSXClipboardTextConverter.cpp
lib/platform/COSXClipboardTextConverter.h
lib/platform/COSXEventQueueBuffer.cpp
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
synergy.xcode/project.pbxproj

Merged Bertrand's OS X changes.  Also added support for mouse wheel
on OS X server.

----------
2004/05/18 20:32:13 crs
lib/platform/CMSWindowsScreen.cpp

If the server manages to detect ctrl+alt+del it will no longer send
that to the client.  If it did then the user could see the effect of
ctrl+alt+del on both the server and client which we never want.  The
user can use ctrl+alt+pause to emulate ctrl+alt+del on the client.

----------
2004/05/18 20:26:48 crs
lib/platform/CXWindowsEventQueueBuffer.cpp
lib/platform/CXWindowsEventQueueBuffer.h

Fixed bug that could allow multiple threads to simultaneously access
the X11 display connection.  The only problematic method was
CXWindowsEventQueueBuffer::addEvent given that the other event queue
methods are only called from the main thread.

----------
2004/05/17 21:55:55 crs
cmd/synergyc/synergyc.cpp

Fixed logging of connection to server.  Was DEBUG now NOTE.

----------
2004/05/17 21:55:38 crs
lib/platform/CMSWindowsKeyState.cpp

Fixed ctrl+alt+del emulation on win32 server.  It was mapping
VK_DELETE to the keypad delete key.  This key is not interpreted
on the client as causing ctrl+alt+del.

----------
2004/05/16 18:04:36 crs
lib/client/CServerProxy.cpp
lib/server/CClientProxy1_0.cpp
lib/synergy/ProtocolTypes.h

Fixed handling of screen resolution changes.

----------
2004/05/16 18:03:36 crs
cmd/launcher/CAutoStart.cpp

Changed (win NT) service to depend on the 'Browser' service to
ensure correct startup order.

----------
2004/05/16 18:02:49 crs
all.dsp
cmd/exec.dsp
cmd/launcher/launcher.dsp
cmd/synergyc/synergyc.dsp
cmd/synergys/synergys.dsp
dist/nullsoft/installer.dsp
dist/nullsoft/synergy.nsi
lib/arch/arch.dsp
lib/base/base.dsp
lib/client/client.dsp
lib/common/common.dsp
lib/io/io.dsp
lib/mt/mt.dsp
lib/net/net.dsp
lib/platform/makehook.dsp
lib/platform/platform.dsp
lib/platform/synrgyhk.dsp
lib/server/server.dsp
lib/synergy/libsynergy.dsp

Changed VC++ projects to put release targets in ./build, debug
targets in ./debug, and intermediate files under ./gen.

----------
2004/05/15 19:44:05 crs
configure.in
lib/common/Version.h

Changed version to 1.1.6.

----------
2004/05/15 19:43:33 crs
lib/platform/CMSWindowsScreen.cpp

Avoided duplicate logging of screen size on win32.

----------
2004/05/15 19:41:46 crs
Makefile.am
configure.in
lib/common/common.h
lib/platform/COSXClipboard.cpp
lib/platform/COSXClipboard.h
lib/platform/COSXClipboardAnyTextConverter.cpp
lib/platform/COSXClipboardAnyTextConverter.h
lib/platform/COSXClipboardTextConverter.cpp
lib/platform/COSXClipboardTextConverter.h
lib/platform/COSXClipboardUTF16Converter.cpp
lib/platform/COSXClipboardUTF16Converter.h
lib/platform/COSXEventQueueBuffer.cpp
lib/platform/COSXEventQueueBuffer.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/platform/Makefile.am
synergy.xcode/project.pbxproj

Added bertrand landry hetu's mac OS X port to date.

----------
2004/05/12 20:28:00 crs
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h

Now restoring input focus when entering the screen to the window
that had the focus when the screen was left.

----------
2004/05/12 19:50:58 crs
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkWinsock.cpp

Fixed thread reference leak in network code.

----------
2004/05/12 19:12:28 crs
configure.in

Added configure option to enable debug builds.  If not enabled then
asserts are disabled.

----------
2004/05/12 18:54:03 crs
lib/platform/CXWindowsClipboardBMPConverter.cpp

Fixed build error in gcc 3.3.

----------
2004/05/04 20:45:06 crs
cmd/launcher/CGlobalOptions.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h

Added GUI for relative mouse moves option on win32.

----------
2004/05/04 19:44:51 crs
configure.in

Configured default mac to build for X windows instead of the incomplete
carbon implementation.

----------
2004/05/04 19:37:46 crs
lib/net/CTCPSocket.cpp

Fixed bug in TCP socket that caused a busy loop in the socket
multiplexer.  That caused a lock up on windows when quitting
the server with a client connected.

----------
2004/05/03 21:14:01 crs
lib/platform/CXWindowsClipboardAnyBitmapConverter.cpp
lib/platform/CXWindowsClipboardBMPConverter.cpp

Fixed X11 BMP and other bitmap conversion.  Had data alignment
problems.

----------
2004/05/02 21:31:19 crs
lib/base/CUnicode.cpp
lib/platform/CXWindowsClipboard.cpp
lib/platform/CXWindowsClipboardAnyBitmapConverter.cpp
lib/platform/CXWindowsClipboardAnyBitmapConverter.h
lib/platform/CXWindowsClipboardBMPConverter.cpp
lib/platform/CXWindowsClipboardBMPConverter.h
lib/platform/CXWindowsClipboardHTMLConverter.cpp
lib/platform/CXWindowsClipboardHTMLConverter.h
lib/platform/Makefile.am
lib/synergy/IClipboard.h

Added image/bmp and text/html support to X11.

----------
2004/05/02 16:13:11 crs
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h

Relative mouse motion for OS X.

----------
2004/05/02 16:06:04 crs
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h

Used MouseKeys accessibility function to show the mouse cursor
on a secondary screen when there's no physical mouse attached to
the system.  Kinda flaky when a mouse is attached or detached but
seems to work well enough when the device is not attached to start
with and not attached while running synergy.

----------
2004/05/02 16:01:59 crs
cmd/launcher/CAutoStart.cpp
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchDaemonNone.cpp
lib/arch/CArchDaemonNone.h
lib/arch/CArchDaemonWindows.cpp
lib/arch/CArchDaemonWindows.h
lib/arch/IArchDaemon.h

Added support for daemon startup dependencies.  Made synergy
dependent on NetBT, which I hope is right.

----------
2004/05/02 16:00:45 crs
lib/synergy/IClipboard.h

Fixed comment about canonical bitmap clipboard format.

----------
2004/05/02 08:04:48 crs
lib/platform/CMSWindowsClipboard.cpp
lib/platform/CMSWindowsClipboardBitmapConverter.cpp
lib/platform/CMSWindowsClipboardBitmapConverter.h
lib/platform/CMSWindowsClipboardHTMLConverter.cpp
lib/platform/CMSWindowsClipboardHTMLConverter.h
lib/platform/platform.dsp
lib/server/server.dsp
lib/synergy/IClipboard.h

Added win32 clipboard support for images and HTML.  Still need X11
support.

----------
2004/05/02 08:04:15 crs
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h

Added relative mouse move support to win32.

----------
2004/05/02 08:03:49 crs
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h

Forgot to change the client to handle relative moves.

----------
2004/05/01 16:10:09 crs
lib/platform/CXWindowsClipboard.cpp
lib/platform/CXWindowsUtil.cpp
lib/platform/CXWindowsUtil.h

X11 clipboard logging now also prints atom names, not just numbers.

----------
2004/05/01 15:19:53 crs
lib/server/CClientProxy1_2.cpp
lib/server/CClientProxy1_2.h

Added files forgotten in previous checkin.

----------
2004/05/01 15:18:59 crs
lib/client/CClient.cpp
lib/client/CClient.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CClientProxyUnknown.cpp
lib/server/CConfig.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/Makefile.am
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IClient.h
lib/synergy/IPlatformScreen.h
lib/synergy/ISecondaryScreen.h
lib/synergy/OptionTypes.h
lib/synergy/ProtocolTypes.h

Added support for a global relative mouse motion option.  When true
and on a secondary screen and locked to the screen (via scroll lock)
mouse motion is sent as motion deltas.  When true and scroll lock
is toggled off the mouse is warped to the secondary screen's center
so the server knows where it is.  This option is intended to support
games and other programs that repeatedly warp the mouse to the center
of the screen.  This change adds general and X11 support but not
win32.  The option name is "relativeMouseMoves".

----------
2004/05/01 12:11:28 crs
configure.in
lib/arch/CArchNetworkBSD.cpp
lib/common/common.h

Better fixes for compiling on FreeBSD and OpenBSD.

----------
2004/05/01 11:01:40 crs
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h
lib/common/common.h

Fixes for FreeBSD.

----------
2004/05/01 10:12:06 crs
acinclude.m4
configure.in
lib/arch/CArchNetworkBSD.cpp
lib/platform/CXWindowsScreenSaver.cpp

Fixes to compile on solaris 9 using g++.

----------
2004/05/01 08:56:24 crs
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h

Fixed regression where cursor wasn't locked to screen when a mouse
button is down on win32.

----------
2004/05/01 08:54:42 crs
lib/arch/CMultibyte.cpp

Fixed type cast warnings.

----------
2004/04/13 19:39:04 crs
configure.in
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchStringUnix.cpp
lib/arch/CArchStringUnix.h
lib/arch/CArchStringWindows.cpp
lib/arch/CArchStringWindows.h
lib/arch/CMultibyte.cpp
lib/arch/CMultibyteEmu.cpp
lib/arch/CMultibyteOS.cpp
lib/arch/IArchString.h
lib/arch/Makefile.am
lib/arch/arch.dsp
lib/base/CUnicode.cpp

Removed use of mbrtowc, wcrtomb, and mbsinit.  Many platforms
didn't support them and the emulated versions were just as good
except for a performance problem with excessive locking and
unlocking of a mutex.  So this also changes IArchString to
provide string rather than character conversion so we can lock
the mutex once per string rather than once per character.

----------
2004/04/11 20:01:18 crs
cmd/launcher/Makefile.am

Oops, broke build in launcher on non-win32 platforms.

----------
2004/04/11 19:43:16 crs
cmd/launcher/Makefile.am
lib/platform/Makefile.am

More changes for MSYS/MinGW builds.  Added makefile for launcher.
Still need hook library and resource compiling.

----------
2004/04/11 19:15:09 crs
cmd/launcher/launcher.rc
cmd/synergyc/synergyc.rc
cmd/synergys/synergys.cpp
cmd/synergys/synergys.rc
configure.in
lib/arch/CArchDaemonWindows.cpp
lib/arch/CArchMultithreadWindows.cpp
lib/arch/CArchNetworkWinsock.cpp
lib/arch/CArchStringWindows.cpp
lib/arch/CArchTaskBarWindows.cpp
lib/arch/CMultibyte.cpp
lib/arch/XArchWindows.cpp
lib/arch/arch.dsp
lib/common/common.h
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CSynergyHook.cpp
lib/synergy/CProtocolUtil.cpp

Preliminary support for MSYS/MinGW builds.  Doesn't yet build
CSynergyHook as a DLL and does not compile or link in the
resources for the binaries.

----------
2004/04/11 14:58:08 crs
PORTING
cmd/synergyc/COSXClientTaskBarReceiver.cpp
cmd/synergyc/COSXClientTaskBarReceiver.h
cmd/synergyc/Makefile.am
cmd/synergyc/synergyc.cpp
cmd/synergys/COSXServerTaskBarReceiver.cpp
cmd/synergys/COSXServerTaskBarReceiver.h
cmd/synergys/Makefile.am
cmd/synergys/synergys.cpp
configure.in
lib/arch/CArch.cpp
lib/arch/CArchDaemonUnix.cpp
lib/arch/CArchFileUnix.cpp
lib/arch/CArchImpl.cpp
lib/arch/CArchNetworkBSD.cpp
lib/arch/CMultibyte.cpp
lib/arch/CMultibyteOS.cpp
lib/arch/Makefile.am
lib/arch/vsnprintf.cpp
lib/base/CPriorityQueue.h
lib/common/BasicTypes.h
lib/common/common.h
lib/platform/COSXClipboard.cpp
lib/platform/COSXClipboard.h
lib/platform/COSXEventQueueBuffer.cpp
lib/platform/COSXEventQueueBuffer.h
lib/platform/COSXKeyState.cpp
lib/platform/COSXKeyState.h
lib/platform/COSXScreen.cpp
lib/platform/COSXScreen.h
lib/platform/COSXScreenSaver.cpp
lib/platform/COSXScreenSaver.h
lib/platform/CSynergyHook.h
lib/platform/CXWindowsEventQueueBuffer.cpp
lib/platform/CXWindowsScreen.cpp
lib/platform/Makefile.am

Updates to support OS X.  This improves support for building on
multiple systems with automake, with X Windows and Carbon window
system APIs supported.  It's also a starting port for supporting
win32 builds using mingw.  OS X support is incomplete;  the tree
will compile and link but the binaries will not function.

----------
2004/04/06 22:09:38 crs
lib/arch/CArchMultithreadPosix.cpp

Added missing initialization of mutex attribute call.

----------
2004/04/05 21:23:44 crs
lib/server/CServer.cpp

Fixed bug in handling rejection of screen with name that's already
in use.  The client was being correctly rejected but the already
connected client was being forcefully disconnected too because the
client to disconnect was found by looking up the client by name.
We now instead look up the client by IClient*.

----------
2004/04/05 21:10:06 crs
lib/platform/CSynergyHook.cpp
lib/server/CServer.cpp
lib/server/CServer.h

Added workaround for win32 low-level mouse hook position weirdness.
The low-level hook can report mouse positions outside the boundaries
of the screen and bogus retrograde motion.  This messes up switch on
double tap.  This change attempts to detect and suppress the bogus
events.

----------
2004/04/05 21:08:49 crs
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h

Made hook debug logging print at DEBUG1 rather than INFO level.

----------
2004/04/04 12:12:32 crs
Makefile.am
cmd/Makefile.am
cmd/launcher/Makefile.am
cmd/synergyc/Makefile.am
cmd/synergys/Makefile.am
dist/Makefile.am
dist/nullsoft/Makefile.am
dist/rpm/Makefile.am
lib/Makefile.am
lib/arch/Makefile.am
lib/base/Makefile.am
lib/client/Makefile.am
lib/common/Makefile.am
lib/io/Makefile.am
lib/mt/Makefile.am
lib/net/Makefile.am
lib/platform/Makefile.am
lib/server/Makefile.am
lib/synergy/Makefile.am

Removed DEPTH, VDEPTH, and VPATH from makefiles.

----------
2004/04/04 12:12:30 crs
configure.in
lib/common/Version.h

Changed version to 1.1.5.

----------
2004/03/31 22:30:49 crs
dist/nullsoft/synergy.nsi

Minor win32 installer tweaks.

----------
2004/03/31 22:15:13 crs
lib/arch/CArchTaskBarWindows.cpp
lib/arch/CArchTaskBarWindows.h
lib/arch/IArchTaskBar.h

Reverted task bar code to 1.0.15 version.  That used a window in
its own thread for handling messages.  It seems to fix most of
the task bar bugs but there's still an hourglass cursor on NT
when using the popup menu.

----------
2004/03/31 22:14:15 crs
lib/arch/CArchNetworkWinsock.cpp

Fixed lookup of hosts by name on win32.

----------
2004/03/31 22:14:01 crs
cmd/launcher/launcher.rc

Make screen drop down lists longer in the launcher.  They're now
long enough for the scroll bar to show up properly (with the
thumb) and they have enough space for 6 screens without needing
the scroll bar.

----------
2004/03/31 22:12:53 crs
lib/server/CServer.cpp

Fixed failure to initialize double tap and wait to switch timeouts.

----------
2004/03/30 18:55:58 crs
lib/synergy/CKeyState.cpp

Fixed crash bug in CKeyState.  Would deference bogus pointer in
isModifierActive if there's an unmapped toggle modifier.

----------
2004/03/30 18:54:56 crs
configure.in
lib/common/Version.h

Changed version to 1.1.4.  This time changing the version before
making any other changes.

----------
2004/03/28 14:53:01 crs
lib/platform/CXWindowsKeyState.cpp

Added ISO_Level3_Shift as a synonym for Mode_switch.  I've no idea
if this will work as hoped but I've seen documentation that XFree
4.3 uses ISO_Level3_Shift rather than Mode_switch.

----------
2004/03/28 14:07:58 crs
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/CSynergyHook.h
lib/synergy/CKeyState.h

Fixed keyboard handling on windows 95 family.

----------
2004/03/28 14:07:37 crs
lib/platform/Makefile.am

Updated makefile to reflect renaming of platform files for win32.

----------
2004/03/28 14:06:40 crs
lib/platform/CMSWindowsScreenSaver.cpp

Fixed windows 95 family screen saver stuff.

----------
2004/03/28 14:05:52 crs
lib/client/CServerProxy.cpp

Changed debug logging of key IDs to use hex.

----------
2004/03/28 14:05:31 crs
cmd/launcher/CAutoStart.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
lib/arch/CArchDaemonWindows.cpp

Fixed bugs in installing per-user startup programs on windows 95
family.

----------
2004/03/26 20:59:26 crs
lib/platform/CMSWindowsDesks.cpp
lib/platform/CMSWindowsDesks.h
lib/platform/CMSWindowsDesktop.cpp
lib/platform/CMSWindowsDesktop.h
lib/platform/CMSWindowsKeyMapper.cpp
lib/platform/CMSWindowsKeyMapper.h
lib/platform/CMSWindowsKeyState.cpp
lib/platform/CMSWindowsKeyState.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/platform/platform.dsp
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.cpp
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/IKeyState.h
lib/synergy/IPlatformScreen.h
lib/synergy/ISecondaryScreen.h
lib/synergy/libsynergy.dsp

Converted win32 to new keyboard state tracking design.  Also
changed locking to screen so that keys no longer count (only
mouse buttons and scroll lock toggled on).  This is to deal
with the unreliability of key event reporting which can leave
us locked to a screen with no key physically pressed.  The
result of this is that clients get key repeats and releases
without the corresponding key press.  CKeyState handles this
by discarding repeat/release events on keys it hasn't seen go
down.  Also made a few other minor fixes to win32 keyboard
handling.

----------
2004/03/26 20:59:21 crs
lib/arch/CArchMiscWindows.cpp

Fixed handling of reading strings from the registry.  This was
broken when support for binary data was added.  The terminating
NUL was included in the string as a character (that's in addition
to the terminating NUL added by std::string).

----------
2004/03/21 20:01:41 crs
lib/client/CClient.cpp
lib/platform/CXWindowsKeyMapper.cpp
lib/platform/CXWindowsKeyMapper.h
lib/platform/CXWindowsKeyState.cpp
lib/platform/CXWindowsKeyState.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/platform/Makefile.am
lib/server/CPrimaryClient.cpp
lib/synergy/CKeyState.cpp
lib/synergy/CKeyState.h
lib/synergy/CPlatformScreen.cpp
lib/synergy/CPlatformScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IKeyState.cpp
lib/synergy/IKeyState.h
lib/synergy/IPlatformScreen.h
lib/synergy/IPrimaryScreen.cpp
lib/synergy/IPrimaryScreen.h
lib/synergy/ISecondaryScreen.h
lib/synergy/Makefile.am

Checkpoint.  Converted X11 to new keyboard state tracking design.
This new design is simpler.  For keyboard support, clients need only
implement 4 virtual methods on a class derived from CKeyState and
one trivial method in the class derived from CPlatformScreen, which
is now the superclass of platform screens instead of IPlatformScreen.
Keyboard methods have been removed from IPlatformScreen, IPrimaryScreen
and ISecondaryScreen.  Also, all keyboard state tracking is now in
exactly one place (the CKeyState subclass) rather than in CScreen,
the platform screen, and the key mapper.  Still need to convert Win32.

----------
2004/03/17 20:59:25 crs
lib/platform/CMSWindowsKeyMapper.cpp
lib/platform/CMSWindowsKeyMapper.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IKeyState.h
lib/synergy/libsynergy.dsp

Updated keyboard handling on win32.  Still needs some work to
avoid shadowing key state in multiple places.  Also got locked
to screen and reported key appeared to be wrong.

----------
2004/03/14 17:55:53 crs
lib/platform/CXWindowsKeyMapper.cpp
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IKeyState.h
lib/synergy/IPlatformScreen.cpp
lib/synergy/IPlatformScreen.h
lib/synergy/IPrimaryScreen.cpp
lib/synergy/IPrimaryScreen.h
lib/synergy/Makefile.am

Changed how key state is tracked on X11.  Now updating key state
on every key press and release so we don't have to updateKeys()
in isLockedToScreen().  However, if any key appears to be down
we still call updateKeys() to double check that it's really down.
If not we note the spurious lock and don't lock to the screen.

----------
2004/03/14 17:50:37 crs
lib/io/IStream.h

Fixed doxygen formatting error.

----------
2004/03/13 19:01:27 crs
lib/platform/CMSWindowsScreen.cpp

Improved handling of active window on win32.  Synergy no longer
takes activation so the previously active window doesn't pop to
the top of the window stack when it regains activation.  One
drawback of this is that the mouse cursor isn't shown when
a window (other than synergy's) is activated.  However, synergy
does detect mouse motion as before and shows the cursor when it
sees any.

----------
2004/03/13 18:58:20 crs
lib/platform/CMSWindowsScreen.h

Fixed error in previous submit.

----------
2004/03/13 17:16:24 crs
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h

Fixed handling of handshake complete.  Was posting an event for it
but making direct calls for other messages from the server.  This
could cause messages to be handled out of order.  Now making a
direct call for handshake complete.

----------
2004/03/13 17:14:32 crs
lib/platform/CMSWindowsEventQueueBuffer.cpp

Fixed win32 taskbar icon event handling.  Wasn't responding to
messages sent via SendMessage (rather than PostMessage).

----------
2004/03/13 17:13:55 crs
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CMSWindowsScreenSaver.h

Added win32 support for power management.

----------
2004/03/10 22:03:01 crs
configure.in
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsScreenSaver.h

Added support for DPMS in X11 screen saver.  DPMS is the extension
that allows you to power down the display.  Previously, synergy
would not power on the display if DPMS was enabled and activated
and xscreensaver was not running.  It also wouldn't disable DPMS
so the display would power down normally on a synergy client if
there was no input activity.

----------
2004/03/10 20:35:03 crs
acinclude.m4
lib/arch/CArchNetworkBSD.cpp

Added check for inet_aton and a simple implementation for platforms
that are missing it.

----------
2004/03/08 21:18:36 crs
configure.in
lib/platform/CXWindowsKeyMapper.cpp

Removed dependency on X11/XF86keysym.h.  There are several versions
of that file in existance, not all of which have all the symbols we
require and none of which provide any convenient means of telling
what groups of symbols they define.

----------
2004/03/08 20:53:32 crs
lib/platform/CMSWindowsKeyMapper.cpp
lib/platform/CMSWindowsKeyMapper.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CSynergyHook.cpp
lib/server/CServer.cpp

Win32 fixes.  Fixed slightly off cursor positioning when using
absolute mouse_event().  Improved keyboard handling:  now using
keyboard layout of last foreground window when leaving server
so users can meaningfully choose the locale, moved dead key
handling into hook library so there should be no more race
conditions involving the keyboard dead key buffer, simplified
keyboard and cursor handling by using a full screen transparent
window when not using low level hooks, fixed error in restoring
buffered dead key when checking for dead keys.  This hopefully
fixes all known keyboard bugs on win32.

----------
2004/03/08 20:45:53 crs
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h

Typecasting fix to compile on old solaris.

----------
2004/03/06 16:20:08 crs
lib/platform/CXWindowsScreen.cpp
lib/server/CServer.cpp

Server now disables jump zones when scroll lock is active.

----------
2004/02/29 21:34:30 crs
lib/platform/CMSWindowsEventQueueBuffer.cpp

Fixed processing of events.  Was waking up on a sent (rather than
posted) message but then blocking in GetMessage() which handles
the sent message directly.  No longer blocking on sent messages.

----------
2004/02/29 21:33:20 crs
lib/arch/CArchNetworkWinsock.cpp

Fixed handling of winsock connect event.  Was always immediately
indicating socket had connected.

----------
2004/02/29 21:32:00 crs
lib/platform/CMSWindowsScreen.cpp

Fixed cursor hiding on win32.  Still fails occassionally.

----------
2004/02/29 21:31:24 crs
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
cmd/synergys/synergys.rc

Added reload configuration menu item to win32 task bar.

----------
2004/02/29 17:36:32 crs
lib/arch/IArchMultithread.h

Fixed comment.

----------
2004/02/29 17:29:01 crs
lib/arch/CArchMultithreadWindows.h

Switched to doxygen comments.

----------
2004/02/29 17:28:51 crs
lib/client/CClient.cpp
lib/client/CClient.h
lib/server/CClientProxy.cpp
lib/server/CClientProxy.h
lib/server/CServer.cpp
lib/synergy/IScreen.cpp
lib/synergy/IScreen.h

Moved clipboard changed event to CClientProxy because only it
and CServer use it.  CServerProxy instead makes a direct call
to CClient, like it does for most other messages.

----------
2004/02/29 16:48:22 crs
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h

Fixed BSD unblockPollSocket().  Was signaling to break out of
poll() but there was a race condition where the thread trying
to unblock poll() could send the signal before the polling
thread had entered poll().  Now using a pipe and polling on
that and the client's sockets, and just writing a byte into
the pipe to unblock poll.  This persists until the next call
to poll() so we might force poll() to return once unnecessarily
but that's not a problem.  This change makes the BSD code
similar to the winsock code, which uses a winsock event instead
of a pipe.

----------
2004/02/29 16:11:17 crs
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h
lib/arch/CArchNetworkWinsock.cpp
lib/arch/CArchNetworkWinsock.h
lib/arch/IArchNetwork.h
lib/arch/XArch.h
lib/net/CTCPListenSocket.cpp
lib/net/CTCPSocket.cpp

Made all arch sockets non-blocking.

----------
2004/02/28 17:51:55 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Enabled running at high priority on windows.

----------
2004/02/28 17:49:29 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchConsoleWindows.cpp
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchMultithreadWindows.cpp
lib/arch/CArchMultithreadWindows.h
lib/arch/IArchMultithread.h
lib/base/CEventQueue.cpp

Generalized signal handling.  Now handling SIGHUP in addition
to SIGINT and SIGTERM.  Setup SIGHUP to reload the server's
configuration.

----------
2004/02/28 16:06:00 crs
lib/base/CLog.cpp

Fixed incorrect accumulation of newlines in log.

----------
2004/02/28 16:00:54 crs
lib/client/CServerProxy.cpp

Now using first set options message as end of handshake.

----------
2004/02/28 12:30:52 crs
lib/platform/CMSWindowsUtil.cpp
lib/platform/CMSWindowsUtil.h

Added missing files.

----------
2004/02/28 12:24:47 crs
lib/common/Version.cpp

Added missing file.

----------
2004/02/28 12:19:49 crs
acinclude.m4
cmd/launcher/LaunchUtil.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp
cmd/synergyc/CMSWindowsClientTaskBarReceiver.h
cmd/synergyc/CXWindowsClientTaskBarReceiver.cpp
cmd/synergyc/CXWindowsClientTaskBarReceiver.h
cmd/synergyc/Makefile.am
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.rc
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
cmd/synergys/CMSWindowsServerTaskBarReceiver.h
cmd/synergys/CXWindowsServerTaskBarReceiver.cpp
cmd/synergys/CXWindowsServerTaskBarReceiver.h
cmd/synergys/Makefile.am
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
cmd/synergys/synergys.rc
configure.in
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchConsoleWindows.cpp
lib/arch/CArchDaemonWindows.cpp
lib/arch/CArchDaemonWindows.h
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchMultithreadWindows.cpp
lib/arch/CArchMultithreadWindows.h
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h
lib/arch/CArchNetworkWinsock.cpp
lib/arch/CArchNetworkWinsock.h
lib/arch/CArchTaskBarWindows.cpp
lib/arch/CArchTaskBarWindows.h
lib/arch/IArchMultithread.h
lib/arch/IArchNetwork.h
lib/arch/arch.dsp
lib/base/CEventQueue.cpp
lib/base/CPriorityQueue.h
lib/base/CSimpleEventQueueBuffer.cpp
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h
lib/common/Makefile.am
lib/common/Version.h
lib/common/common.dsp
lib/mt/CThread.cpp
lib/mt/CThread.h
lib/net/CSocketMultiplexer.cpp
lib/net/IDataSocket.cpp
lib/net/IDataSocket.h
lib/platform/CMSWindowsDesktop.h
lib/platform/CMSWindowsEventQueueBuffer.cpp
lib/platform/CMSWindowsEventQueueBuffer.h
lib/platform/CMSWindowsKeyMapper.cpp
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/CSynergyHook.h
lib/platform/CXWindowsClipboard.cpp
lib/platform/CXWindowsEventQueueBuffer.cpp
lib/platform/CXWindowsKeyMapper.cpp
lib/platform/CXWindowsScreen.cpp
lib/platform/Makefile.am
lib/platform/platform.dsp
lib/server/CClientListener.cpp
lib/server/CServer.cpp
lib/synergy/CProtocolUtil.cpp
lib/synergy/CProtocolUtil.h
lib/synergy/CScreen.cpp
lib/synergy/IScreen.h

Merged Win32 updates.  Added full warnings on g++.  Fixed bug in
client when handling server rejection.

----------
2004/02/15 18:12:35 crs
lib/base/CFunctionEventJob.cpp
lib/base/CJobList.cpp
lib/base/CJobList.h
lib/base/Makefile.am
lib/base/base.dsp
lib/io/io.dsp
lib/mt/CTimerThread.cpp
lib/mt/CTimerThread.h
lib/mt/Makefile.am
lib/mt/mt.dsp
lib/net/net.dsp
lib/platform/CMSWindowsEventQueueBuffer.cpp
lib/platform/CMSWindowsEventQueueBuffer.h
lib/platform/Makefile.am
lib/platform/platform.dsp
lib/server/server.dsp
lib/synergy/libsynergy.dsp

Updated Makefiles and win32 projects and removed dead classes.

----------
2004/02/15 17:32:11 crs
cmd/synergyc/CClientTaskBarReceiver.cpp
cmd/synergyc/CClientTaskBarReceiver.h
cmd/synergyc/CXWindowsClientTaskBarReceiver.cpp
cmd/synergyc/CXWindowsClientTaskBarReceiver.h
cmd/synergyc/synergyc.cpp
cmd/synergys/CServerTaskBarReceiver.cpp
cmd/synergys/synergys.cpp
lib/arch/CArchNetworkBSD.cpp
lib/arch/XArch.h
lib/base/CEvent.cpp
lib/base/CEvent.h
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h
lib/io/CStreamFilter.cpp
lib/net/CNetworkAddress.cpp
lib/net/CTCPListenSocket.cpp
lib/net/CTCPSocket.cpp
lib/net/CTCPSocket.h
lib/net/IDataSocket.h
lib/net/XSocket.cpp
lib/net/XSocket.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CConfig.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/synergy/CClipboard.cpp
lib/synergy/CClipboard.h
lib/synergy/CPacketStreamFilter.cpp
lib/synergy/IClient.h
lib/synergy/IClipboard.cpp
lib/synergy/IClipboard.h
lib/synergy/IPlatformScreen.cpp
lib/synergy/IPlatformScreen.h
lib/synergy/Makefile.am
lib/synergy/ProtocolTypes.h

Checkpoint.  Conversion to event driven system complete for Unix.
Still need to convert win32 platform specific files.

----------
2004/02/14 16:30:27 crs
cmd/synergys/CServerTaskBarReceiver.cpp
cmd/synergys/synergys.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h

Minor cleanup.

----------
2004/02/14 14:04:36 crs
cmd/synergys/CServerTaskBarReceiver.cpp
cmd/synergys/CServerTaskBarReceiver.h
cmd/synergys/CXWindowsServerTaskBarReceiver.cpp
cmd/synergys/CXWindowsServerTaskBarReceiver.h
cmd/synergys/Makefile.am
cmd/synergys/synergys.cpp
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h
lib/arch/IArchNetwork.h
lib/arch/vsnprintf.cpp
lib/base/CEvent.cpp
lib/base/CEvent.h
lib/base/CEventQueue.cpp
lib/base/CEventQueue.h
lib/base/CSimpleEventQueueBuffer.cpp
lib/base/CSimpleEventQueueBuffer.h
lib/base/CStringUtil.cpp
lib/base/IEventQueue.h
lib/base/IEventQueueBuffer.h
lib/io/IStream.cpp
lib/net/CNetworkAddress.cpp
lib/net/CNetworkAddress.h
lib/net/CSocketMultiplexer.cpp
lib/net/CTCPListenSocket.cpp
lib/net/CTCPSocket.cpp
lib/net/IDataSocket.cpp
lib/net/IListenSocket.cpp
lib/net/ISocket.cpp
lib/platform/CXWindowsEventQueue.cpp
lib/platform/CXWindowsEventQueue.h
lib/platform/CXWindowsEventQueueBuffer.cpp
lib/platform/CXWindowsEventQueueBuffer.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsScreenSaver.h
lib/platform/Makefile.am
lib/server/CClientListener.cpp
lib/server/CClientListener.h
lib/server/CClientProxy.cpp
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CClientProxy1_1.cpp
lib/server/CClientProxy1_1.h
lib/server/CClientProxyUnknown.cpp
lib/server/CClientProxyUnknown.h
lib/server/CConfig.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/Makefile.am
lib/synergy/CProtocolUtil.cpp
lib/synergy/CScreen.cpp
lib/synergy/CScreen.h
lib/synergy/IClient.h
lib/synergy/IPlatformScreen.cpp
lib/synergy/IPlatformScreen.h
lib/synergy/IPrimaryScreen.h
lib/synergy/IPrimaryScreenReceiver.h
lib/synergy/IScreen.cpp
lib/synergy/IScreen.h
lib/synergy/IScreenFactory.h
lib/synergy/IScreenReceiver.h
lib/synergy/IScreenSaver.h
lib/synergy/IServer.h
lib/synergy/Makefile.am

Checkpoint.  synergys now works.  Still need to do lib/client and
synergyc.

----------
2004/02/08 17:07:11 crs
lib/base/CEventQueue.cpp
lib/base/CEventQueue.h
lib/base/CSimpleEventQueue.cpp
lib/base/CSimpleEventQueue.h
lib/base/IEventQueue.h
lib/base/Makefile.am

Refactored event queue.  The event queue is now separated from the
buffer that holds the events and generates system events.  This
allows us to switch in/out a platform specific event handler as
necessary without losing our timers and handlers.

----------
2004/02/08 16:51:45 crs
lib/net/CTCPSocket.cpp

No longer sending incorrect disconnect events in read() and
removed redundant sending of disconnect event in close().

----------
2004/02/01 21:09:22 crs
cmd/synergys/synergys.cpp
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchNetworkBSD.cpp
lib/arch/IArchMultithread.h
lib/arch/XArch.h
lib/base/CEventQueue.cpp
lib/base/CEventQueue.h
lib/base/IEventQueue.cpp
lib/base/IEventQueue.h
lib/base/Makefile.am
lib/io/CBufferedInputStream.cpp
lib/io/CBufferedInputStream.h
lib/io/CBufferedOutputStream.cpp
lib/io/CBufferedOutputStream.h
lib/io/CInputStreamFilter.cpp
lib/io/CInputStreamFilter.h
lib/io/COutputStreamFilter.cpp
lib/io/COutputStreamFilter.h
lib/io/CStreamFilter.cpp
lib/io/CStreamFilter.h
lib/io/IInputStream.h
lib/io/IOutputStream.h
lib/io/IStream.cpp
lib/io/IStream.h
lib/io/IStreamFilterFactory.h
lib/io/Makefile.am
lib/io/XIO.cpp
lib/io/XIO.h
lib/net/CSocketMultiplexer.cpp
lib/net/CSocketMultiplexer.h
lib/net/CTCPListenSocket.cpp
lib/net/CTCPListenSocket.h
lib/net/CTCPSocket.cpp
lib/net/CTCPSocket.h
lib/net/IDataSocket.cpp
lib/net/IDataSocket.h
lib/net/IListenSocket.h
lib/net/ISocket.h
lib/net/ISocketMultiplexerJob.h
lib/net/Makefile.am
lib/net/TSocketMultiplexerMethodJob.h
lib/server/CClientProxy.cpp
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CClientProxy1_1.cpp
lib/server/CClientProxy1_1.h
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CHTTPServer.cpp
lib/server/CHTTPServer.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/Makefile.am
lib/synergy/CInputPacketStream.cpp
lib/synergy/CInputPacketStream.h
lib/synergy/COutputPacketStream.cpp
lib/synergy/COutputPacketStream.h
lib/synergy/CPacketStreamFilter.cpp
lib/synergy/CPacketStreamFilter.h
lib/synergy/CProtocolUtil.cpp
lib/synergy/CProtocolUtil.h
lib/synergy/Makefile.am

Checkpoint.  Code does not run.  Still converting over to new
event loop model.  Streams, stream filters, and sockets are
converted.  Client proxies are almost converted.  CServer is
in progress.  Removed all HTTP code.  Haven't converted the
necessary win32 arch stuff.

----------
2004/02/01 20:56:52 crs
cmd/launcher/launcher.dsp
cmd/synergys/Makefile.am
cmd/synergys/synergys.dsp
configure.in
lib/Makefile.am
lib/http/CHTTPProtocol.cpp
lib/http/CHTTPProtocol.h
lib/http/Makefile.am
lib/http/XHTTP.cpp
lib/http/XHTTP.h
lib/http/http.dsp
lib/server/server.dsp
synergy.dsw

Removed most HTTP stuff.  It doesn't seem like the appropriate
choice for server control.  May later provide some other means
for controlling the synergy server remotely.

----------
2004/01/24 16:09:25 crs
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchNetworkBSD.cpp
lib/arch/IArchMultithread.h
lib/base/CEvent.cpp
lib/base/CEvent.h
lib/base/CEventQueue.cpp
lib/base/CEventQueue.h
lib/base/CFunctionEventJob.cpp
lib/base/CFunctionEventJob.h
lib/base/CLog.cpp
lib/base/CPriorityQueue.h
lib/base/CSimpleEventQueue.cpp
lib/base/CSimpleEventQueue.h
lib/base/IEventJob.h
lib/base/IEventQueue.h
lib/base/Makefile.am
lib/base/TMethodEventJob.h
lib/io/CBufferedInputStream.cpp
lib/io/CBufferedInputStream.h
lib/io/CBufferedOutputStream.cpp
lib/io/CBufferedOutputStream.h
lib/mt/CThread.cpp
lib/mt/CThread.h
lib/net/CTCPListenSocket.cpp
lib/net/CTCPListenSocket.h
lib/net/CTCPSocket.cpp
lib/net/CTCPSocket.h
lib/net/IDataSocket.cpp
lib/net/IDataSocket.h
lib/net/IListenSocket.cpp
lib/net/IListenSocket.h
lib/net/ISocket.cpp
lib/net/ISocket.h
lib/net/Makefile.am
lib/platform/CXWindowsEventQueue.cpp
lib/platform/CXWindowsEventQueue.h
lib/platform/Makefile.am

Checkpointing centralized event queue stuff.  Currently have:
an event queue and events, TCP sockets converted to use events,
unix multithreading and network stuff converted, and an X Windows
event queue subclass.

----------
2003/07/19 17:22:06 crs
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
cmd/synergyc/synergyc.cpp
configure.in
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h
lib/common/Version.h
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h
lib/server/CConfig.cpp
lib/synergy/OptionTypes.h

Merge synergy 1.1 fixes into 1.0 branch.

----------
2003/07/19 17:19:26 crs

Branched synergy 1.0 from 1.0.11.

----------
2003/07/17 21:16:58 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp

Fixed handling of a dead key followed by space on win32 and X11.
A dead key followed by space should convert the dead key to a
regular character.

----------
2003/07/16 22:38:43 crs
lib/platform/CMSWindowsSecondaryScreen.cpp

Fixed handling of some non-ASCII but directly mapped characters
on win32.  The o, a, and u with diaeresis in the german keyboard
mapping are examples.

----------
2003/07/16 21:40:57 crs
lib/platform/CMSWindowsPrimaryScreen.cpp

Fixed handling of shift/ctrl/alt on special keys on win32 server.

----------
2003/07/13 20:42:11 crs
lib/platform/CMSWindowsPrimaryScreen.cpp

Fixed handling of some keystrokes on win32.  Pressing a dead key
and then space should convert the dead key to a non-dead key but
previous the key was discarded.  Fixed that but VkKeyScan() fails
in this case so added special case to fix that (assuming AltGr is
required).  VkKeyScan() can return the wrong result for characters
that have more than one virtual key mapped to them.  AltGr+9 (^)
on the French layout has this problem.  Now detecting that problem
and using the current keyboard state to decide if AltGr is
required.

----------
2003/07/13 17:03:41 crs
cmd/synergyc/synergyc.cpp

Forgot to remove --camp and --no-camp from brief usage message.

----------
2003/07/13 16:57:08 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

Changed XSync() to XFlush() in X windows secondary screen.  This
doesn't appear to have any negative consequences and may prevent
synergy from freezing when some X client (probably the window
manager) grabs the server.

----------
2003/07/12 17:57:31 crs
cmd/synergyc/synergyc.cpp
lib/client/CClient.cpp
lib/client/CClient.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CXWindowsScreen.cpp

Prevent INFO level log messages when client is repeatedly trying
to connect.  This prevents a log from filling up while the client
can't connect for no useful reason.  Also removed --camp option
and cleaned up handling of client connection.  Users must now use
--restart instead of --camp.

----------
2003/07/08 18:40:46 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h

Changed windows server to release ctrl and alt keys when it's
sending a key that requires AltGr.  That's because AltGr *is*
ctrl and alt but AltGr should be seen on clients as mode
switch without the ctrl and alt.  I can't think of a better
way to do this other than to not send modifier keystrokes to
the clients at all.

----------
2003/07/05 17:06:18 crs
configure.in
lib/common/Version.h

Change version to 1.0.11.  Skipping version 1.0.10 because there
have been too many major changes since 1.0.8.  A new experimental
release will provide a stable starting point for testing.

----------
2003/07/05 17:05:12 crs
lib/synergy/CSecondaryScreen.cpp

Fix to avoid warping mouse until client successfully connects to
the server.

----------
2003/07/05 17:04:26 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h

Keyboard fixes on win32.

----------
2003/07/05 17:04:06 crs
lib/server/CConfig.h

Fix for new template syntax.

----------
2003/07/05 14:49:08 crs
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsPrimaryScreen.h
lib/platform/CXWindowsSecondaryScreen.cpp

Minor X11 keyboard code cleanup.  Also now handling KeyPress with
keycode == 0 generated by XFilterEvent() by using the keycode from
the previous KeyPress.

----------
2003/07/05 14:47:41 crs
lib/platform/CXWindowsScreen.cpp

Compress sequential MappingNotify events into one.

----------
2003/07/01 19:35:28 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

Rewrote key handling on X11 client.  This should fix problems
with applying the incorrect shift and mode switch modifiers to
some keycodes, such as getting Pointer_EnableKeys when pressing
shift with NumLock enabled.

----------
2003/06/22 21:27:38 crs
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsPrimaryScreen.h

Added support for input methods.  Only handling IMs that don't
need a precompose area or status area.  This includes IMs that
do simple dead key composition.  This only changes the server.
The client still does not decompose a character it cannot
generate directly into the keysyms to compose the character.

----------
2003/06/22 16:39:25 crs
lib/client/CServerProxy.cpp

More fixes for X11 client keyboard handling.

----------
2003/06/22 16:39:02 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

More fixes for X11 client keyboard handling.

----------
2003/06/22 15:01:44 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

Checkpoint for improving X11 client key handling.  Should prevent
unintentional Pointer_EnableKeys (i.e. generating NumLock press
and release around a shift press).

----------
2003/06/08 22:20:01 crs
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp

Another ctrl+alt+del checkpoint.

----------
2003/06/08 22:12:12 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp

ctrl+alt+del emulation checkpoint.

----------
2003/06/08 16:31:52 crs
lib/platform/CXWindowsSecondaryScreen.cpp

More DEBUG2 level debugging of keyboard handling.

----------
2003/06/08 15:42:05 crs
lib/common/Makefile.am

Added new file to Makefile.

----------
2003/06/02 20:07:16 crs
lib/platform/CMSWindowsSecondaryScreen.cpp

Fixed ctrl and alt keys on win32 clients.  Was broken by a recent
fix to character handling.

----------
2003/06/02 20:06:20 crs
lib/client/CServerProxy.cpp

Fixed errors in log strings.

----------
2003/06/02 20:06:03 crs
cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp
cmd/synergyc/CMSWindowsClientTaskBarReceiver.h
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.rc
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
cmd/synergys/CMSWindowsServerTaskBarReceiver.h
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
cmd/synergys/synergys.rc
lib/base/CLog.cpp
lib/base/CLog.h
lib/base/LogOutputters.cpp
lib/base/LogOutputters.h
lib/common/common.dsp
lib/common/stddeque.h

Added menu item on win32 tray icon to copy the last 1000 lines from
the log to the clipboard.

----------
2003/05/26 09:50:35 crs
lib/platform/CXWindowsClipboard.cpp

Added workaround for broken clipboard owners that report the
type of TARGETS as TARGETS instead of ATOM.

----------
2003/05/26 09:49:38 crs
lib/platform/CMSWindowsClipboard.cpp

No longer installing clibboard format for plain text on windows nt
family because nt automatically converts to and from the unicode
format.  This may fix text encoding errors when synergy puts
non-ascii text on the clipboard and other clients prefer CF_TEXT
to CF_UNICODE (which they should not because synergy lists
CF_UNICODE first).

----------
2003/05/26 09:46:52 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsScreen.cpp

Fixed loss of ctrl+alt+del key releases when the Winlogin desktop
is accessible (was already fixed when inaccessible).  This change
also ignores press and release of virtual key 0, which should never
happen but does according to one user.

----------
2003/05/21 21:22:14 crs
lib/arch/CArchMultithreadWindows.cpp
lib/synergy/CPrimaryScreen.cpp
lib/synergy/CSecondaryScreen.cpp

Fixed unsigned compare against zero.  Changed win32 priority to
maximum.

----------
2003/05/21 19:38:11 crs
lib/server/CServer.cpp
lib/server/CServer.h

Made double tap require moving farther away from the tapped edge
before arming.  This should reduce spurious double taps.

----------
2003/05/20 19:15:58 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h

Attempt to improve key event synthesis.  This change adds support
for dead keys and attempts to choose the correct code page for the
thread that will (probably) receive synthesized events.

----------
2003/05/20 19:14:40 crs
lib/platform/CSynergyHook.cpp

Minor thread ID compare fix.

----------
2003/05/20 19:14:24 crs
lib/arch/CArchMultithreadWindows.cpp

Reduced maximum priority in debug build.

----------
2003/05/17 20:58:27 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/IMSWindowsScreenEventHandler.h
lib/synergy/CPrimaryScreen.cpp

Fixed getting locked to screen after ctrl+alt+del.  Also fixed
cursor not being hidden on win32 server when on client screens
(which happened when using low-level hooks).

----------
2003/05/17 14:10:11 crs
INSTALL

Added documentation for xtestIsXineramaUnaware option.

----------
2003/05/17 14:03:32 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

Fixed previous fix.  Was trying to avoid using XWarpPointer() when
warping on screen 0.  That just doesn't work if screen 0 is not at
0,0.  So now always use XWarpPointer() if there are multiple
xinerama screens and the appropriate option is enabled.

----------
2003/05/17 13:44:24 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h
lib/server/CConfig.cpp
lib/synergy/OptionTypes.h

Added workaround for when XTest is unaware of Xinerama.  When that's
true, faking a mouse motion outside screen 0 is clamped onto screen 0.
When the workaround is enabled, we use XWarpPointer() instead of an
XTest fake motion.  This isn't perfect but the only real fix requires
patching XTest.

----------
2003/05/17 12:48:32 crs
lib/platform/CXWindowsSecondaryScreen.cpp

Added support for old versions of XF86keysym.h that are missing
some expected #defines.

----------
2003/05/10 17:27:05 crs
configure.in
lib/common/Version.h

Changed version to 1.0.8.

----------
2003/05/10 17:26:42 crs
INSTALL
README

Updated documentation.

----------
2003/05/08 21:59:35 crs
lib/server/CServer.cpp

Fixed jumping to same client screen.  It was broken by an earlier
change (probably double tap).  Jumping to the same server screen
worked correctly.

----------
2003/05/04 21:40:42 crs
configure.in
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp
lib/synergy/KeyTypes.h
lib/synergy/MouseTypes.h

Added support for 4th and 5th (non-mouse-wheel) buttons and
"Internet" keyboard keys.

----------
2003/05/03 15:16:30 crs
cmd/launcher/CGlobalOptions.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h

Added screen saver synchronization option to win32 launcher dialog.

----------
2003/05/03 14:54:03 crs
lib/synergy/CSecondaryScreen.cpp

Removed accidental debugging code.

----------
2003/05/03 14:38:36 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp
lib/server/CConfig.cpp
lib/synergy/CSecondaryScreen.cpp
lib/synergy/CSecondaryScreen.h
lib/synergy/OptionTypes.h

Added global configuration option to disable screen saver
synchronization.

----------
2003/05/03 13:57:52 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

Forgot to restore global auto-repeat configuration on exit.

----------
2003/05/03 13:50:06 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h
lib/synergy/CSecondaryScreen.cpp
lib/synergy/CSecondaryScreen.h

Now warping mouse to center of screen when leaving client screens.
Some users requested this.  Also, the hider window is mapped before
warping the mouse so the active window shouldn't change if the focus
policy is point-to-focus.  Showing the window first can also reduce
the likelihood of seeing the cursor briefly in its hidden position.

----------
2003/05/03 13:28:21 crs
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

Now turning off auto-repeat when on an X11 client.  This prevents
the server from auto-repeating fake events, which is undesired
since synergy will do the auto-repeating itself.  This also
disables auto-repeat on any keys locally configured on X11 to not
auto-repeat.  That's mainly to suppress auto-repeat on modifier
keys, which auto-repeat on win32 but not X11.

----------
2003/05/03 12:54:22 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/CSynergyHook.h

Fixed a few win32 keyboard/mouse problems.  First, the mouse hook
now captures non-client area mouse messages.  Previously, these
were ignored (because i forgot about them) and they caused all
kinds of problems because they weren't forwarded.  For example,
clicking on a window border would cause the window to start
resizing when the mouse came back to the server screen.  Moving
inside a title bar meant that the mouse wouldn't move on the
client screen.

Second, because non-client messages are now handled, the full
screen transparent window is no longer necessary to capture
input so it's never displayed.  (The window is still necessary
for clipboard ownership so it's still created.)  No transparent
window means no screen flashing.  It also means we don't have to
become the foreground and active window.  This plays better with
apps that minimize or restore when they're no longer the
foreground application/active window.

Third, fixed the low level keyboard hook to forward toggle key
updates, which it was neglecting to do.

Finally, keyboard and mouse input is always forwarded from the hook
to the primary screen handler which then shadows the current key
and mouse button state.  If we're using low level hooks then this
isn't really necessary and GetKeyState() always returns the right
info but without low level hooks it means we can just use the
shadow state.  It also means we don't have to show our window in
order to get the system's key state table up to date, fixing the
screen flash when checking for the scroll lock state.

----------
2003/05/03 12:37:03 crs
lib/arch/CArchMultithreadWindows.cpp
lib/synergy/CPrimaryScreen.cpp
lib/synergy/CSecondaryScreen.cpp

Boosted priority of main synergy threads to be very high (highest
realtime priority).  After some testing it appears that anything
less than this can starve synergy in some circumstances, preventing
it from forwarding messages to clients.  This is a rather risky
change since synergy can now virtually take over a system if it
behaves badly.  This change only affects windows systems since
lib/arch of other platforms don't yet attempt to boost priority.

----------
2003/04/27 18:05:32 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/server/Makefile.am
lib/server/server.dsp

Fixes to previous checkpoint.  Non-ascii keys seem to work correctly.
Still not supporting key composition on X11.

----------
2003/04/27 17:01:14 crs
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CServerProxy.cpp
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CClientProxy1_1.cpp
lib/server/CClientProxy1_1.h
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/Makefile.am
lib/synergy/CSecondaryScreen.h
lib/synergy/IClient.h
lib/synergy/IPrimaryScreenReceiver.h
lib/synergy/KeyTypes.h
lib/synergy/ProtocolTypes.h

Checkpointing improved key handling.  This change adds non-ASCII
key handling to win32 on both client and server.  It also changes
the protocol and adds code to ensure every key pressed also gets
released and that that doesn't get confused when the KeyID for
the press is different from the KeyID of the release (or repeat).

----------
2003/04/24 20:11:38 crs
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsUtil.cpp
lib/platform/CXWindowsUtil.h

Added KeySym <-> Unicode mappings.  Changed code to use those
mappings to better support Unicode key events.

----------
2003/04/24 20:10:13 crs
cmd/Makefile.am

Added exec.dsp to EXTRA_DIST.

----------
2003/04/16 20:59:25 crs
all.dsp
cmd/exec.dsp
lib/platform/makehook.dsp
lib/platform/synrgyhk.dsp
synergy.dsw

Win32 project configuration fixes.

----------
2003/04/16 20:59:14 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
lib/platform/CMSWindowsPrimaryScreen.cpp

Minor win32 fixes.

----------
2003/04/16 20:05:00 crs
lib/server/CConfig.cpp

Now allowing screen names with underscores.

----------
2003/04/14 22:16:21 crs
lib/platform/CXWindowsPrimaryScreen.cpp

Fixed incorrect initialization of an XMotionEvent.

----------
2003/04/14 22:15:56 crs
configure.in
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h

Added workaround for apparent Xinerama bug when warping the pointer.
This should allow synergy to be used on a system using Xinerama to
create a single logical screen from multiple physical screens.

----------
2003/04/13 18:14:01 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Fixed problem with type casting void* to int.

----------
2003/04/13 17:13:27 crs
lib/platform/CXWindowsScreenSaver.cpp

Removed periodic call to XForceScreenSaver() to prevent the built-in
screen saver from activating.  It was unnecessary since the built-in
screen saver is disabled as appropriate;  this call was just to
ensure that the screen saver wouldn't start if an external program
reactivated the screen saver after synergy disabled it.

It's possible that this was causing screen flicker under gnome, though
i don't know why.  It's also possible that periodically sending events
to xscreensaver is causing the flicker but removing that code is more
difficult because xscreensaver can't be disabled, only deactivated or
killed.

----------
2003/04/13 14:59:53 crs
lib/platform/CMSWindowsClipboard.cpp
lib/platform/CMSWindowsClipboard.h
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CSynergyHook.cpp

Fixed several win32 bugs.  First, synergy wasn't forwarding mouse
events to other hook functions, which broke some tools like objectbar.
Second, windows key processing was fixed.  Previously pressing and
release the key would only send a press event, locking the user onto
the client window;  also, the win32 server treated as a Meta modifier
instead of a Super modifier, which broke any use of it as any kind of
modifier key.  Third, added hacks to support several key combinations
on windows 95/98/me that are treated specially by windows, including
Alt+Tab, Alt+Shift+Tab, Alt+Esc, Alt+Shift+Esc, Ctrl+Esc, and any
combination using the windows key like Win+E and Win+F but not
Ctrl+Alt+Del.  Fourth, scroll lock only locking to the client (which
only happened when using a synergy server on windows) has been fixed;
unfortunately the solution causes a lot of screen redraws for some
reason.  Finally, there's been a fix to clipboard handling that may
or may not fix a problem where the clipboard would stop transferring
between systems after a little while.  I can't be sure if it fixes
the problem because I can't reproduce the problem.

----------
2003/04/13 14:39:17 crs
cmd/launcher/launcher.rc

Added mention of tray icon to launcher start message box.

----------
2003/03/26 21:03:58 crs
configure.in
lib/common/Version.h

Changed version to 1.0.6.

----------
2003/03/25 21:31:39 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CSynergyHook.cpp

This should fix multimon support on win32.

----------
2003/03/22 11:49:23 crs
FAQ
INSTALL
PORTING
README
TODO

Documentation updates.

----------
2003/03/22 11:49:13 crs
cmd/launcher/CGlobalOptions.cpp
cmd/launcher/CGlobalOptions.h
cmd/launcher/launcher.rc
cmd/launcher/resource.h

Added key modifier and heartbeat options to GUI.

----------
2003/03/21 19:34:08 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp

Oops, included a windows only header in non-windows builds.

----------
2003/03/21 19:16:37 crs
lib/platform/CMSWindowsScreenSaver.cpp

Added check for the screen saver actually being active before
entering the loop waiting for it to deactivate.  The failure
to check was causing the screen saver code to kick in when
the screen saver timeout occurred, even if the screen saver
wasn't enabled (because Windows still sends the screen saver
activating message for no good reason when the screen saver
is disabled).

----------
2003/03/21 19:14:32 crs
lib/arch/CArchMiscWindows.cpp

Fixed errors in merge causing infinite loops.

----------
2003/03/21 19:14:10 crs
cmd/synergyc/tb_idle.ico
cmd/synergyc/tb_run.ico
cmd/synergyc/tb_wait.ico
cmd/synergys/tb_idle.ico
cmd/synergys/tb_run.ico
cmd/synergys/tb_wait.ico

Fixed icons.

----------
2003/03/21 19:13:15 crs
lib/platform/CXWindowsUtil.cpp

Fixed getWindowProperty().  It wasn't catching all failure
cases correctly.

----------
2003/03/17 22:32:10 crs
cmd/launcher/CAdvancedOptions.cpp
cmd/launcher/CAdvancedOptions.h
cmd/launcher/LaunchUtil.cpp
cmd/launcher/LaunchUtil.h
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
lib/arch/CArchDaemonWindows.cpp
lib/arch/CArchDaemonWindows.h
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h

Added options and advanced options dialogs which should've been
part of an earlier checkin.  Also now saving and restoring
options that aren't in the configuration file to/from the
registry.

----------
2003/03/17 22:32:01 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CXWindowsPrimaryScreen.cpp
lib/server/CServer.cpp
lib/synergy/CPrimaryScreen.h

Added a log message why the user is locked to the screen.

----------
2003/03/17 22:31:59 crs
lib/platform/CMSWindowsSecondaryScreen.cpp

Added type casts to avoid warning.

----------
2003/03/16 17:40:57 crs
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CMSWindowsScreenSaver.h

Fixed detection of screen saver shutdown on windows nt.

----------
2003/03/16 17:40:56 crs
lib/common/Makefile.am
lib/common/common.dsp
lib/common/stdbitset.h
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h

Made releaseKeys() only synthesize key releases for those keys
that synergy synthesized a press for, not keys that the user
is physically pressing.

----------
2003/03/16 17:40:47 crs
lib/platform/CSynergyHook.cpp

Minor hook fixes.

----------
2003/03/16 17:40:25 crs
cmd/synergyc/synergyc.rc
cmd/synergys/synergys.rc

Added resources missing from previous checkin.

----------
2003/03/13 20:24:45 crs
lib/platform/CXWindowsScreenSaver.cpp

Moved comment to more relevant location.

----------
2003/03/13 19:20:55 crs
lib/platform/CXWindowsScreen.cpp

Fixed double locking of mutex.

----------
2003/03/12 22:34:07 crs
cmd/launcher/CAdvancedOptions.cpp
cmd/launcher/CAdvancedOptions.h
cmd/launcher/CGlobalOptions.cpp
cmd/launcher/CGlobalOptions.h
cmd/launcher/LaunchUtil.cpp
cmd/launcher/LaunchUtil.h
cmd/launcher/Makefile.am
cmd/launcher/launcher.cpp
cmd/launcher/launcher.dsp
cmd/launcher/resource.h
cmd/synergyc/CClientTaskBarReceiver.cpp
cmd/synergyc/CClientTaskBarReceiver.h
cmd/synergyc/CMSWindowsClientTaskBarReceiver.cpp
cmd/synergyc/CMSWindowsClientTaskBarReceiver.h
cmd/synergyc/CXWindowsClientTaskBarReceiver.cpp
cmd/synergyc/CXWindowsClientTaskBarReceiver.h
cmd/synergyc/Makefile.am
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.dsp
cmd/synergyc/tb_error.ico
cmd/synergyc/tb_idle.ico
cmd/synergyc/tb_run.ico
cmd/synergyc/tb_wait.ico
cmd/synergys/CMSWindowsServerTaskBarReceiver.cpp
cmd/synergys/CMSWindowsServerTaskBarReceiver.h
cmd/synergys/CServerTaskBarReceiver.cpp
cmd/synergys/CServerTaskBarReceiver.h
cmd/synergys/CXWindowsServerTaskBarReceiver.cpp
cmd/synergys/CXWindowsServerTaskBarReceiver.h
cmd/synergys/Makefile.am
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
cmd/synergys/synergys.dsp
cmd/synergys/tb_error.ico
cmd/synergys/tb_idle.ico
cmd/synergys/tb_run.ico
cmd/synergys/tb_wait.ico
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchConsoleWindows.cpp
lib/arch/CArchConsoleWindows.h
lib/arch/CArchImpl.cpp
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchMultithreadWindows.cpp
lib/arch/CArchMultithreadWindows.h
lib/arch/CArchTaskBarWindows.cpp
lib/arch/CArchTaskBarWindows.h
lib/arch/CArchTaskBarXWindows.cpp
lib/arch/CArchTaskBarXWindows.h
lib/arch/IArchMultithread.h
lib/arch/IArchTaskBar.h
lib/arch/IArchTaskBarReceiver.h
lib/arch/Makefile.am
lib/arch/arch.dsp
lib/base/CJobList.cpp
lib/base/CJobList.h
lib/base/LogOutputters.cpp
lib/base/LogOutputters.h
lib/base/Makefile.am
lib/base/base.dsp
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CServerProxy.cpp
lib/mt/CThread.cpp
lib/mt/CThread.h
lib/mt/CTimerThread.cpp
lib/mt/CTimerThread.h
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CSynergyHook.cpp
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/CSecondaryScreen.cpp
lib/synergy/CSecondaryScreen.h

Added switch delay and double-tap options to win32 and added a
tray icon to the client and server that gives status feedback to
the user and allows the user to kill the app.

----------
2003/02/23 19:29:08 crs
lib/server/CConfig.cpp
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/OptionTypes.h
lib/synergy/ProtocolTypes.h

Added support for a user option to require hitting the edge of a
screen twice within a specified amount of time in order to switch
screens.  This can help prevent unintended switching.

----------
2003/02/22 21:53:25 crs
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsPrimaryScreen.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h
lib/server/CConfig.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/CPrimaryScreen.h
lib/synergy/IPrimaryScreenReceiver.h
lib/synergy/IScreenEventHandler.h
lib/synergy/OptionTypes.h

Added support on X11 for a global option to delay switching screens
when the mouse reaches a jump zone.

----------
2003/02/22 16:41:03 crs
lib/server/CConfig.cpp
lib/server/CConfig.h

Added global options to CConfig (needed for heartbeat option).

----------
2003/02/22 16:20:23 crs
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h
lib/server/CClientProxy.cpp
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CServer.cpp
lib/synergy/OptionTypes.h
lib/synergy/ProtocolTypes.h

Added support for heartbeat global option.

----------
2003/02/22 15:04:09 crs
configure.in
lib/common/Version.h

Changed version to 1.0.5.

----------
2003/02/22 15:03:31 crs
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/synergy/KeyTypes.h
lib/synergy/OptionTypes.h

Changes to support remapping modifier keys on clients.

----------
2003/02/17 12:44:37 crs
configure.in
lib/common/Version.h

Changed version to 1.0.3.

----------
2003/02/16 19:55:54 crs
lib/platform/CMSWindowsSecondaryScreen.cpp

Changed win32 client side cursor warping to be all relative motion
when not on the primary monitor.  This should eliminate the flicker
between virtual display 0,0 and the correct position.  While this
allows the user to confuse synergy by using the client's mouse,
synergy recovers quickly and easily from any confusion.

----------
2003/02/16 19:53:56 crs
lib/platform/CMSWindowsPrimaryScreen.cpp

Added hack to heuristically detect bogus mouse motion caused by
a race condition where the synergy server updates the mouse
position but the synergy hook later receives a mouse update from
before the position change (i.e. out of order).

----------
2003/02/16 19:51:46 crs
lib/platform/CSynergyHook.cpp

Commented out an unnecessary hook and added a compile time
switch to disable grabbing of keyboard on win32 to facilitate
debugging.

----------
2003/02/16 19:50:36 crs
lib/platform/CMSWindowsScreen.cpp

Changed heap to stack allocation in an oft-called function for
data that's never used outside the function.

----------
2003/02/16 19:49:44 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
lib/arch/CArchMultithreadWindows.cpp
lib/base/CUnicode.cpp

Fixed memory leaks.

----------
2003/02/12 20:59:25 crs
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.cpp

Fixed incorrect mouse button swapping on client screens.

----------
2003/02/12 20:59:08 crs
lib/arch/CArchDaemonWindows.cpp

Fixed error in debug build on win32.

----------
2003/02/12 19:50:22 crs
lib/arch/vsnprintf.cpp

Added a simple implementation of vsnprintf for unix platforms
without it using /dev/null, vfprintf(), and vsprintf().

----------
2003/02/12 19:38:39 crs
lib/arch/CArchMiscWindows.h
lib/arch/XArch.h
lib/base/CLog.h
lib/base/CString.h
lib/base/ILogOutputter.h
lib/mt/CCondVar.h
lib/mt/CLock.h
lib/mt/CThread.h
lib/mt/CTimerThread.h

Made sure every file includes common.h directly or indirectly.
Also made sure common.h is included before any system headers.

----------
2003/02/01 18:10:43 crs
FAQ
INSTALL
README
TODO

Added info about using SSH for authentication and encryption.

----------
2003/01/29 22:16:40 crs
lib/platform/CXWindowsSecondaryScreen.cpp

To support keymaps with only upper (or lower) case keysyms we now
use Xlib to convert an unmatched keysym to upper and lower case and
use whichever, if any, is not the same as the original keysym.
This supports case conversion in any language that Xlib supports
it in.

----------
2003/01/29 19:32:25 crs
lib/platform/CXWindowsSecondaryScreen.cpp

Applied patch from grmcdorman at users dot sourceforge dot net to
support keymaps that have only uppercase letters, which is the case
by default on the Sun X server (for US keyboards anyway).

----------
2003/01/25 13:39:26 crs
NEWS
configure.in
lib/common/Version.h

Changed version number to 1.0.2.

----------
2003/01/25 13:34:51 crs
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
lib/server/CConfig.cpp
lib/server/CConfig.h

Added ability to set screen options from the windows launch dialog.

----------
2003/01/25 13:34:17 crs
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkWinsock.cpp

Added missing entry in a socket family table.  This was a serious
bug and should've failed on all platforms but just happened to
work on linux and windows.

----------
2003/01/22 08:37:32 crs
NEWS
configure.in
lib/common/Version.h

Changed version number to 1.0.1.

----------
2003/01/22 08:36:43 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
lib/arch/CArchDaemonWindows.cpp
lib/arch/CArchDaemonWindows.h
lib/arch/CArchLogWindows.cpp
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h
lib/arch/CArchMultithreadWindows.cpp
lib/arch/CArchMultithreadWindows.h

Fixed running as a service on Windows NT family.

----------
2003/01/18 14:36:19 crs
lib/arch/CArchSleepWindows.cpp
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CSynergyHook.cpp

Fixed stupid errors introduced by last attempt to fix broken
mouse behavior on multimonitor windows systems.  Those errors
broke synergy on all windows systems running as a server.
Also added an attempt to reduce the occasional jump that can
occur when switching screens when windows is the server.

----------
2003/01/18 14:31:54 crs
lib/platform/CXWindowsSecondaryScreen.cpp

Was forcing modifier keys that have no effect on the keysym
lookup to be up when synthesizing key events.  Now leaving
those modifiers in their current state.

----------
2003/01/18 10:49:13 crs
Makefile.am

Added a dist-pkg target to put the binary distribution files into
a tar gzip file.  This is to ease distribution of the binaries on
systems without a packaging system supported by synergy (which
currently supports only RPM).

----------
2003/01/16 21:28:15 crs
lib/server/CServer.cpp

Fixed lookup of neighbor screens.  The first problem was an old
code in a conditional for moving left that blew an assert verifying
that the mouse position was really on the screen if the neighbor
screen wasn't connected.

After that was fixed there was another problem when one screen
linked to another which then linked (in the same direction) to
itself.  If the latter screen wasn't connected then it'd get into
an infinite loop.

----------
2003/01/14 19:46:41 crs
lib/server/CServer.cpp

Moved log message into conditionals so it only appears when the
conditions are true.

----------
2003/01/14 19:46:17 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CSynergyHook.cpp

Another try at fixing broken mouse behavior when a windows system
has multiple monitors with 0,0 of the virtual desktop not at the
upper-left.

----------
2003/01/12 16:35:54 crs
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h

Added test of using the client's own name as the server name
with an appropriate error message.

----------
2003/01/12 16:08:45 crs
lib/server/CServer.cpp

Now catching and ignoring errors when writing to a socket in those
cases where errors were not being caught, typically when responding
to some other socket or protocol error.

----------
2003/01/11 21:06:21 crs
acinclude.m4
configure.in
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h
lib/arch/CArchSleepUnix.cpp
lib/arch/CMultibyteEmu.cpp
lib/common/Makefile.am

Fixes to support FreeBSD and Darwin.

----------
2003/01/11 15:16:41 crs
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsScreenSaver.h

Synergy no longer tries to suppress the screen saver once it starts.
It was doing that already if started through synergy but not if
started by something outside of synergy.  In particular, if you
use `xscreensaver-command --activate' synergy used to send fake
mouse motion events every 5 seconds to deactivate it.  That's
unlikely to be what the user wanted, especially if the locking is
enabled since it would force the password dialog to appear.

As before, it's recommended that client screens not use locking
because xscreensaver will not deactivate without getting a
password even if we make the request through a programmatic
interface.  Presumably that's for security reasons but it makes
life harder for synergy.

----------
2003/01/11 14:01:44 crs
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.cpp

Attempt to fix problems with multimon windows.  The mouse position
reported by the synergy hook dll is in a space with 0,0 in the
upper-left which is not necessarily the same as the virtual desktop
space.  So the windows primary screen now accounts for that.  On
the secondary screen, mouse_event() doesn't seem to accept negative
coordinates even on the windows NT family, making monitors with
negative coordinates inaccessible via absolute moves.  So if the
move will be to negative coordinates, use the windows 95 family
fallback of absolute moving to 0,0 then relative moving to the
final position.

----------
2003/01/08 22:17:44 crs
FAQ
INSTALL

Added bit about configuring on Solaris, which requires some
options to find the X11 includes and libraries.

----------
2003/01/08 21:36:14 crs
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchNetworkBSD.cpp

Portability fixes.  Now builds on Linux 2.2 and 2.4 and solaris.
Also builds on i386, alpha, G3/G4, and sparc.

----------
2003/01/08 21:36:13 crs
lib/client/CClient.cpp
lib/platform/CXWindowsUtil.cpp

Changed log level of two messages.  Now won't spew about reading
window properties and will report connection failure at DEBUG
instead of DEBUG1.

----------
2003/01/08 21:36:10 crs
FAQ

Added a FAQ entry for client being rejected.  User probably didn't
start the server or told the client the wrong server host name.

----------
2003/01/07 21:47:27 crs
ChangeLog
configure.in
lib/common/Version.h

Changed version number to 0.9.15.  Added 0.9.15 log entries.

----------
2003/01/07 21:12:51 crs
lib/platform/CMSWindowsPrimaryScreen.cpp

Attempts to improve forcing synergy window to foreground.  These
changes don't seem to improve the situation but don't seem to
hurt either.

----------
2003/01/07 21:11:54 crs
lib/platform/CSynergyHook.cpp

Added low-level mouse hook to support mouse wheel on NT (>=SP3).
Thanks to karsten for the patch used as a starting point.

----------
2003/01/05 21:52:28 crs
lib/base/LogOutputters.cpp
lib/base/LogOutputters.h

Added missing files.

----------
2003/01/05 21:48:54 crs
PORTING
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
doc/doxygen.cfg.in
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchConsoleUnix.h
lib/arch/CArchConsoleWindows.h
lib/arch/CArchDaemonNone.h
lib/arch/CArchDaemonUnix.h
lib/arch/CArchDaemonWindows.h
lib/arch/CArchFileUnix.h
lib/arch/CArchFileWindows.h
lib/arch/CArchLogUnix.h
lib/arch/CArchLogWindows.h
lib/arch/CArchMiscWindows.h
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchMultithreadWindows.cpp
lib/arch/CArchMultithreadWindows.h
lib/arch/CArchNetworkBSD.h
lib/arch/CArchNetworkWinsock.cpp
lib/arch/CArchNetworkWinsock.h
lib/arch/CArchSleepUnix.h
lib/arch/CArchSleepWindows.h
lib/arch/CArchStringUnix.cpp
lib/arch/CArchStringUnix.h
lib/arch/CArchStringWindows.cpp
lib/arch/CArchStringWindows.h
lib/arch/CArchTimeUnix.h
lib/arch/CArchTimeWindows.h
lib/arch/IArchConsole.h
lib/arch/IArchFile.h
lib/arch/IArchLog.h
lib/arch/IArchMultithread.h
lib/arch/IArchNetwork.h
lib/arch/IArchSleep.h
lib/arch/IArchString.h
lib/arch/IArchTime.h
lib/arch/Makefile.am
lib/arch/XArchImpl.h
lib/arch/arch.dsp
lib/base/CLog.cpp
lib/base/CUnicode.cpp
lib/base/XBase.cpp
lib/base/XBase.h
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/CMSWindowsSecondaryScreen.h
lib/client/CSecondaryScreen.cpp
lib/client/CSecondaryScreen.h
lib/client/CXWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.h
lib/client/ISecondaryScreenFactory.h
lib/client/Makefile.am
lib/client/client.dsp
lib/http/XHTTP.h
lib/platform/CMSWindowsPrimaryScreen.cpp
lib/platform/CMSWindowsPrimaryScreen.h
lib/platform/CMSWindowsScreen.h
lib/platform/CMSWindowsSecondaryScreen.cpp
lib/platform/CMSWindowsSecondaryScreen.h
lib/platform/CXWindowsPrimaryScreen.cpp
lib/platform/CXWindowsPrimaryScreen.h
lib/platform/CXWindowsScreen.h
lib/platform/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsSecondaryScreen.h
lib/platform/Makefile.am
lib/platform/platform.dsp
lib/server/CMSWindowsPrimaryScreen.cpp
lib/server/CMSWindowsPrimaryScreen.h
lib/server/CPrimaryScreen.cpp
lib/server/CPrimaryScreen.h
lib/server/CXWindowsPrimaryScreen.cpp
lib/server/CXWindowsPrimaryScreen.h
lib/server/IPrimaryScreenFactory.h
lib/server/Makefile.am
lib/server/server.dsp
lib/synergy/CPrimaryScreen.cpp
lib/synergy/CPrimaryScreen.h
lib/synergy/CSecondaryScreen.cpp
lib/synergy/CSecondaryScreen.h
lib/synergy/IPrimaryScreenFactory.h
lib/synergy/ISecondaryScreenFactory.h
lib/synergy/Makefile.am
lib/synergy/libsynergy.dsp

Moved CPrimaryScreen and CSecondaryScreen to the lib/synergy
and the platform specific implementations to lib/platform.
Added an lib/arch method to query the platform's native wide
character encoding and changed CUnicode to use it.  All
platform dependent code is now in lib/arch, lib/platform,
and the programs under cmd.  Also added more documentation.

----------
2003/01/04 22:01:32 crs
PORTING
cmd/launcher/CAutoStart.cpp
cmd/launcher/CAutoStart.h
cmd/launcher/LaunchUtil.cpp
cmd/launcher/launcher.cpp
cmd/launcher/launcher.dsp
cmd/launcher/launcher.rc
cmd/synergyc/Makefile.am
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.dsp
cmd/synergys/Makefile.am
cmd/synergys/synergys.cpp
cmd/synergys/synergys.dsp
configure.in
lib/Makefile.am
lib/arch/CArch.cpp
lib/arch/CArch.h
lib/arch/CArchConsoleUnix.cpp
lib/arch/CArchConsoleUnix.h
lib/arch/CArchConsoleWindows.cpp
lib/arch/CArchConsoleWindows.h
lib/arch/CArchDaemonNone.cpp
lib/arch/CArchDaemonNone.h
lib/arch/CArchDaemonUnix.cpp
lib/arch/CArchDaemonUnix.h
lib/arch/CArchDaemonWindows.cpp
lib/arch/CArchDaemonWindows.h
lib/arch/CArchFileUnix.cpp
lib/arch/CArchFileUnix.h
lib/arch/CArchFileWindows.cpp
lib/arch/CArchFileWindows.h
lib/arch/CArchImpl.cpp
lib/arch/CArchLogUnix.cpp
lib/arch/CArchLogUnix.h
lib/arch/CArchLogWindows.cpp
lib/arch/CArchLogWindows.h
lib/arch/CArchMiscWindows.cpp
lib/arch/CArchMiscWindows.h
lib/arch/CArchMultithreadPosix.cpp
lib/arch/CArchMultithreadPosix.h
lib/arch/CArchMultithreadWindows.cpp
lib/arch/CArchMultithreadWindows.h
lib/arch/CArchNetworkBSD.cpp
lib/arch/CArchNetworkBSD.h
lib/arch/CArchNetworkWinsock.cpp
lib/arch/CArchNetworkWinsock.h
lib/arch/CArchSleepUnix.cpp
lib/arch/CArchSleepUnix.h
lib/arch/CArchSleepWindows.cpp
lib/arch/CArchSleepWindows.h
lib/arch/CArchStringUnix.cpp
lib/arch/CArchStringUnix.h
lib/arch/CArchStringWindows.cpp
lib/arch/CArchStringWindows.h
lib/arch/CArchTimeUnix.cpp
lib/arch/CArchTimeUnix.h
lib/arch/CArchTimeWindows.cpp
lib/arch/CArchTimeWindows.h
lib/arch/CMultibyte.cpp
lib/arch/CMultibyteEmu.cpp
lib/arch/CMultibyteOS.cpp
lib/arch/IArchConsole.h
lib/arch/IArchDaemon.h
lib/arch/IArchFile.h
lib/arch/IArchLog.h
lib/arch/IArchMultithread.h
lib/arch/IArchNetwork.h
lib/arch/IArchSleep.h
lib/arch/IArchString.h
lib/arch/IArchTime.h
lib/arch/Makefile.am
lib/arch/XArch.cpp
lib/arch/XArch.h
lib/arch/XArchImpl.h
lib/arch/XArchUnix.cpp
lib/arch/XArchUnix.h
lib/arch/XArchWindows.cpp
lib/arch/XArchWindows.h
lib/arch/arch.dsp
lib/arch/vsnprintf.cpp
lib/base/BasicTypes.h
lib/base/CLog.cpp
lib/base/CLog.h
lib/base/CStopwatch.cpp
lib/base/CString.cpp
lib/base/CString.h
lib/base/CStringUtil.cpp
lib/base/CStringUtil.h
lib/base/CUnicode.cpp
lib/base/CUnicode.h
lib/base/IInterface.h
lib/base/ILogOutputter.h
lib/base/Makefile.am
lib/base/Version.h
lib/base/XBase.cpp
lib/base/XBase.h
lib/base/base.dsp
lib/base/common.h
lib/base/stdfstream.h
lib/base/stdistream.h
lib/base/stdlist.h
lib/base/stdmap.h
lib/base/stdostream.h
lib/base/stdpost.h
lib/base/stdpre.h
lib/base/stdset.h
lib/base/stdsstream.h
lib/base/stdvector.h
lib/client/CClient.cpp
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/Makefile.am
lib/client/client.dsp
lib/common/BasicTypes.h
lib/common/IInterface.h
lib/common/Makefile.am
lib/common/Version.h
lib/common/common.dsp
lib/common/common.h
lib/common/stdfstream.h
lib/common/stdistream.h
lib/common/stdlist.h
lib/common/stdmap.h
lib/common/stdostream.h
lib/common/stdpost.h
lib/common/stdpre.h
lib/common/stdset.h
lib/common/stdsstream.h
lib/common/stdstring.h
lib/common/stdvector.h
lib/http/CHTTPProtocol.h
lib/http/Makefile.am
lib/http/XHTTP.cpp
lib/http/http.dsp
lib/io/CUnicode.cpp
lib/io/CUnicode.h
lib/io/Makefile.am
lib/io/XIO.cpp
lib/io/XIO.h
lib/io/io.dsp
lib/mt/CCondVar.cpp
lib/mt/CCondVar.h
lib/mt/CMutex.cpp
lib/mt/CMutex.h
lib/mt/CThread.cpp
lib/mt/CThread.h
lib/mt/CThreadRep.cpp
lib/mt/CThreadRep.h
lib/mt/CTimerThread.cpp
lib/mt/Makefile.am
lib/mt/XMT.cpp
lib/mt/XMT.h
lib/mt/XThread.h
lib/mt/mt.dsp
lib/net/CNetwork.cpp
lib/net/CNetwork.h
lib/net/CNetworkAddress.cpp
lib/net/CNetworkAddress.h
lib/net/CTCPListenSocket.cpp
lib/net/CTCPListenSocket.h
lib/net/CTCPSocket.cpp
lib/net/CTCPSocket.h
lib/net/Makefile.am
lib/net/XNetwork.cpp
lib/net/XNetwork.h
lib/net/XSocket.cpp
lib/net/XSocket.h
lib/net/net.dsp
lib/platform/CMSWindowsScreen.cpp
lib/platform/CPlatform.cpp
lib/platform/CPlatform.h
lib/platform/CUnixPlatform.cpp
lib/platform/CUnixPlatform.h
lib/platform/CWin32Platform.cpp
lib/platform/CWin32Platform.h
lib/platform/CXWindowsClipboard.cpp
lib/platform/IPlatform.h
lib/platform/Makefile.am
lib/platform/platform.dsp
lib/platform/synrgyhk.dsp
lib/server/CConfig.h
lib/server/CMSWindowsPrimaryScreen.cpp
lib/server/CServer.cpp
lib/server/CXWindowsPrimaryScreen.cpp
lib/server/Makefile.am
lib/server/server.dsp
lib/synergy/Makefile.am
lib/synergy/XScreen.cpp
lib/synergy/XScreen.h
lib/synergy/XSynergy.cpp
lib/synergy/XSynergy.h
lib/synergy/libsynergy.dsp
synergy.dsw

Refactored some platform dependent code into a new library,
lib/arch.  This should make porting easier.  Will probably
continue to refactor a little more, moving platform dependent
event handling stuff into lib/platform.

----------
2002/12/26 18:40:22 crs
FAQ

More FAQs.

----------
2002/12/25 23:49:42 crs
BUGS
FAQ
INSTALL
README
TODO

Documentation update.

----------
2002/12/25 22:56:09 crs
lib/server/CMSWindowsPrimaryScreen.cpp

Made synrgyhk.dll error messages less cryptic.

----------
2002/12/25 19:21:17 crs
NEWS
configure.in
lib/base/Version.h

Changed version number to 0.9.14.  Added NEWS item.

----------
2002/12/25 18:44:54 crs
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreenSaver.cpp

Improved handling of screen saver handling when windows 2k is
the client and the screen saver is password protected.  It used
to immediately turn off the screen saver (unintentionally) in
that case.

----------
2002/12/25 10:35:59 crs
acinclude.m4
config/config.guess
config/config.sub
configure.in
lib/base/common.h
lib/mt/CThreadRep.cpp
lib/net/CNetwork.cpp
lib/net/CNetwork.h
lib/platform/CUnixPlatform.cpp

Changes to support building on solaris, irix, and darwin.  Also
removed test for working fork (AC_FORK).

----------
2002/12/23 14:47:44 crs
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h

Added code to process set/reset options messages from server.

----------
2002/12/23 13:55:21 crs
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/CMSWindowsSecondaryScreen.h
lib/client/CSecondaryScreen.cpp
lib/client/CSecondaryScreen.h
lib/client/CXWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.h
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CMSWindowsPrimaryScreen.cpp
lib/server/CMSWindowsPrimaryScreen.h
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CPrimaryScreen.cpp
lib/server/CPrimaryScreen.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/CXWindowsPrimaryScreen.cpp
lib/server/CXWindowsPrimaryScreen.h
lib/synergy/CProtocolUtil.cpp
lib/synergy/CProtocolUtil.h
lib/synergy/IClient.h
lib/synergy/Makefile.am
lib/synergy/OptionTypes.h
lib/synergy/ProtocolTypes.h

Added support for per-screen options in the configuration file
and sending those options to the appropriate client screens.
Currently, two options are supported:  halfDuplexCapsLock and
halfDuplexNumLock mark the caps lock and num lock keys,
respectively, as being half-duplex.

----------
2002/12/22 14:51:41 crs
configure.in
doc/doxygen.cfg.in

Doxygen config file now sets HAVE_DOT to YES only if dot is found
by configure.

----------
2002/12/15 22:39:59 crs
lib/client/CXWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.h

Now handling any number of pointer buttons.

----------
2002/12/15 22:17:18 crs
lib/server/CXWindowsPrimaryScreen.cpp

Now ignoring half-duplex keys that are down when deciding if
the mouse is locked to the screen.  We can't tell if a half-
duplex key is physically down and logically down just means
it's active so there's no point in letting it lock the mouse
to the screen.

----------
2002/12/15 22:14:49 crs
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/CMSWindowsSecondaryScreen.h
lib/client/CSecondaryScreen.cpp
lib/client/CSecondaryScreen.h
lib/client/CXWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.h

Now restoring toggle key states on leaving a client screen to
their state when the screen was entered.  Previously when
leaving a client screen the toggle keys kept their state so,
say, caps lock, would remain on.  This was inconvenient if
you then used the client's keyboard directly.

----------
2002/12/15 20:00:52 crs
lib/server/CMSWindowsPrimaryScreen.cpp

Fixed loss of ctrl+alt when transmitted to non-windows platforms
from a windows server.  Was converting ctrl+alt on windows to
mode switch on the server.  No longer doing that;  windows clients
will interpret ctrl+alt as AltGr and other clients will just see
ctrl+alt.  Also made the right alt key mode switch on windows
servers in case the user wants to force a mode switch, but that
means the right alt key no longer acts as alt on clients.

----------
2002/12/15 19:58:41 crs
lib/platform/CMSWindowsScreen.cpp

Fixed client not reconnecting when server dies bug.

----------
2002/12/15 19:57:28 crs
lib/client/CXWindowsSecondaryScreen.cpp

Cleanup and changed some DEBUG1 messages to DEBUG2.

----------
2002/12/15 11:12:39 crs
doc/doxygen.cfg.in

Enabled using dot and class diagrams.

----------
2002/11/05 19:23:05 crs
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsScreenSaver.h

Fixed bug in detecting screen saver activation.  Was using || instead
of && in conditional.

----------
2002/11/03 18:09:28 crs
acinclude.m4
configure.in
lib/io/CUnicode.h
lib/net/CNetwork.h
lib/platform/CUnixPlatform.cpp

Merged fixes for building on MacOS X.  It dies on one file with
an internal compiler error;  building that file without
optimization works around the compiler bug.  Sadly, synergy can
only interact with X windows, not native MacOS windows.

----------
2002/10/30 22:22:16 crs
acinclude.m4

Escaped quotes to satisfy older autoheader versions.

----------
2002/10/30 22:16:30 crs
lib/net/CNetwork.h
lib/net/CTCPSocket.cpp

Fixed bugs in error handling in CTCPSocket;  previously was not
handling read errors at all and error handling for writes was
never being used.  Now the socket disconnects if a read or write
fails on the socket for any reason except EINTR.  Also added
<netinet/in.h> to includes in CNetwork.h because it's needed on
some platforms.

----------
2002/10/29 22:07:55 crs
all.dsp
lib/base/base.dsp
lib/client/client.dsp
lib/http/http.dsp
lib/io/CUnicode.cpp
lib/io/io.dsp
lib/mt/mt.dsp
lib/net/CNetwork.cpp
lib/net/CNetwork.h
lib/net/net.dsp
lib/platform/makehook.dsp
lib/platform/platform.dsp
lib/platform/synrgyhk.dsp
lib/server/server.dsp
lib/synergy/libsynergy.dsp

Ported recent changes to win32 and fixed CRLF problems with project
files (most had CRCRCRLF).

----------
2002/10/28 22:49:21 crs
acinclude.m4
configure.in
lib/mt/CThreadRep.cpp

solaris configure and build fixes.  without having solaris i
can only hope that these changes actually work.

----------
2002/10/22 22:35:13 crs
configure.in
lib/io/CUnicode.cpp

Added workarounds for missing reentrant versions of wide char
to/from multi-byte conversion functions.

----------
2002/10/22 21:30:48 crs
lib/base/CUnicode.cpp
lib/base/CUnicode.h
lib/base/Makefile.am
lib/io/CUnicode.cpp
lib/io/CUnicode.h
lib/io/Makefile.am
lib/platform/Makefile.am

Moved CUnicode to lib/io.  That's a reasonable place for it
that's after lib/mt.  It needs to be after lib/mt in preparation
for supporting platforms without the reentrant wide char and
multi-byte functions.

----------
2002/10/20 22:39:54 crs
lib/client/CMSWindowsSecondaryScreen.cpp

Fixed conditional to test for multimon to do nasty win32 mouse
positioning hack.  Was doing hack if *not* a multiple monitor
system but should've been doing it if is *is* a multimon system.

----------
2002/10/20 22:36:24 crs
lib/net/CNetwork.cpp
lib/net/CNetwork.h
lib/net/CNetworkAddress.cpp

Replaced inet_addr() with inet_aton(), which is a better function
anyway but isn't implemented in winsock, removed use of INADDR_NONE
which some platforms don't define except on winsock which does
define it, and changed SOL_TCP to IPPROTO_TCP which should work on
more platforms.

----------
2002/10/17 21:37:41 crs
lib/platform/CXWindowsScreen.cpp

Fixed CXWindowsScreen to force the event loop to wake up when
exitMainLoop() is called.

----------
2002/10/17 21:37:37 crs
lib/mt/CThreadRep.cpp

Fixed CThreadRep to not raise a signal on the thread if it's
already dead.  Otherwise the signal could propagate to the
parent thread (at least on linux threads) and cause havoc.

----------
2002/10/17 21:37:31 crs
lib/server/CServer.cpp
lib/server/CServer.h

Changed server to fail with an error if in can't bind() the listen
socket for any reason other than it's in use.

----------
2002/10/17 20:56:28 crs
lib/net/CNetwork.cpp
lib/net/CNetwork.h
lib/net/CNetworkAddress.cpp

Changed non-reentrant network functions to be reentrant and
thread safe.

----------
2002/10/16 22:01:50 crs
acinclude.m4
configure.in
lib/net/CNetwork.cpp
lib/net/CNetwork.h
lib/net/CTCPSocket.cpp
lib/platform/CXWindowsScreen.cpp

Added support for using select() instead of poll().

----------
2002/10/15 22:17:41 crs
lib/server/CConfig.cpp

CConfig now accepts and discards \r at the end of a line.  This
allows the unix server to read configuration files created on
microsoft windows platforms.

----------
2002/10/15 22:08:10 crs
cmd/synergys/synergys.cpp
lib/server/CConfig.cpp

Fixed use of %s instead of %{1} in format() call.

----------
2002/10/15 22:01:41 crs
lib/client/CClient.cpp
lib/mt/CThreadRep.cpp
lib/mt/Makefile.am
lib/mt/XMT.cpp
lib/mt/XMT.h
lib/mt/XThread.h
lib/server/CServer.cpp

Renamed XThreadUnavailable to XMTThreadUnavailable and derived it
from XBase so it can be caught normally.  Changed client and server
to handle unavailable threads (in main loop, anyway).

----------
2002/10/15 21:35:12 crs
lib/mt/CThreadRep.cpp

Workaround for pthread bug on RedHat 7.2 on multiprocessor
systems.

----------
2002/10/15 21:29:44 crs
cmd/synergyc/synergyc.cpp
cmd/synergys/synergys.cpp
lib/base/CLog.h
lib/client/CClient.cpp
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/CSecondaryScreen.cpp
lib/client/CServerProxy.cpp
lib/client/CXWindowsSecondaryScreen.cpp
lib/http/CHTTPProtocol.cpp
lib/mt/CMutex.cpp
lib/mt/CThread.cpp
lib/mt/CThreadRep.cpp
lib/mt/CTimerThread.cpp
lib/net/CNetwork.cpp
lib/platform/CMSWindowsClipboard.cpp
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CWin32Platform.cpp
lib/platform/CXWindowsClipboard.cpp
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsUtil.cpp
lib/server/CClientProxy1_0.cpp
lib/server/CHTTPServer.cpp
lib/server/CMSWindowsPrimaryScreen.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryScreen.cpp
lib/server/CServer.cpp
lib/server/CXWindowsPrimaryScreen.cpp
lib/synergy/CProtocolUtil.cpp

Changed log() and logc() macros to LOG() and LOGC(), respectively.
This avoids a conflict with the standard math library log()
function.

----------
2002/09/14 21:31:35 crs
lib/base/XBase.cpp
lib/base/XBase.h

removed std::exception from base class list of XBase.  this
is a workaround for gcc 3.2 until everything necessary has
throw() specifiers.

----------
2002/09/14 20:56:50 crs
lib/server/CServer.cpp

now logging bind failures as warnings.

----------
2002/09/14 20:56:28 crs
lib/base/XBase.cpp
lib/base/XBase.h
lib/io/XIO.cpp
lib/io/XIO.h
lib/net/CTCPListenSocket.cpp
lib/net/CTCPSocket.cpp
lib/net/XSocket.cpp
lib/net/XSocket.h

added better network error message support.

----------
2002/09/14 12:07:02 crs
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.h
lib/server/CMSWindowsPrimaryScreen.cpp
lib/server/CXWindowsPrimaryScreen.cpp
lib/server/CXWindowsPrimaryScreen.h
lib/synergy/KeyTypes.h

Rewrote handling of key press on X11 client;  it should be much
more robust now.  Also added handling of Super modifier key and
changed windows keys to map to Super instead of Meta, which is
the default on my keyboard.

----------
2002/09/14 12:05:06 crs
cmd/launcher/launcher.cpp
cmd/launcher/launcher.rc
cmd/launcher/resource.h

Added debug level combo box and version number to title bar of win32
launcher.

----------
2002/09/14 12:03:43 crs
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.rc
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
cmd/synergys/synergys.rc

Fixed backend mode.  Now reports log messages and, if any are
serious, shows a message box before exiting.

----------
2002/09/04 21:17:01 crs
NEWS
configure.in
lib/base/Version.h

Changed version number to 0.9.11.  Added NEWS item.

----------
2002/09/04 21:14:18 crs
lib/client/CMSWindowsSecondaryScreen.cpp

now looking up SendEvent() using GetProcAddress() so win95
systems can run the synergy client.

----------
2002/09/04 20:17:54 crs
lib/client/CXWindowsSecondaryScreen.cpp

fixed bug that caused the wrong keycode to be used for most,
possibly all, keysyms.  was reading past the end of an array
of keysyms.

----------
2002/09/02 17:36:25 crs
configure.in
lib/base/Version.h

Changed version number to 0.9.10.

----------
2002/09/02 17:30:04 crs
BUGS
INSTALL
cmd/launcher/CAutoStart.cpp
cmd/launcher/CAutoStart.h
cmd/launcher/LaunchUtil.cpp
cmd/launcher/LaunchUtil.h
cmd/launcher/launcher.cpp
cmd/launcher/launcher.dsp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.rc
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
lib/client/CClient.cpp
lib/client/CMSWindowsSecondaryScreen.cpp
lib/platform/CUnixPlatform.cpp
lib/platform/CUnixPlatform.h
lib/platform/CWin32Platform.cpp
lib/platform/CWin32Platform.h
lib/platform/IPlatform.h
lib/server/CMSWindowsPrimaryScreen.cpp

Fixed win32 config saving, keyboard mapping, and AltGr bugs.
Made extensive changes to the launcher to provide more control
over setting up auto-start and it now saves configuration to
the user's documents directory if auto-starting at login and
saves to the system directory if auto-starting at boot.
Replaced MapVirtualKey() with table lookup to work around that
function's lack of support for extended keyboard scan codes.
Added first cut at support for AltGr.

----------
2002/09/01 15:30:00 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/KeyTypes.h

Added support for mode switch key to X11 screens.

----------
2002/09/01 10:31:10 crs
acinclude.m4
configure.in
lib/base/stdsstream.h

added more tests to autoconf.  also now handling missing sstream
header in gcc 2.95 by including sstream header backported from v3.

----------
2002/09/01 09:28:54 crs
lib/platform/CXWindowsUtil.cpp

lowered severity of some debug messages.

----------
2002/08/18 17:45:59 crs
configure.in
lib/base/Version.h

Changed version number to 0.9.9.

----------
2002/08/18 17:40:10 crs
lib/server/CMSWindowsPrimaryScreen.cpp

fixed win32 deadlock.  when a client disconnects the server will
warp the mouse to the primary screen.  entering the primary
screen causes the primary screen's window to be hidden.  the
deadlock occurs because hiding the window seems to post a
message then wait for it to be handled (or possibly it won't
send a message while a posted message is being handled).
thread A locks the mutex, warps the mouse, the hides the window.
thread B begins processing the mouse warp then tries to lock
the mutex.  thread A is waiting on the event loop owned by B
while B is waiting on the mutex owned by A.  this fix simply
hides the window asynchronously.  however, there may be other
ways to cause a similar deadlock that have not been found.

----------
2002/08/18 17:35:10 crs
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/CMSWindowsSecondaryScreen.h
lib/server/CMSWindowsPrimaryScreen.cpp

fixed PrintScrn handling;  it was being changed to keypad multiply.

----------
2002/08/18 17:31:48 crs
lib/client/CXWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.h

no longer sending fake events for unmapped logical buttons.

----------
2002/08/11 22:43:07 crs
BUGS
INSTALL
NEWS
PORTING
README
cmd/Makefile.am
cmd/launcher/launcher.cpp
cmd/synergy/Makefile.am
cmd/synergy/resource.h
cmd/synergy/synergy.cpp
cmd/synergy/synergy.dsp
cmd/synergy/synergy.ico
cmd/synergy/synergy.rc
cmd/synergyc/Makefile.am
cmd/synergyc/resource.h
cmd/synergyc/synergyc.cpp
cmd/synergyc/synergyc.dsp
cmd/synergyc/synergyc.ico
cmd/synergyc/synergyc.rc
cmd/synergyd/Makefile.am
cmd/synergyd/resource.h
cmd/synergyd/synergy.ico
cmd/synergyd/synergyd.cpp
cmd/synergyd/synergyd.dsp
cmd/synergyd/synergyd.rc
cmd/synergys/Makefile.am
cmd/synergys/resource.h
cmd/synergys/synergys.cpp
cmd/synergys/synergys.dsp
cmd/synergys/synergys.ico
cmd/synergys/synergys.rc
configure.in
dist/rpm/synergy.spec.in
synergy.dsw

Moved synergy client to cmd/synergyc and renamed it synergyc.
Moved synergy server to cmd/synergys and renamed it synergys.
Updated documentation to reflect that and the win32 launcher.

----------
2002/08/11 11:50:49 crs
Makefile.am
TODO

added TODO file and top-level rule to make zip file of distribution
files.

----------
2002/08/03 11:50:07 crs
lib/mt/CCondVar.h

removed pre-instantiation of templates in header file.

----------
2002/08/03 11:49:36 crs
all.dsp
cmd/Makefile.am
cmd/launcher/Makefile.am
cmd/launcher/launcher.cpp
cmd/launcher/launcher.dsp
cmd/launcher/launcher.rc
cmd/launcher/resource.h
cmd/launcher/synergy.ico
cmd/synergy/Makefile.am
cmd/synergy/resource.h
cmd/synergy/synergy.cpp
cmd/synergy/synergy.dsp
cmd/synergy/synergy.ico
cmd/synergy/synergy.rc
cmd/synergyd/Makefile.am
cmd/synergyd/resource.h
cmd/synergyd/synergy.ico
cmd/synergyd/synergyd.cpp
cmd/synergyd/synergyd.dsp
cmd/synergyd/synergyd.rc
configure.in
lib/base/CString.cpp
lib/base/Version.h
lib/base/base.dsp
lib/client/client.dsp
lib/http/http.dsp
lib/io/io.dsp
lib/mt/mt.dsp
lib/net/net.dsp
lib/platform/CMSWindowsScreen.cpp
lib/platform/makehook.dsp
lib/platform/platform.dsp
lib/platform/synrgyhk.dsp
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/server.dsp
lib/synergy/libsynergy.dsp
synergy.dsw

added win32 launcher program.  also changed VC++ dsp and dsw
files to binary form so \r\n aren't converted.  added icons
to client and server apps on win32.

----------
2002/08/02 17:57:54 crs
Makefile.am
configure.in
dist/Makefile.am
dist/rpm/Makefile.am
dist/rpm/synergy.spec.in

added build rule to create RPMs.

----------
2002/08/02 17:53:23 crs
AUTHORS
BUGS
FAQ
HISTORY
INSTALL
NEWS
PORTING
README

minor documentation updates.  added HISTORY and PORTING.

----------
2002/08/01 18:07:32 crs
AUTHORS
BUGS
COPYING
ChangeLog
FAQ
INSTALL
NEWS
README

added files for release.

----------
2002/08/01 11:45:21 crs
configure.in
lib/base/CStopwatch.cpp
lib/mt/CCondVar.cpp
lib/platform/CUnixPlatform.cpp

minor automake fixes.

----------
2002/07/31 17:40:36 crs
Makefile.am

added simple rule to build doxygen.

----------
2002/07/31 17:40:21 crs
lib/synergy/XSynergy.h

fixed comment.

----------
2002/07/31 17:35:43 crs
Makefile.am

removed two programs from files to clean.

----------
2002/07/31 17:34:05 crs
Makefile.am
cmd/Makefile.am
cmd/synergy/Makefile.am
cmd/synergyd/Makefile.am
lib/Makefile.am
lib/base/Makefile.am
lib/client/Makefile.am
lib/http/Makefile.am
lib/io/Makefile.am
lib/mt/Makefile.am
lib/net/Makefile.am
lib/platform/Makefile.am
lib/server/Makefile.am
lib/synergy/Makefile.am

fixes to get vpath builds working (necessary for `make distcheck').

----------
2002/07/31 16:57:26 crs
Makefile.am
cmd/Makefile.am
cmd/synergy/Makefile.am
cmd/synergy/synergy.cpp
cmd/synergyd/Makefile.am
cmd/synergyd/synergyd.cpp
configure.in
lib/Makefile.am
lib/base/Makefile.am
lib/base/Version.h
lib/client/Makefile.am
lib/http/Makefile.am
lib/io/Makefile.am
lib/mt/Makefile.am
lib/net/Makefile.am
lib/platform/Makefile.am
lib/server/Makefile.am
lib/synergy/Makefile.am
lib/synergy/ProtocolTypes.h
lib/synergy/Version.h

Moved version header to base and it now uses VERSION macro
from config.h if available (which means version is now a
string, not three integers).  Changed version to 1.0.0 and
protocol version to 1.0.  And added MAINTAINERCLEANFILES
to makefiles to remove generated files.

----------
2002/07/31 16:27:06 crs
Makefile.am
cmd/synergy/Makefile.am
cmd/synergyd/Makefile.am
examples/synergy.linux.init
examples/synergyd.linux.init
lib/base/Makefile.am
lib/client/Makefile.am
lib/http/Makefile.am
lib/io/Makefile.am
lib/mt/Makefile.am
lib/net/Makefile.am
lib/platform/Makefile.am
lib/server/Makefile.am
lib/synergy/Makefile.am
nodist/notes
notes

added EXTRA_* files to get `make dist' doing the right thing.

----------
2002/07/31 16:24:45 crs
notes

checkpoint notes.

----------
2002/07/31 13:56:59 crs
lib/base/CLog.cpp

removed now unnecssary #define.

----------
2002/07/31 13:41:58 crs
lib/http/http.dsp
lib/platform/CMSWindowsClipboardAnyTextConverter.cpp
lib/platform/CMSWindowsClipboardAnyTextConverter.h
lib/platform/CMSWindowsClipboardTextConverter.cpp
lib/platform/CMSWindowsClipboardTextConverter.h
lib/platform/CMSWindowsClipboardUTF16Converter.cpp
lib/platform/CMSWindowsClipboardUTF16Converter.h
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CMSWindowsScreenSaver.h
lib/platform/IMSWindowsScreenEventHandler.h

okay, now the files should no longer be executable.

----------
2002/07/31 13:34:18 crs
lib/http/http.dsp
lib/platform/CMSWindowsClipboardAnyTextConverter.cpp
lib/platform/CMSWindowsClipboardAnyTextConverter.h
lib/platform/CMSWindowsClipboardTextConverter.cpp
lib/platform/CMSWindowsClipboardTextConverter.h
lib/platform/CMSWindowsClipboardUTF16Converter.cpp
lib/platform/CMSWindowsClipboardUTF16Converter.h
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CMSWindowsScreenSaver.h
lib/platform/IMSWindowsScreenEventHandler.h
notes

removed unintentional executable flag.

----------
2002/07/31 13:29:33 crs
notes

checkpoint notes.

----------
2002/07/31 13:18:27 crs
README

added comment about large motif clipboard items to README.

----------
2002/07/31 13:10:15 crs
README

updated README.

----------
2002/07/31 12:40:41 crs
lib/platform/CSynergyHook.cpp
lib/platform/synrgyhk.dsp

now building hook dll for release without linking in standard
C runtime.  need C runtime for debug build for asserts.

----------
2002/07/31 12:39:34 crs
cmd/synergy/synergy.cpp
cmd/synergyd/synergyd.cpp
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CXWindowsSecondaryScreen.cpp
lib/platform/CXWindowsScreen.cpp
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CMSWindowsPrimaryScreen.cpp
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/synergy/IClient.h
lib/synergy/IScreen.h
lib/synergy/XScreen.cpp
lib/synergy/XScreen.h

fixed problem with opening client and server.  in some cases it
would fail to open in such a way that it could never succeed
but it'd never stop retrying.  now terminating when open fails
such that it'll never succeed.

----------
2002/07/30 19:03:40 crs
lib/client/client.dsp
lib/io/io.dsp
lib/net/net.dsp
lib/server/server.dsp
lib/synergy/libsynergy.dsp

added new files to projects and added two project files that
should've been adding in change 530.

----------
2002/07/30 18:49:31 crs
lib/client/CServerProxy.cpp
lib/server/CClientProxy1_0.cpp
lib/synergy/ProtocolTypes.h

made it so a negative kHeartRate disables heartbeats and set
kHeartRate to -1.

----------
2002/07/30 18:31:21 crs
lib/mt/CThreadRep.cpp
lib/mt/XThread.h

moved exception definition to header file.

----------
2002/07/30 18:31:00 crs
cmd/synergy/synergy.cpp
cmd/synergyd/synergyd.cpp
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/ISecondaryScreenFactory.h
lib/client/Makefile.am
lib/io/IStreamFilterFactory.h
lib/io/Makefile.am
lib/net/CTCPSocketFactory.cpp
lib/net/CTCPSocketFactory.h
lib/net/ISocketFactory.h
lib/net/Makefile.am
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/IPrimaryScreenFactory.h
lib/server/Makefile.am
lib/synergy/CTCPSocketFactory.cpp
lib/synergy/CTCPSocketFactory.h
lib/synergy/ISocketFactory.h
lib/synergy/Makefile.am
lib/synergy/ProtocolTypes.h

now using class factories to move some decisions from the libraries
into the application.

----------
2002/07/30 16:52:46 crs
Makefile.am
base/BasicTypes.h
base/CFunctionJob.cpp
base/CFunctionJob.h
base/CLog.cpp
base/CLog.h
base/CStopwatch.cpp
base/CStopwatch.h
base/CString.cpp
base/CString.h
base/CUnicode.cpp
base/CUnicode.h
base/IInterface.h
base/IJob.h
base/Makefile.am
base/TMethodJob.h
base/XBase.cpp
base/XBase.h
base/base.dsp
base/common.h
base/stdfstream.h
base/stdistream.h
base/stdlist.h
base/stdmap.h
base/stdostream.h
base/stdpost.h
base/stdpre.h
base/stdset.h
base/stdsstream.h
base/stdvector.h
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CSecondaryScreen.cpp
client/CSecondaryScreen.h
client/CServerProxy.cpp
client/CServerProxy.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/Makefile.am
client/client.cpp
client/client.dsp
client/client.rc
client/resource.h
cmd/Makefile.am
cmd/synergy/Makefile.am
cmd/synergy/resource.h
cmd/synergy/synergy.cpp
cmd/synergy/synergy.dsp
cmd/synergy/synergy.rc
cmd/synergyd/Makefile.am
cmd/synergyd/resource.h
cmd/synergyd/synergyd.cpp
cmd/synergyd/synergyd.dsp
cmd/synergyd/synergyd.rc
configure.in
http/CHTTPProtocol.cpp
http/CHTTPProtocol.h
http/Makefile.am
http/XHTTP.cpp
http/XHTTP.h
http/http.dsp
io/CBufferedInputStream.cpp
io/CBufferedInputStream.h
io/CBufferedOutputStream.cpp
io/CBufferedOutputStream.h
io/CInputStreamFilter.cpp
io/CInputStreamFilter.h
io/COutputStreamFilter.cpp
io/COutputStreamFilter.h
io/CStreamBuffer.cpp
io/CStreamBuffer.h
io/IInputStream.h
io/IOutputStream.h
io/Makefile.am
io/XIO.cpp
io/XIO.h
io/io.dsp
lib/Makefile.am
lib/base/BasicTypes.h
lib/base/CFunctionJob.cpp
lib/base/CFunctionJob.h
lib/base/CLog.cpp
lib/base/CLog.h
lib/base/CStopwatch.cpp
lib/base/CStopwatch.h
lib/base/CString.cpp
lib/base/CString.h
lib/base/CUnicode.cpp
lib/base/CUnicode.h
lib/base/IInterface.h
lib/base/IJob.h
lib/base/Makefile.am
lib/base/TMethodJob.h
lib/base/XBase.cpp
lib/base/XBase.h
lib/base/base.dsp
lib/base/common.h
lib/base/stdfstream.h
lib/base/stdistream.h
lib/base/stdlist.h
lib/base/stdmap.h
lib/base/stdostream.h
lib/base/stdpost.h
lib/base/stdpre.h
lib/base/stdset.h
lib/base/stdsstream.h
lib/base/stdvector.h
lib/client/CClient.cpp
lib/client/CClient.h
lib/client/CMSWindowsSecondaryScreen.cpp
lib/client/CMSWindowsSecondaryScreen.h
lib/client/CSecondaryScreen.cpp
lib/client/CSecondaryScreen.h
lib/client/CServerProxy.cpp
lib/client/CServerProxy.h
lib/client/CXWindowsSecondaryScreen.cpp
lib/client/CXWindowsSecondaryScreen.h
lib/client/Makefile.am
lib/http/CHTTPProtocol.cpp
lib/http/CHTTPProtocol.h
lib/http/Makefile.am
lib/http/XHTTP.cpp
lib/http/XHTTP.h
lib/http/http.dsp
lib/io/CBufferedInputStream.cpp
lib/io/CBufferedInputStream.h
lib/io/CBufferedOutputStream.cpp
lib/io/CBufferedOutputStream.h
lib/io/CInputStreamFilter.cpp
lib/io/CInputStreamFilter.h
lib/io/COutputStreamFilter.cpp
lib/io/COutputStreamFilter.h
lib/io/CStreamBuffer.cpp
lib/io/CStreamBuffer.h
lib/io/IInputStream.h
lib/io/IOutputStream.h
lib/io/Makefile.am
lib/io/XIO.cpp
lib/io/XIO.h
lib/io/io.dsp
lib/mt/CCondVar.cpp
lib/mt/CCondVar.h
lib/mt/CLock.cpp
lib/mt/CLock.h
lib/mt/CMutex.cpp
lib/mt/CMutex.h
lib/mt/CThread.cpp
lib/mt/CThread.h
lib/mt/CThreadRep.cpp
lib/mt/CThreadRep.h
lib/mt/CTimerThread.cpp
lib/mt/CTimerThread.h
lib/mt/Makefile.am
lib/mt/XThread.h
lib/mt/mt.dsp
lib/net/CNetwork.cpp
lib/net/CNetwork.h
lib/net/CNetworkAddress.cpp
lib/net/CNetworkAddress.h
lib/net/CTCPListenSocket.cpp
lib/net/CTCPListenSocket.h
lib/net/CTCPSocket.cpp
lib/net/CTCPSocket.h
lib/net/IDataSocket.h
lib/net/IListenSocket.h
lib/net/ISocket.h
lib/net/Makefile.am
lib/net/XNetwork.cpp
lib/net/XNetwork.h
lib/net/XSocket.cpp
lib/net/XSocket.h
lib/net/net.dsp
lib/platform/CMSWindowsClipboard.cpp
lib/platform/CMSWindowsClipboard.h
lib/platform/CMSWindowsClipboardAnyTextConverter.cpp
lib/platform/CMSWindowsClipboardAnyTextConverter.h
lib/platform/CMSWindowsClipboardTextConverter.cpp
lib/platform/CMSWindowsClipboardTextConverter.h
lib/platform/CMSWindowsClipboardUTF16Converter.cpp
lib/platform/CMSWindowsClipboardUTF16Converter.h
lib/platform/CMSWindowsScreen.cpp
lib/platform/CMSWindowsScreen.h
lib/platform/CMSWindowsScreenSaver.cpp
lib/platform/CMSWindowsScreenSaver.h
lib/platform/CPlatform.cpp
lib/platform/CPlatform.h
lib/platform/CSynergyHook.cpp
lib/platform/CSynergyHook.h
lib/platform/CUnixPlatform.cpp
lib/platform/CUnixPlatform.h
lib/platform/CWin32Platform.cpp
lib/platform/CWin32Platform.h
lib/platform/CXWindowsClipboard.cpp
lib/platform/CXWindowsClipboard.h
lib/platform/CXWindowsClipboardTextConverter.cpp
lib/platform/CXWindowsClipboardTextConverter.h
lib/platform/CXWindowsClipboardUCS2Converter.cpp
lib/platform/CXWindowsClipboardUCS2Converter.h
lib/platform/CXWindowsClipboardUTF8Converter.cpp
lib/platform/CXWindowsClipboardUTF8Converter.h
lib/platform/CXWindowsScreen.cpp
lib/platform/CXWindowsScreen.h
lib/platform/CXWindowsScreenSaver.cpp
lib/platform/CXWindowsScreenSaver.h
lib/platform/CXWindowsUtil.cpp
lib/platform/CXWindowsUtil.h
lib/platform/IMSWindowsScreenEventHandler.h
lib/platform/IPlatform.h
lib/platform/Makefile.am
lib/platform/makehook.dsp
lib/platform/platform.dsp
lib/platform/synrgyhk.dsp
lib/server/CClientProxy.cpp
lib/server/CClientProxy.h
lib/server/CClientProxy1_0.cpp
lib/server/CClientProxy1_0.h
lib/server/CConfig.cpp
lib/server/CConfig.h
lib/server/CHTTPServer.cpp
lib/server/CHTTPServer.h
lib/server/CMSWindowsPrimaryScreen.cpp
lib/server/CMSWindowsPrimaryScreen.h
lib/server/CPrimaryClient.cpp
lib/server/CPrimaryClient.h
lib/server/CPrimaryScreen.cpp
lib/server/CPrimaryScreen.h
lib/server/CServer.cpp
lib/server/CServer.h
lib/server/CXWindowsPrimaryScreen.cpp
lib/server/CXWindowsPrimaryScreen.h
lib/server/Makefile.am
lib/synergy/CClipboard.cpp
lib/synergy/CClipboard.h
lib/synergy/CInputPacketStream.cpp
lib/synergy/CInputPacketStream.h
lib/synergy/COutputPacketStream.cpp
lib/synergy/COutputPacketStream.h
lib/synergy/CProtocolUtil.cpp
lib/synergy/CProtocolUtil.h
lib/synergy/CTCPSocketFactory.cpp
lib/synergy/CTCPSocketFactory.h
lib/synergy/ClipboardTypes.h
lib/synergy/IClient.h
lib/synergy/IClipboard.h
lib/synergy/IPrimaryScreenReceiver.h
lib/synergy/IScreen.h
lib/synergy/IScreenEventHandler.h
lib/synergy/IScreenReceiver.h
lib/synergy/IScreenSaver.h
lib/synergy/IServer.h
lib/synergy/ISocketFactory.h
lib/synergy/KeyTypes.h
lib/synergy/Makefile.am
lib/synergy/MouseTypes.h
lib/synergy/ProtocolTypes.h
lib/synergy/Version.h
lib/synergy/XScreen.cpp
lib/synergy/XScreen.h
lib/synergy/XSynergy.cpp
lib/synergy/XSynergy.h
lib/synergy/libsynergy.dsp
mt/CCondVar.cpp
mt/CCondVar.h
mt/CLock.cpp
mt/CLock.h
mt/CMutex.cpp
mt/CMutex.h
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp
mt/CThreadRep.h
mt/CTimerThread.cpp
mt/CTimerThread.h
mt/Makefile.am
mt/XThread.h
mt/mt.dsp
net/CNetwork.cpp
net/CNetwork.h
net/CNetworkAddress.cpp
net/CNetworkAddress.h
net/CTCPListenSocket.cpp
net/CTCPListenSocket.h
net/CTCPSocket.cpp
net/CTCPSocket.h
net/IDataSocket.h
net/IListenSocket.h
net/ISocket.h
net/Makefile.am
net/XNetwork.cpp
net/XNetwork.h
net/XSocket.cpp
net/XSocket.h
net/net.dsp
platform/CMSWindowsClipboard.cpp
platform/CMSWindowsClipboard.h
platform/CMSWindowsClipboardAnyTextConverter.cpp
platform/CMSWindowsClipboardAnyTextConverter.h
platform/CMSWindowsClipboardTextConverter.cpp
platform/CMSWindowsClipboardTextConverter.h
platform/CMSWindowsClipboardUTF16Converter.cpp
platform/CMSWindowsClipboardUTF16Converter.h
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CMSWindowsScreenSaver.cpp
platform/CMSWindowsScreenSaver.h
platform/CPlatform.cpp
platform/CPlatform.h
platform/CSynergyHook.cpp
platform/CSynergyHook.h
platform/CUnixPlatform.cpp
platform/CUnixPlatform.h
platform/CWin32Platform.cpp
platform/CWin32Platform.h
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h
platform/CXWindowsClipboardTextConverter.cpp
platform/CXWindowsClipboardTextConverter.h
platform/CXWindowsClipboardUCS2Converter.cpp
platform/CXWindowsClipboardUCS2Converter.h
platform/CXWindowsClipboardUTF8Converter.cpp
platform/CXWindowsClipboardUTF8Converter.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
platform/CXWindowsScreenSaver.cpp
platform/CXWindowsScreenSaver.h
platform/CXWindowsUtil.cpp
platform/CXWindowsUtil.h
platform/IMSWindowsScreenEventHandler.h
platform/IPlatform.h
platform/Makefile.am
platform/makehook.dsp
platform/platform.dsp
platform/synrgyhk.dsp
server/CClientProxy.cpp
server/CClientProxy.h
server/CClientProxy1_0.cpp
server/CClientProxy1_0.h
server/CConfig.cpp
server/CConfig.h
server/CHTTPServer.cpp
server/CHTTPServer.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CPrimaryScreen.cpp
server/CPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/Makefile.am
server/resource.h
server/server.cpp
server/server.dsp
server/server.rc
synergy.dsw
synergy/CClipboard.cpp
synergy/CClipboard.h
synergy/CInputPacketStream.cpp
synergy/CInputPacketStream.h
synergy/COutputPacketStream.cpp
synergy/COutputPacketStream.h
synergy/CProtocolUtil.cpp
synergy/CProtocolUtil.h
synergy/CTCPSocketFactory.cpp
synergy/CTCPSocketFactory.h
synergy/ClipboardTypes.h
synergy/IClient.h
synergy/IClipboard.h
synergy/IPrimaryScreenReceiver.h
synergy/IScreen.h
synergy/IScreenEventHandler.h
synergy/IScreenReceiver.h
synergy/IScreenSaver.h
synergy/IServer.h
synergy/ISocketFactory.h
synergy/KeyTypes.h
synergy/Makefile.am
synergy/MouseTypes.h
synergy/ProtocolTypes.h
synergy/Version.h
synergy/XScreen.cpp
synergy/XScreen.h
synergy/XSynergy.cpp
synergy/XSynergy.h
synergy/synergy.dsp

Reorganized source tree.  Moved client.cpp into cmd/synergy as
synergy.cpp and server.cpp into cmd/synergyd as synergyd.cpp.
Moved and renamed related files.  Moved remaining source files
into lib/....  Modified and added makefiles as appropriate.
Result is that library files are under lib with each library
in its own directory and program files are under cmd with each
command in its own directory.

----------
2002/07/30 15:17:44 crs
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CSecondaryScreen.cpp
client/CSecondaryScreen.h
client/CServerProxy.cpp
client/CServerProxy.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/client.cpp
server/CClientProxy.h
server/CClientProxy1_0.cpp
server/CClientProxy1_0.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CPrimaryScreen.cpp
server/CPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/server.cpp
synergy/IClient.h

Replaced method name `run' with `mainLoop', and `stop' and `quit'
with `exitMainLoop' in most places.

----------
2002/07/30 14:59:36 crs
client/CClient.h
client/CMSWindowsSecondaryScreen.h
client/CSecondaryScreen.h
client/CServerProxy.cpp
client/CServerProxy.h
client/CXWindowsSecondaryScreen.h
server/CClientProxy.h
server/CClientProxy1_0.h
server/CConfig.h
server/CHTTPServer.cpp
server/CHTTPServer.h
server/CMSWindowsPrimaryScreen.h
server/CPrimaryClient.h
server/CPrimaryScreen.h
server/CServer.h
server/CXWindowsPrimaryScreen.h
synergy/IClient.h
synergy/IScreen.h
synergy/IScreenReceiver.h
synergy/IServer.h

Added doxygen comments for all relevant headers in client and server.

----------
2002/07/29 17:03:55 crs
platform/CMSWindowsClipboard.h
platform/CMSWindowsClipboardAnyTextConverter.h
platform/CMSWindowsClipboardTextConverter.h
platform/CMSWindowsClipboardUTF16Converter.h
platform/CMSWindowsScreen.h
platform/CMSWindowsScreenSaver.h
platform/CPlatform.h
platform/CSynergyHook.h
platform/CUnixPlatform.h
platform/CWin32Platform.h
platform/CXWindowsClipboard.h
platform/CXWindowsClipboardTextConverter.h
platform/CXWindowsClipboardUCS2Converter.h
platform/CXWindowsClipboardUTF8Converter.h
platform/CXWindowsScreen.h
platform/CXWindowsScreenSaver.h
platform/CXWindowsUtil.h
platform/IMSWindowsScreenEventHandler.h
platform/IPlatform.h

Added doxygen comments for all relevant headers in platform.

----------
2002/07/29 16:07:26 crs
synergy/CClipboard.h
synergy/CInputPacketStream.h
synergy/COutputPacketStream.h
synergy/CProtocolUtil.h
synergy/CTCPSocketFactory.h
synergy/ClipboardTypes.h
synergy/IClient.h
synergy/IClipboard.h
synergy/IPrimaryScreenReceiver.h
synergy/IScreen.h
synergy/IScreenEventHandler.h
synergy/IScreenReceiver.h
synergy/IScreenSaver.h
synergy/IServer.h
synergy/ISocketFactory.h
synergy/KeyTypes.h
synergy/MouseTypes.h
synergy/ProtocolTypes.h
synergy/Version.h
synergy/XScreen.h
synergy/XSynergy.h

Added doxygen comments for all relevant headers in synergy.

----------
2002/07/29 16:06:52 crs
platform/CMSWindowsScreen.cpp
server/CPrimaryClient.cpp

moved try/catch block from CMSWindowsScreen to CPrimaryClient.
this means CMSWindowsScreen doesn't need to include XSynergy.h.

----------
2002/07/29 16:05:59 crs
doc/doxygen.cfg

changed doxygen configuration.

----------
2002/07/28 19:06:52 crs
net/CNetwork.h
net/CNetworkAddress.h
net/CTCPListenSocket.h
net/CTCPSocket.h
net/IDataSocket.h
net/IListenSocket.h
net/ISocket.h
net/XNetwork.h
net/XSocket.cpp
net/XSocket.h

Added doxygen comments for all relevant headers in net.

----------
2002/07/28 17:55:59 crs
http/CHTTPProtocol.h
http/XHTTP.cpp
http/XHTTP.h

Added doxygen comments for all relevant headers in http.

----------
2002/07/28 17:25:13 crs
io/CBufferedInputStream.cpp
io/CBufferedInputStream.h
io/CBufferedOutputStream.cpp
io/CBufferedOutputStream.h
io/CInputStreamFilter.h
io/COutputStreamFilter.h
io/CStreamBuffer.h
io/IInputStream.h
io/IOutputStream.h
io/XIO.h

Added doxygen comments for all relevant headers in io.

----------
2002/07/28 13:34:19 crs
mt/CCondVar.h
mt/CLock.h
mt/CMutex.h
mt/CThread.h
mt/CThreadRep.h
mt/CTimerThread.h
mt/XThread.h

Added doxygen comments for all relevant headers in mt.

----------
2002/07/26 18:28:18 crs
base/CFunctionJob.h
base/CLog.h
base/CStopwatch.h
base/CString.h
base/CUnicode.h
base/IInterface.h
base/IJob.h
base/TMethodJob.h
base/XBase.h
base/common.h

added doxygen comments for all relevant headers in base.

----------
2002/07/26 18:27:31 crs
platform/CXWindowsUtil.cpp

fixed type mismatch (SInt32 vs int) in definition of
getWindowProperty().

----------
2002/07/26 16:05:59 crs
doc/doxygen.cfg

added configuration file for building doxygen documentation.
the code is not yet doxygen documented, though.

----------
2002/07/26 15:22:25 crs
platform/CXWindowsUtil.cpp

now deleting property when so requested even if read failed.

----------
2002/07/25 18:08:00 crs
notes

checkpoint.

----------
2002/07/25 17:58:01 crs
client/client.cpp
net/XSocket.cpp
server/server.cpp

improved error messages for bad addresses.

----------
2002/07/25 17:52:40 crs
base/XBase.cpp
http/XHTTP.cpp
io/XIO.cpp
net/XNetwork.cpp
net/XSocket.cpp
server/CConfig.cpp
server/server.cpp
synergy/CProtocolUtil.cpp
synergy/XScreen.cpp
synergy/XSynergy.cpp

made all getWhat() methods on exceptions consistent.  they now
all use format() the same way.  also changed format() to actually
do formatting.  however, it doesn't try looking up formatting
strings by id, it just uses the fallback format string.

----------
2002/07/25 17:23:35 crs
base/CLog.cpp
base/CLog.h
base/CString.cpp
base/CString.h

moved string formatting into CStringUtil from CLog and added
methods for format positional string arguments.

----------
2002/07/25 09:55:01 crs
platform/CXWindowsScreen.cpp

added unix specific implementation of CXWindowsScreen::mainLoop()
that uses poll() to process events more efficiently.  it won't
wake up nor sleep any more than necessary, unlike the platform
independent implementation that polls and sleeps.

----------
2002/07/25 09:23:24 crs
platform/CXWindowsClipboard.cpp

finished INCR transfer changes.  also made motifGetTime() return
icccmGetTime() because it seems motif does TIMESTAMP like ICCCM.

----------
2002/07/25 08:57:46 crs
platform/CXWindowsClipboard.cpp

checkpoint.  working on INCR transfers.

----------
2002/07/24 19:26:18 crs
platform/CMSWindowsScreen.cpp
platform/CWin32Platform.cpp
platform/CWin32Platform.h

fixes for win32 due to changes in how s_restartable is handled.
the main change is that WM_QUIT now causes the thread to be
cancelled instead of mainLoop() just returning.  this also
requires runDaemon() to call the run function in a new thread
each time it calls it because it could can cancelled.

----------
2002/07/24 19:24:21 crs
platform/CMSWindowsClipboardTextConverter.cpp
platform/CMSWindowsClipboardUTF16Converter.cpp

fixes for win32 clipboard due to CUnicode nul terminator changes.

----------
2002/07/24 19:23:46 crs
base/CUnicode.cpp

fixed an off-by-one error in UTF8ToText().

----------
2002/07/24 17:39:52 crs
base/CUnicode.cpp

fixed an off-by-one error in textToUTF8().

----------
2002/07/24 17:30:32 crs
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h

fixed type of TARGETS target.

----------
2002/07/24 17:22:01 crs
base/CUnicode.cpp
base/CUnicode.h
platform/CMSWindowsClipboardTextConverter.cpp
platform/CMSWindowsClipboardUTF16Converter.cpp

made handling of nul terminators in CUnicode more sane.

----------
2002/07/24 17:07:52 crs
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h

some fixes for motif clipboard.  still not handling incremental
transfer through root window property because not sure of the
protocol.

----------
2002/07/24 13:01:18 crs
client/CClient.cpp
client/client.cpp
net/CTCPSocket.cpp
net/XSocket.h
platform/CUnixPlatform.cpp
platform/CUnixPlatform.h
platform/CWin32Platform.cpp
platform/CWin32Platform.h
platform/CXWindowsScreen.cpp
platform/CXWindowsUtil.cpp
platform/IPlatform.h
server/CPrimaryClient.cpp
server/CServer.cpp
server/server.cpp
synergy/ProtocolTypes.h
synergy/Version.h

removed restart function from platform.  no longer trying to
restart if the X server connection was lost;  since synergy
is likely to be started by xdm or the user's xsession, it's
better for synergy to simply terminate when the connection
is lost.  synergy will still restart due to other errors.
also fixed numerous other minor bugs and cleaned some stuff
up (like app error codes are now consistent and enumerated
in Version.h, for lack of a better place).  and boosted
version and protocol numbers.

----------
2002/07/23 19:00:01 crs
notes

checkpoint.

----------
2002/07/23 18:59:44 crs
platform/CMSWindowsClipboard.cpp

fixed a bug in clipboard conversion (was using wrong converter or
no converter when one was available).

----------
2002/07/23 18:59:15 crs
client/CMSWindowsSecondaryScreen.cpp
server/CMSWindowsPrimaryScreen.cpp
synergy/KeyTypes.h

converted win32 to use unicode based KeyID.

----------
2002/07/23 17:04:41 crs
client/CXWindowsSecondaryScreen.cpp
server/CXWindowsPrimaryScreen.cpp
synergy/KeyTypes.h

checkpoint.  converting KeyID to use UTF-32 encoding instead of
X11 keysyms.

----------
2002/07/23 15:34:05 crs
synergy/CClipboard.cpp
synergy/IClipboard.h

no longer attempting to unmarshall clipboard formats that aren't
known to the caller.  if the client supports more formats than
the server then the server could get a clipboard format greater
than kNumFormats.  with this change the server discards the
extra formats instead of crashing.

----------
2002/07/23 15:26:40 crs
base/CUnicode.cpp
base/CUnicode.h
base/base.dsp
platform/CMSWindowsClipboard.cpp
platform/CMSWindowsClipboard.h
platform/CMSWindowsClipboardAnyTextConverter.cpp
platform/CMSWindowsClipboardAnyTextConverter.h
platform/CMSWindowsClipboardTextConverter.cpp
platform/CMSWindowsClipboardTextConverter.h
platform/CMSWindowsClipboardUTF16Converter.cpp
platform/CMSWindowsClipboardUTF16Converter.h
platform/platform.dsp

unicode clipboard changes for win32 plus some bug fixes.

----------
2002/07/23 12:35:36 crs
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h

removed unnecessary atoms from X clipboard object.

----------
2002/07/23 12:08:30 crs
base/CUnicode.cpp

checkpoint.  more CUnicode fixes.

----------
2002/07/23 11:51:13 crs
base/CUnicode.cpp

checkpoint.  fixed the other cases in the same function as the
previous checkin.  also prevented the errors flag from getting
reset after the multibyte to wide character conversion.

----------
2002/07/23 11:42:54 crs
base/CUnicode.cpp

checkpoint.  fixed cases for mbrtowc (was using 1 and 2 instead
of -1 and -2).

----------
2002/07/23 11:36:18 crs
base/CUnicode.cpp
base/CUnicode.h
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboardTextConverter.cpp

checkpoint.  more UTF8 clipboard stuff.

----------
2002/07/23 09:33:50 crs
base/CUnicode.cpp
base/CUnicode.h
platform/CXWindowsClipboard.cpp

checkpoint.  more UTF8 clipboard testing.

----------
2002/07/22 18:46:57 crs
base/CUnicode.cpp
platform/CXWindowsClipboard.cpp

checkpoint.  more UTF8 clipboard stuff.

----------
2002/07/22 18:17:21 crs
platform/CXWindowsClipboard.cpp

checkpoint.  more UTF8 clipboard stuff.

----------
2002/07/22 18:03:44 crs
platform/CXWindowsClipboard.cpp

checkpoint.  working on UTF8 clipboard transfer.

----------
2002/07/22 17:32:51 crs
base/CUnicode.cpp
base/CUnicode.h
base/Makefile.am
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h
platform/CXWindowsClipboardTextConverter.cpp
platform/CXWindowsClipboardTextConverter.h
platform/CXWindowsClipboardUCS2Converter.cpp
platform/CXWindowsClipboardUCS2Converter.h
platform/CXWindowsClipboardUTF8Converter.cpp
platform/CXWindowsClipboardUTF8Converter.h
platform/Makefile.am
synergy/IClipboard.h

checkpoint.  adding support for unicode in clipboard.

----------
2002/07/19 21:27:59 crs
README

changed notes about how to startup configure synergy.  it now
discourages using boot scripts, which can't handle X servers
requiring authorization, and suggests modifying xdm's Xsetup.

----------
2002/07/19 20:44:57 crs
examples/synergy.linux.init
examples/synergyd.linux.init

updated init.d scripts to work with SuSE.  however, it looks as
if they cannot be used on an X server using authentication
because the daemons they start are not authorized to connect to
the X server.  X users should modify Xsetup or Xsession.

----------
2002/07/19 18:12:41 crs
server/CXWindowsPrimaryScreen.cpp

formatting.

----------
2002/07/19 17:39:45 crs
server/CPrimaryScreen.cpp

removed <CR> from previous change.

----------
2002/07/19 17:38:34 crs
server/CPrimaryScreen.cpp

reordered operations to reduce cursor flashing when entering
primary screen.

----------
2002/07/18 17:03:10 crs
platform/CSynergyHook.cpp
server/CMSWindowsPrimaryScreen.cpp

fixed handling of calling init() when a previous process did not
call cleanup().  if that process still appears to exist then the
init() fails.  otherwise some cleanup is performed and the init()
proceeds.  a synergy server started while another is running will
now exit immediately without interfering the original server.

----------
2002/07/18 17:00:48 crs
server/CServer.cpp
server/CServer.h

now cancelling and waiting for the accept client thread before
cancelling any other threads.  this prevents a race condition
where we disconnect a client but it reconnects before we
manage to shutdown.  that might leave a thread running and
the connection won't be closed down properly.

----------
2002/07/18 16:58:08 crs
mt/CThreadRep.cpp
platform/CMSWindowsScreen.cpp

changed waitForEvent() to handle a peculiar feature of
MsgWaitForMultipleObjects():  it will not return immediately
if an event already in the queue when it's called was already
in the queue during the last call to GetMessage()/PeekMessage().
also now discarding screen saver events if there are any other
screen saver events in the queue already.  this prevents these
events from piling up in the queue, which they'd do because we
sleep for 250ms when handling each one.

----------
2002/07/18 08:54:17 crs
synergy.dsw

fixed incorrect paths to makehook and synrgyhk project files.

----------
2002/07/17 17:27:41 crs
platform/CMSWindowsScreen.cpp
platform/CSynergyHook.cpp
platform/CSynergyHook.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CPrimaryScreen.cpp
server/CPrimaryScreen.h

attempt to fix stuttering when leaving win32 screen.  seems to
work but will let testers make the final call.  also fixed
desktop synchronization by setting a variable that was
mistakenly left unset.  and tried to work around an apparent
bug in MsgWaitForMultipleObjects() that prevented the service
from closing down properly.  start/pause/continue/stop
sequence still doesn't shut down correctly.  start/pause/stop
and start/stop work fine.

----------
2002/07/17 17:24:44 crs
client/CClient.cpp

removed unnecessary local variable.

----------
2002/07/16 19:07:15 crs
base/stdistream.h
io/CStreamBuffer.cpp

fixes to get it compiling on .NET.

----------
2002/07/16 16:52:26 crs
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CSecondaryScreen.cpp
client/CServerProxy.cpp
client/CServerProxy.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
platform/CXWindowsScreen.cpp
platform/IMSWindowsScreenEventHandler.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CPrimaryScreen.cpp
server/CPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreenReceiver.h
synergy/IScreen.h
synergy/IScreenEventHandler.h
synergy/IScreenReceiver.h
synergy/IServer.h

moved onError() method to IScreenReceiver from IPrimaryScreenReceiver.
also implemented onError in CClient which previously did not have
any way to handle display disconnection.

----------
2002/07/15 15:03:04 crs
platform/CSynergyHook.cpp
platform/synrgyhk.dsp

completing previous checkin.

----------
2002/07/15 15:01:36 crs
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CSecondaryScreen.cpp
client/CSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/client.dsp
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CSynergyHook.cpp
platform/CSynergyHook.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
platform/IMSWindowsScreenEventHandler.h
platform/makehook.dsp
platform/platform.dsp
platform/synrgyhk.dsp
server/CConfig.cpp
server/CConfig.h
server/CHTTPServer.cpp
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CPrimaryScreen.cpp
server/CPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CSynergyHook.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/makehook.dsp
server/server.dsp
server/synrgyhk.dsp
synergy/IScreen.h
synergy/IScreenEventHandler.h
synergy/ProtocolTypes.h
synergy/synergy.dsp

checkpoint.  refactored win32 code.  had to edit and rename some
files so this is only a checkpoint.

----------
2002/07/13 22:00:38 crs
client/CClient.cpp
client/CClient.h
client/CSecondaryScreen.cpp
client/CSecondaryScreen.h
client/CServerProxy.cpp
client/CServerProxy.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/ISecondaryScreen.h
client/Makefile.am
client/client.cpp
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
server/CClientProxy.h
server/CClientProxy1_0.cpp
server/CClientProxy1_0.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CPrimaryScreen.cpp
server/CPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/IPrimaryScreen.h
server/Makefile.am
server/server.cpp
synergy/IClient.h
synergy/IPrimaryScreenReceiver.h
synergy/IScreen.h
synergy/IScreenEventHandler.h
synergy/IScreenReceiver.h
synergy/IServer.h
synergy/Makefile.am

checkpoint.  still refactoring.  merged common code from primary
screens into CPrimaryScreen and merged common code from secondary
screens into CSecondaryScreen.  changed is-a relationship to a
has-a between the primary and secondary screen classes and the
generic platform dependent screen class to avoid multiple
inheritance of implementation.  also standardized the interface
for those generic screen classes.  adding a platform now involves
implementing simpler interfaces:  IScreen for the generic screen,
IScreenEventHandler and some methods of CPrimaryScreen for the
primary screen, and IScreenEventHandler and some methods of
CSecondaryScreen for the secondary screen.  did X11 platform
but not win32 platform.

----------
2002/07/12 20:41:23 crs
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
platform/CXWindowsScreenSaver.cpp
platform/CXWindowsScreenSaver.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h

refactoring.  refactored stuff in client (with changes to server
as necessary).

----------
2002/07/11 18:58:49 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h

checkpoint.  making win32 and X primary screen code more similar
in order to share code later.

----------
2002/07/11 13:13:37 crs
client/CClient.cpp
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CServerProxy.cpp
client/client.dsp
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CServer.cpp
server/CServer.h
server/CSynergyHook.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/IPrimaryScreen.h
server/server.dsp
synergy/synergy.dsp

applied refactoring to win32 code.

----------
2002/07/10 21:22:28 crs
client/CClient.cpp
client/CClient.h
client/CServerProxy.cpp
client/CServerProxy.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/ISecondaryScreen.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreenReceiver.h
synergy/IScreenReceiver.h
synergy/IServer.h
synergy/Makefile.am

more refactoring.

----------
2002/07/10 20:18:32 crs
client/CClient.cpp
client/CClient.h
client/CServerProxy.cpp
client/CServerProxy.h
client/ISecondaryScreen.h
client/Makefile.am
client/client.cpp
server/CClientProxy.h
server/CClientProxy1_0.cpp
server/CClientProxy1_0.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CServer.cpp
synergy/IClient.h
synergy/ISecondaryScreen.h
synergy/Makefile.am

refactored client code.  it now uses IClient and IServer and
has a CServerProxy, making it's design similar to the server
code.

----------
2002/07/10 14:29:50 crs
synergy/IClient.h

removed some obsolete comments.

----------
2002/07/10 14:15:17 crs
server/CClientProxy1_0.cpp
server/CClientProxy1_0.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/IPrimaryReceiver.h
server/Makefile.am
synergy/IServer.h
synergy/ProtocolTypes.h

removed IPrimaryReceiver in favor of IServer, which required a few
minor changes to support IPrimaryReciever's functionality.  this
does mean that the IPrimaryScreen class will be calling some
methods with dummy arguments.  those are documented in
CPrimaryClient.

----------
2002/07/09 21:22:31 crs
acinclude.m4
acsite.m4
config/depcomp
config/install-sh
config/missing
config/mkinstalldirs
mt/CThread.cpp
mt/CThread.h
notes
platform/CXWindowsClipboard.cpp
server/CClientProxy.cpp
server/CClientProxy.h
server/CClientProxy1_0.cpp
server/CClientProxy1_0.h
server/CPrimaryClient.cpp
server/CPrimaryClient.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol.cpp
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/IPrimaryReceiver.h
server/IPrimaryScreen.h
server/IServerProtocol.h
server/Makefile.am
synergy/IClient.h
synergy/IServer.h
synergy/Makefile.am

updated to new automake and refactored server stuff.  the server
now speaks to the primary screen and secondary screens almost
everywhere the same way through an IClient interface;  only
special primary screen calls are accessed through a different
interface, the CPrimaryClient interface.  this simplifies the
server since it no longer needs to test whether the active screen
is the primary or a secondary in most cases.

the server no longer speaks directly to the primary screen;  all
that goes through the CPrimaryClient, which often just forwards
the call.  the primary screen no longer speaks directly to the
server either, again going through the CPrimaryClient via a
IPrimaryReceiver interface.

CServerProtocol classes have been replaced by CClientProxy
classes which are very similar.  the name makes more sense
though.

----------
2002/07/09 17:31:45 crs
server/IPrimaryScreen.h
synergy/IPrimaryScreen.h
synergy/Makefile.am

checkpoint.  moved IPrimaryScreen.h.

----------
2002/07/07 15:15:34 crs
server/IServerProtocol.h
synergy/IServerProtocol.h

moved IServerProtocol to server from synergy directory.

----------
2002/07/03 16:25:36 crs
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h

fixed spurious mouse motions when entering/leaving primary
screen on X11.

----------
2002/07/01 15:05:49 crs
server/CMSWindowsPrimaryScreen.cpp

mistakenly removed mouse button checks when on secondary screens
from isLockedToScreen() in earlier checkin.

----------
2002/07/01 14:01:23 crs
README
notes

checkpoint.

----------
2002/07/01 13:03:16 crs
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
synergy/ISecondaryScreen.h

now synthesizing key release events for each pressed key when
the client screen is closed.  this fixes the bug where the
client's keyboard was left with some keys logically pressed
when the client died (e.g. using ctrl+c on the client program
from the server's keyboard would leave the ctrl key logically
pressed).

----------
2002/07/01 13:01:16 crs
server/CServerProtocol1_0.cpp

disabled removing client if no heartbeat is received.  we don't
want that while testing because it might hide bugs.

----------
2002/07/01 13:00:12 crs
server/CMSWindowsPrimaryScreen.cpp

fixed locking to screen on win32.  was using GetKeyboardState()
to query keys but that doesn't give us up-to-date information.
now using GetAsyncKeyState() if on primary and m_keys if on
secondary.

----------
2002/07/01 12:58:52 crs
platform/CMSWindowsScreenSaver.cpp
platform/CMSWindowsScreenSaver.h

added win32 screen saver class forgotten in previous checkins.

----------
2002/06/26 16:31:48 crs
client/CClient.cpp
http/CHTTPProtocol.cpp
io/CBufferedInputStream.cpp
io/CBufferedInputStream.h
io/CInputStreamFilter.h
io/IInputStream.h
server/CMSWindowsPrimaryScreen.cpp
server/CServer.cpp
server/CServerProtocol1_0.cpp
server/CSynergyHook.cpp
synergy/CInputPacketStream.cpp
synergy/CInputPacketStream.h
synergy/CProtocolUtil.cpp
synergy/ProtocolTypes.h

synergy hook DLL will now restart itself if a client tries to
init() it while it's already running.  fixed an uninitialized
pointer bug in CServer and some cleanup-on-error code in
CMSWindowsPrimaryScreen.  also added timeout to read() on
IInputStream and a heartbeat sent by clients so the server
can disconnect clients that are dead but never reset the TCP
connection.  previously the server would keep these dead
clients around forever and if the user was locked on the
client screen for some reason then the server would have to
be rebooted (or the server would have to be killed via a
remote login).

----------
2002/06/26 13:48:08 crs
client/CClient.cpp
client/CClient.h

client now compresses mouse motion events.  this fixes slow
dragging on grace, possibly on win32 too.

----------
2002/06/26 13:31:06 crs
synergy/CInputPacketStream.cpp
synergy/CInputPacketStream.h

fixed getSize() to be non-blocking in CInputPacketStream.

----------
2002/06/26 12:44:52 crs
platform/CXWindowsScreen.cpp
platform/CXWindowsScreenSaver.h

fixed re-entrant calls to X bug.

----------
2002/06/23 23:24:22 crs
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreen.h

fixed handling of jumping to primary when screen saver starts
and back to secondary when it stops.  also now redirecting
keyboard input to root window when screen saver starts;  this
allows the user to type in the lock dialog and also effectively
discards any input used to deactivate the screen saver.

----------
2002/06/23 21:54:05 crs
notes

checkpoint.

----------
2002/06/23 21:53:31 crs
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/platform.dsp
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CSynergyHook.cpp
server/CSynergyHook.h

win32 screen saver now handled.

----------
2002/06/23 21:48:33 crs
platform/CXWindowsScreenSaver.cpp
platform/CXWindowsScreenSaver.h

now disabling disable job timer when forcing screen saver
activation.  previously the timer would deactivate the screen
saver shortly after activation.  job timer is restored when
the screen saver is deactivated.

----------
2002/06/23 15:43:40 crs
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
platform/CXWindowsScreenSaver.cpp
platform/CXWindowsScreenSaver.h
platform/CXWindowsUtil.cpp
server/CServer.cpp
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/Makefile.am
synergy/IPrimaryScreen.h

checkpoint screensaver changes.  now handling xscreensaver
dying and restarting or starting after synergy does.  also
now disabling the screen saver on the client.  next step:
win32 support.

----------
2002/06/22 20:29:59 crs
platform/CXWindowsScreen.cpp
platform/CXWindowsScreenSaver.cpp
platform/CXWindowsScreenSaver.h

fixes to get xscreensaver integration working.

----------
2002/06/22 19:47:27 crs
platform/CXWindowsClipboard.cpp
platform/CXWindowsScreenSaver.cpp
platform/CXWindowsUtil.cpp
platform/CXWindowsUtil.h
server/CXWindowsPrimaryScreen.cpp

CXWindowsUtil::CErrorLock wasn't XSync()'ing the display before
installing and uninstalling the new error handler, causing
errors before the lock to be caught and errors during the lock
to not be caught.  had to add Display* as argument to c'tor.

----------
2002/06/22 19:20:21 crs
client/CClient.cpp
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
platform/CXWindowsScreenSaver.cpp
platform/CXWindowsScreenSaver.h
platform/Makefile.am
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreen.h
synergy/IScreenSaver.h
synergy/ISecondaryScreen.h
synergy/Makefile.am

checkpoint.  adding screen saver support.  only on X so far
and untested.  also some known problems:  not detecting an
xscreensaver started after us and not detecting built-in
screen saver activation (not sure if we can without using
ugly extensions).

----------
2002/06/22 17:31:24 crs
client/Makefile.am
http/Makefile.am
io/Makefile.am
mt/Makefile.am
net/Makefile.am
platform/Makefile.am
server/Makefile.am
synergy/Makefile.am

added header files to _SOURCES.

----------
2002/06/22 13:55:45 crs
server/CXWindowsPrimaryScreen.cpp

added comments.

----------
2002/06/22 12:09:49 crs
client/CXWindowsSecondaryScreen.cpp

cleanup.

----------
2002/06/21 17:55:47 crs
client/CClient.cpp
client/CClient.h
client/CXWindowsSecondaryScreen.cpp
client/client.cpp
server/CServer.cpp
server/CServer.h
server/server.cpp

cleaned up some minor bugs.

----------
2002/06/21 17:54:22 crs
net/CNetwork.cpp
net/CNetwork.h

ported network changes to win32.

----------
2002/06/21 16:29:35 crs
net/CNetworkAddress.cpp

now trying to convert hostname as a dot notation address before
trying name lookup.  not all platforms will do this for us in
gethostbyname().

----------
2002/06/21 16:19:08 crs
net/CNetwork.cpp
net/CNetwork.h
net/CTCPListenSocket.cpp
net/CTCPSocket.cpp

fixed CTCPSocket::connect() to allow cancellation.

----------
2002/06/21 15:18:01 crs
server/CServer.cpp
server/CServer.h

some cleanup.  also fixed a race condition when adding threads
to the thread list:  the child thread would add itself to the
list which means there could be a time interval in the parent
where the child thread exists but isn't on the list.  the
parent now does the adding and removing.

----------
2002/06/21 15:15:34 crs
platform/CUnixPlatform.cpp

now blocking SIGINT and SIGTERM in restart function.  the child
should handle the signal and terminate.  then the restart
function will exit.

----------
2002/06/21 15:14:32 crs
mt/CThreadRep.cpp

signal handler thread now dies when SIGABRT is raised.  ignoring
SIGABRT in sigwait() seems to be a bug in the linux pthread
library.

----------
2002/06/20 16:27:49 crs
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h

fixed bug introduced by previous checkin.  calling XCheckIfEvent()
multiple times is *not* the same as calling XIfEvent() because the
former will re-encounter events that it didn't process previously.
to make things simple it now pulls events off the queue and saves
them if not processed for selection transfer and puts them back
afterwards.

----------
2002/06/20 14:01:44 crs
platform/CXWindowsClipboard.cpp

speeded up clipboard transfer by avoiding a selection request
when it wasn't necessary.  (in particular, we were getting the
clipboard update time from the owner then emptying the clipboard,
so we didn't need to get the time.  worse, most owners don't
support getting the time and we often timed out.)

also fixed a multithread bug using the X display.  we were using
a CThread to send an event after a timeout while we were waiting
in XIfEvent().  this necessarily involved two threads calling
into Xlib at once, which is not allowed.  now using polling to
do the timeout because Xlib doesn't have a function to get
events with a timeout.

----------
2002/06/20 13:35:28 crs
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h

checkpoint.  trying to fix a delay when sending clipboards on X.

----------
2002/06/20 11:13:37 crs
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h

added workaround for bug windows 98 (Me?) and multiple displays:
absolute mouse_event() moves don't work except for primary
display.

----------
2002/06/20 09:19:55 crs
server/CXWindowsPrimaryScreen.cpp

work around for bug with mouse driver on lombard powerbook.

----------
2002/06/19 20:24:35 crs
client/CMSWindowsSecondaryScreen.cpp
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CSynergyHook.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h

fixed bugs in mouse motion.  wasn't taking care to capture all
motion events relative to the previous mouse position.  for
example, if two mouse events arrive, the first at x+1,y and
the second at x+2,y, we used to compute deltas of 1,0 and 2,0
instead of 1,0 and 1,0.  that's fixed.  also worked around a
bug (probably) in windows that caused a motion event after a
SetCursorPos() to be lost or reported one pixel off from the
correct position.  now using mouse_event() which doesn't
have that problem.  also fixed calculation of normalized
coordinates for mouse_event() when there are multiple
displays.

----------
2002/06/19 17:03:29 crs
client/CClient.cpp
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol1_0.cpp
server/CSynergyHook.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/ProtocolTypes.h

checkpoint.  initial support for multiple displays on win32.

----------
2002/06/19 14:45:22 crs
client/Makefile.am
configure.in
server/Makefile.am

fixed addition of X11 -L and -l options on link lines.

----------
2002/06/19 12:21:26 crs
configure.in
platform/CUnixPlatform.cpp

checkpoint.  automake changes for wait().

----------
2002/06/19 11:58:48 crs
configure.in
http/CHTTPProtocol.cpp
platform/CUnixPlatform.cpp

checkpoint.  automake changes for reentrant functions.

----------
2002/06/19 11:23:49 crs
base/BasicTypes.h
base/CLog.cpp
base/CLog.h
base/CStopwatch.cpp
base/XBase.cpp
base/common.h
base/stdistream.h
base/stdostream.h
client/CClient.cpp
client/CXWindowsSecondaryScreen.cpp
client/client.cpp
configure.in
mt/CCondVar.cpp
mt/CCondVar.h
mt/CMutex.cpp
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp
mt/CThreadRep.h
net/CNetwork.cpp
net/CNetwork.h
platform/CPlatform.cpp
platform/CPlatform.h
platform/CXWindowsClipboard.h
platform/CXWindowsScreen.h
platform/CXWindowsUtil.h
server/CServer.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/server.cpp
synergy/CProtocolUtil.h

checkpoint.  more conversion to automake.

----------
2002/06/19 08:23:08 crs
config/install-sh
config/missing
config/mkinstalldirs
configure.in
install-sh
missing
mkinstalldirs

moved auxillary automake files into config directory.

----------
2002/06/18 19:47:52 crs
install-sh
missing
mkinstalldirs

added automake required tools.

----------
2002/06/18 19:44:34 crs
Make-linux
Make-solaris
Makecommon
Makefile
Makefile.am
acsite.m4
base/Makefile
base/Makefile.am
client/Makefile
client/Makefile.am
configure.in
http/Makefile
http/Makefile.am
io/Makefile
io/Makefile.am
mt/Makefile
mt/Makefile.am
net/Makefile
net/Makefile.am
platform/Makefile
platform/Makefile.am
server/Makefile
server/Makefile.am
synergy/Makefile
synergy/Makefile.am
tools/depconv

started to convert to autoconf/automake.

----------
2002/06/18 18:34:55 crs
base/CLog.cpp

now checking vsnprintf result against < 0 instead of == -1
for portability.

----------
2002/06/18 18:33:59 crs
net/XSocket.cpp

added FIXME to commented out code.

----------
2002/06/17 15:44:45 crs
README
client/client.cpp
server/server.cpp

made command line parsing a little more sane with respect to
windows NT services.

----------
2002/06/17 14:10:25 crs
README

updates

----------
2002/06/17 13:31:21 crs
base/CLog.cpp
base/CString.cpp
base/XBase.cpp
client/CClient.cpp
client/CMSWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.cpp
client/client.cpp
http/CHTTPProtocol.cpp
http/XHTTP.cpp
io/CBufferedInputStream.cpp
io/CBufferedOutputStream.cpp
io/CInputStreamFilter.cpp
io/COutputStreamFilter.cpp
io/CStreamBuffer.cpp
mt/CCondVar.cpp
mt/CMutex.cpp
mt/CThread.cpp
mt/CThreadRep.cpp
mt/CTimerThread.cpp
net/CNetwork.cpp
net/CNetworkAddress.cpp
net/CTCPListenSocket.cpp
net/CTCPSocket.cpp
net/XNetwork.cpp
net/XSocket.cpp
platform/CMSWindowsClipboard.cpp
platform/CMSWindowsScreen.cpp
platform/CUnixPlatform.cpp
platform/CWin32Platform.cpp
platform/CXWindowsClipboard.cpp
platform/CXWindowsScreen.cpp
platform/CXWindowsUtil.cpp
server/CConfig.cpp
server/CHTTPServer.cpp
server/CMSWindowsPrimaryScreen.cpp
server/CServer.cpp
server/CServerProtocol.cpp
server/CServerProtocol1_0.cpp
server/CSynergyHook.cpp
server/CXWindowsPrimaryScreen.cpp
server/server.cpp
synergy/CClipboard.cpp
synergy/CInputPacketStream.cpp
synergy/COutputPacketStream.cpp
synergy/CProtocolUtil.cpp
synergy/XSynergy.cpp

formatting changes.

----------
2002/06/17 12:02:26 crs
client/CClient.cpp
net/CTCPListenSocket.cpp
net/CTCPListenSocket.h
net/CTCPSocket.cpp
net/CTCPSocket.h
net/IDataSocket.h
net/IListenSocket.h
net/ISocket.h
server/CHTTPServer.cpp
server/CHTTPServer.h
server/CServer.cpp
synergy/CTCPSocketFactory.cpp
synergy/CTCPSocketFactory.h
synergy/ISocketFactory.h

refactored ISocket into IDataSocket.  the latter and IListenSocket
now derive from ISocket.

----------
2002/06/14 18:08:20 crs
base/CFunctionJob.cpp
base/CFunctionJob.h
base/CLog.cpp
base/TMethodJob.h
base/common.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/client.cpp
io/CStreamBuffer.cpp
io/CStreamBuffer.h
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp
mt/CThreadRep.h
platform/CMSWindowsScreen.cpp
platform/CUnixPlatform.cpp
platform/CUnixPlatform.h
platform/CWin32Platform.cpp
platform/CWin32Platform.h
platform/IPlatform.h
server/server.cpp

performance fixes on win32 plus clean up of some warnings.  also
improved error messages when uninstalling service.

----------
2002/06/11 20:10:49 crs
README

added a blurb about synrgyhk.dll and that the service manager
will look for the binary wherever it was when --install was
used.

----------
2002/06/11 20:09:59 crs
base/stdpre.h
platform/CMSWindowsScreen.h

windows fixes needed for formatting changes.

----------
2002/06/11 18:33:03 crs
client/CXWindowsSecondaryScreen.cpp

commented out half-duplex flags that should never have been
uncommented.

----------
2002/06/11 18:31:06 crs
server/CServer.cpp

fixed bug with switching screens on primary when there's no
link in that direction (it would assert).  introduced bug
when adding support for wrapping.  now ignores attempts to
move in a direction with no link.

----------
2002/06/11 18:30:08 crs
platform/CUnixPlatform.cpp

added missing #include <signal.h>.

----------
2002/06/10 22:06:45 crs
base/BasicTypes.h
base/CFunctionJob.cpp
base/CLog.cpp
base/CLog.h
base/CString.cpp
base/CString.h
base/TMethodJob.h
base/XBase.cpp
base/XBase.h
base/common.h
base/stdistream.h
base/stdostream.h
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/client.cpp
http/CHTTPProtocol.cpp
http/CHTTPProtocol.h
http/XHTTP.cpp
http/XHTTP.h
io/CBufferedInputStream.cpp
io/CBufferedInputStream.h
io/CBufferedOutputStream.cpp
io/CBufferedOutputStream.h
io/CInputStreamFilter.cpp
io/COutputStreamFilter.cpp
io/CStreamBuffer.cpp
io/IInputStream.h
io/IOutputStream.h
io/XIO.cpp
io/XIO.h
mt/CCondVar.cpp
mt/CCondVar.h
mt/CLock.cpp
mt/CLock.h
mt/CMutex.cpp
mt/CMutex.h
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp
mt/CTimerThread.cpp
mt/CTimerThread.h
mt/XThread.h
net/CNetwork.cpp
net/CNetworkAddress.cpp
net/CNetworkAddress.h
net/CTCPListenSocket.cpp
net/CTCPSocket.cpp
net/CTCPSocket.h
net/IListenSocket.h
net/ISocket.h
net/Makefile
net/XNetwork.cpp
net/XNetwork.h
net/XSocket.cpp
net/XSocket.h
platform/CMSWindowsClipboard.cpp
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CPlatform.cpp
platform/CUnixPlatform.cpp
platform/CUnixPlatform.h
platform/CWin32Platform.cpp
platform/CWin32Platform.h
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
platform/CXWindowsUtil.cpp
platform/CXWindowsUtil.h
platform/IPlatform.h
server/CConfig.cpp
server/CConfig.h
server/CHTTPServer.cpp
server/CHTTPServer.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol.cpp
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
server/CSynergyHook.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/server.cpp
synergy/CClipboard.cpp
synergy/CClipboard.h
synergy/CInputPacketStream.cpp
synergy/COutputPacketStream.cpp
synergy/CProtocolUtil.cpp
synergy/CProtocolUtil.h
synergy/CTCPSocketFactory.cpp
synergy/IClipboard.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/IServerProtocol.h
synergy/ISocketFactory.h
synergy/XScreen.cpp
synergy/XSynergy.cpp

indentation and other formatting changes.  also cleaned up
#includes.

----------
2002/06/10 16:49:46 crs
base/CLog.cpp
base/CStopwatch.cpp
mt/CCondVar.cpp
mt/CMutex.cpp
mt/CThreadRep.h
net/CNetwork.cpp
net/CNetwork.h
platform/CMSWindowsClipboard.h
platform/CMSWindowsScreen.h
platform/CWin32Platform.h
server/CSynergyHook.h
server/synrgyhk.dsp

win32 changes.  now including windows.h with WIN32_LEAN_AND_MEAN
to avoid including some stuff we don't want (like winsock).

----------
2002/06/10 11:09:02 crs
README

fixes.

----------
2002/06/10 11:08:02 crs
README

updates.

----------
2002/06/10 11:00:55 crs
README
examples/synergy.conf
examples/synergy.linux.init
examples/synergyd.linux.init

added example files and a README.

----------
2002/06/10 10:08:36 crs
server/CMSWindowsPrimaryScreen.cpp
server/CServer.cpp
server/CXWindowsPrimaryScreen.cpp

now allowing a screen to be its own neighbor to allow wrapping.
also no longer warping mouse to 0,0 when setting server screen
info.  that was causing the mouse to jump if the server screen
had itself as its left or top neighbor (directly or indirectly)
once a screen could be its own neighbor.

----------
2002/06/10 09:49:21 crs
server/CConfig.cpp

fixed stripping of comments from configuration streams.

----------
2002/06/10 09:49:03 crs
client/client.cpp
server/server.cpp

changed "permitted" to "supported" in error messages.

----------
2002/06/09 23:08:18 crs
client/CClient.cpp

no longer camps if the server sends an error message.

----------
2002/06/09 22:20:28 crs
client/CClient.cpp
client/CClient.h
client/client.cpp

added support for camping, i.e. repeatly trying to connect to the
server until we succeed.

----------
2002/06/09 22:20:01 crs
mt/CTimerThread.cpp
mt/CTimerThread.h

CTimerThread now allows zero and negative timeouts.  a negative
timeout never times out and CTimerThread is a no-op.

----------
2002/06/09 18:03:32 crs
platform/CXWindowsScreen.cpp

now using ":0.0" as the display if DISPLAY isn't set.

----------
2002/06/09 18:00:03 crs
notes

checkpoint.

----------
2002/06/09 17:59:32 crs
client/client.cpp
server/CServer.cpp
server/CServer.h
server/server.cpp

added command line option to choose the screen name.  also now
using the hostname as the default name.  this is on both client
and server.

----------
2002/06/09 17:35:28 crs
mt/CThreadRep.cpp

added FIXME comment.

----------
2002/06/09 17:21:33 crs
server/CServer.cpp

fixed problem with setConfig().  if the new config didn't
include a screen that was already connected under an alias
then that screen wouldn't be disconnected and removed from
the screen list until the screen voluntarily disconnected.
at that time removeConnection() would assert because the
screen name would not be found.  now using the canonical
name in the protocol object as well as CServer.  this
allows setConfig() to always detect removed screens and
disconnect them.

----------
2002/06/09 16:53:57 crs
platform/CUnixPlatform.cpp

now exits instead of restarting if child dies due to an
unexpected signal.

----------
2002/06/09 16:53:25 crs
client/client.cpp
net/CNetwork.cpp
net/CNetwork.h
net/CNetworkAddress.cpp
net/CNetworkAddress.h
net/XSocket.cpp
net/XSocket.h
server/CConfig.cpp
server/CConfig.h
server/CHTTPServer.cpp
server/CServer.cpp
server/CServer.h
server/server.cpp
synergy/ProtocolTypes.h

added command line and configuration file arguments to choose
the address and port to listen on or connect to.  changed the
default port and put it in ProtocolTypes.h.  the HTTP port is
now no longer opened unless the --http argument is supplied
or the config file includes it.

----------
2002/06/08 23:24:40 crs
server/CConfig.cpp
server/CConfig.h
server/CServer.cpp
server/server.cpp

added aliases to configuration.  an alias is another name for
a screen.  it's expected that the server will want to accept
a given client under several names (e.g. the hostname and the
FQDN).

----------
2002/06/08 21:48:16 crs
notes

checkpoint.

----------
2002/06/08 21:48:00 crs
all.dsp
base/CLog.cpp
base/CLog.h
base/base.dsp
base/common.h
base/stdpre.h
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/client.cpp
client/client.dsp
http/http.dsp
io/io.dsp
mt/CThreadRep.cpp
mt/mt.dsp
net/net.dsp
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CUnixPlatform.cpp
platform/CUnixPlatform.h
platform/CWin32Platform.cpp
platform/CWin32Platform.h
platform/IPlatform.h
platform/platform.dsp
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CSynergyHook.cpp
server/CSynergyHook.h
server/makehook.dsp
server/server.cpp
server/server.dsp
server/synrgyhk.dsp
synergy/IPrimaryScreen.h
synergy/synergy.dsp

win32 changes.  changed names of binaries.  added support for
running as (and installing/installing) a service.  added
support for multiple desktops (NT only, 95 doesn't support
multiple desktops).

----------
2002/06/04 12:26:23 crs
Makefile
client/Makefile
client/client.cpp
client/client.dsp
platform/CMSWindowsClipboard.cpp
platform/CMSWindowsClipboard.h
platform/CMSWindowsScreen.cpp
platform/CMSWindowsScreen.h
platform/CPlatform.cpp
platform/CPlatform.h
platform/CUnixPlatform.cpp
platform/CUnixPlatform.h
platform/CWin32Platform.cpp
platform/CWin32Platform.h
platform/CXWindowsClipboard.cpp
platform/CXWindowsClipboard.h
platform/CXWindowsScreen.cpp
platform/CXWindowsScreen.h
platform/CXWindowsUtil.cpp
platform/CXWindowsUtil.h
platform/IPlatform.h
platform/Makefile
server/Makefile
server/server.cpp
server/server.dsp
synergy.dsw
synergy/CMSWindowsClipboard.cpp
synergy/CMSWindowsClipboard.h
synergy/CMSWindowsScreen.cpp
synergy/CMSWindowsScreen.h
synergy/CXWindowsClipboard.cpp
synergy/CXWindowsClipboard.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/CXWindowsUtil.cpp
synergy/CXWindowsUtil.h
synergy/Makefile
synergy/synergy.dsp
test.cpp

refactored some common platform dependent stuff into a new
library:  platform.  also removed test.cpp.

----------
2002/06/04 11:06:26 crs
client/CClient.cpp
client/client.cpp
server/CServer.cpp
server/CServerProtocol.cpp
server/server.cpp
synergy/ProtocolTypes.h
synergy/Version.h

added command line parsing, restartability, and daemonizing to
client.  broke win32 stuff though.  also moved version and
copyright constants into a new file and renamed protocol
version constants.

----------
2002/06/04 11:03:34 crs
base/CLog.cpp

fixed delete bug in printt -- when skipping file and line the
deleted pointer was wrong.

----------
2002/06/04 11:02:33 crs
synergy/CXWindowsClipboard.cpp

fixed timeout when getting selection -- forgot to set flag to
terminate event loop.

----------
2002/06/03 18:53:18 crs
base/CLog.cpp
base/CLog.h
server/CConfig.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/server.cpp
synergy/CXWindowsScreen.cpp
synergy/IPrimaryScreen.h

changes to add command line arguments.  also added automatic
restarting and daemonizing on unix.  daemon sends log messages
to syslog.  unix now reads config file from file named on
command line;  if no command line arg then uses effective
user's config file and if that's not there it finally tries
/etc/synergy.conf.  if there are no screens configured then
one is added for the primary screen.  broke some startup
stuff on win32.

also now timing out if X primary screen can't grab the mouse
and keyboard.  the server will just give up trying to switch
screens.  the grabs will fail is some other app has a grab
and won't release it.  note that kdm grabs the keyboard for
the duration that the login window is displayed, effectively
disabling synergy.

----------
2002/06/03 16:36:45 crs
base/CLog.cpp
base/CLog.h

added a method to set the filter given a priority string (instead
of a number).  fixed a comment related to what those priority
strings are.  added a CLOG_PRINT priority which is never filtered
and suppresses the trace info and the priority level message.
it's intended as a way to output a message through the logger
without getting extra output.

----------
2002/06/03 16:34:22 crs
base/CString.cpp
base/CString.h
base/Makefile
base/base.dsp
http/CHTTPProtocol.cpp
http/CHTTPProtocol.h

moved case insensitive comparison utility functions into CString
from CHTTPProtocol.

----------
2002/06/03 13:45:30 crs
client/CClient.cpp
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CServer.cpp
server/CServer.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/Makefile
synergy/XScreen.cpp
synergy/XScreen.h
synergy/synergy.dsp

added better handling of X server disconnecting unexpectedly.
the apps still exit but they do it in a mostly controlled
manner.  in particular, the server threads except the one
processing primary screen events will terminate gracefully.
this will be important should the server ever allow HTTP
clients to rewrite the configuration file.

note that X makes it effectively impossible to continue once
the X server disconnects.  even if it didn't it would be
difficult for synergy to recover.  users will have to add
synergy to the X display manager's startup script if they
expect the server to be restarted.  alternatively, we could
add code to fork synergy at startup;  the child would do
the normal work while the parent would simply wait for the
child to exit and restart it.

----------
2002/06/02 23:07:57 crs
net/CTCPListenSocket.cpp

shortened poll() timeout.

----------
2002/06/02 22:57:50 crs
io/CBufferedOutputStream.cpp
io/CBufferedOutputStream.h
net/CTCPSocket.cpp

changed buffered output stream to wait() when flush()ing instead
of polling/sleeping.  changed CTCPSocket to not use thread
cancellation but to instead use m_connected to exit the thread.
also shortened poll timeout.

----------
2002/06/02 21:35:20 crs
synergy/CMSWindowsScreen.cpp
synergy/CXWindowsScreen.cpp

make sleep shorter in poll/sleep getEvent() loops.

----------
2002/06/02 21:03:38 crs
synergy/CXWindowsClipboard.cpp
synergy/CXWindowsClipboard.h
synergy/CXWindowsUtil.cpp

removed poll/sleep code to improve performance.

----------
2002/06/02 19:04:24 crs
client/CXWindowsSecondaryScreen.cpp

now ignores key if there's no key mapped for a required modifier.
was asserting (on the wrong expression).

----------
2002/06/02 18:49:35 crs
client/CClient.cpp
client/client.cpp
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp
mt/CThreadRep.h
server/CServer.cpp
server/server.cpp

added SIGINT and SIGTERM handling to unix client and server.
either signal causes the main thread to be cancelled.  added
necessary code to make main thread cancellation clean up
nicely.

----------
2002/06/02 13:34:35 crs
http/CHTTPProtocol.cpp
http/CHTTPProtocol.h
server/CHTTPServer.cpp
server/CHTTPServer.h

added a maximum request size to CHTTPProtocol so we can bail
on clients that cause us to use too much memory.  also put
methods in CHTTPRequest to get/set headers and changed the
data structure used to store them.  fixed a couple of other
miscellaneous bugs in CHTTPProtocol.cpp.

----------
2002/06/02 11:49:46 crs
mt/CCondVar.h
server/CServer.cpp
server/CServer.h

now limiting number of simultaneous HTTP requests being handled
at once.  this is to prevent denial of service.

----------
2002/06/01 19:26:11 crs
base/CLog.cpp
base/CLog.h
base/CString.h
base/XBase.h
base/base.dsp
base/common.h
base/stdfstream.h
base/stdistream.h
base/stdlist.h
base/stdmap.h
base/stdostream.h
base/stdpost.h
base/stdpre.h
base/stdset.h
base/stdsstream.h
base/stdvector.h
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.h
client/client.cpp
client/client.dsp
http/CHTTPProtocol.cpp
http/CHTTPProtocol.h
http/XHTTP.cpp
http/http.dsp
io/CStreamBuffer.h
io/io.dsp
mt/mt.dsp
net/net.dsp
server/CConfig.cpp
server/CConfig.h
server/CHTTPServer.cpp
server/CHTTPServer.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CSynergyHook.cpp
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/makehook.dsp
server/server.cpp
server/server.dsp
server/synrgyhk.dsp
synergy.dsw
synergy/CXWindowsClipboard.h
synergy/IPrimaryScreen.h
synergy/synergy.dsp

fixes, mainly for windows.  first, had to add a notification from
CServer to the primary screen when the configuration changes so it
can make necessary adjustments (the win32 primary screen must tell
the hook dll about the new jump zones).

changed includes of some std c++ library files to go through
our own include files.  these wrap the include with stuff to
keep vc++ quiet when compiling at warning level 4, which is
what it does now.  it also works around missing <istream> and
<ostream> on g++2.96.

added missing std:: where necessary.  g++ doesn't really support
namespaces so it lets references without the namespace slip
through.

added workaround or fix.  not sure if istringstream::str(string)
should reset eofbit.  it does on g++ but does not on vc++.
added clear() after str() so it works either way.

added low-level keyboard hook to win32.  if available (it's only
available on NT SP3 and up) it allows us to catch and handle
alt+tab, alt+esc, ctrl+esc, and windows key hot keys.  i think
that leaves only ctrl+alt+del and accessibility functions
uncaught on those systems.

----------
2002/06/01 10:52:02 crs
server/CServer.cpp
server/CServer.h
server/CServerProtocol1_0.cpp

added mutex to all public methods that didn't already have it.
fixed two blown assertions.  first, if user tried to switch to
a client that had connected but hadn't yet sent the first info
message it would assert on the zero size screen.  second, if
the primary screen was handling a mouse motion on behalf of a
secondary screen when that secondary screen disconnected then
an assert would blow because the primary screen would call
onMouseMoveSecondary() but m_protocol on the active screen is
NULL because disconnecting the active secondary screen caused
the mouse to jump to the primary screen.

----------
2002/05/31 18:35:53 crs
server/CConfig.h

changed iterator to use iterator_traits directly instead of
std::iterator to support the old STL on grace.

----------
2002/05/31 18:18:29 crs
client/CClient.cpp
client/CClient.h
server/CServer.cpp
synergy/ProtocolTypes.h
synergy/XSynergy.cpp
synergy/XSynergy.h

server now rejects clients that are not in the configuration.
added a protocol message to indicate this.

----------
2002/05/31 18:09:43 crs
server/CServer.cpp
server/CServer.h
server/CServerProtocol1_0.cpp

fixed setConfig() to disconnect secondary screens that aren't
in the new configuration.

----------
2002/05/31 18:08:08 crs
server/CConfig.cpp
server/CConfig.h

made isScreen() a const method.

----------
2002/05/31 17:32:26 crs
server/CConfig.cpp
server/CConfig.h
server/server.cpp

added I/O for configuration files and changed the server to use
an external file for its configuration (was hard coding a config
for testing).

----------
2002/05/31 14:44:54 crs
server/CConfig.cpp
server/CScreenMap.cpp
server/Makefile
server/server.dsp

finished renaming CScreenMap to CConfig.

----------
2002/05/31 14:43:23 crs
server/CConfig.h
server/CHTTPServer.cpp
server/CHTTPServer.h
server/CScreenMap.cpp
server/CServer.cpp
server/CServer.h
server/CSynergyHook.cpp
server/server.cpp

checkpoint.  changed CScreenMap to CConfig.  must still change
CScreenMap.cpp to CConfig.cpp.

----------
2002/05/31 14:34:16 crs
server/CConfig.h
server/CHTTPServer.cpp
server/CScreenMap.cpp
server/CScreenMap.h
server/CServer.h
server/CSynergyHook.cpp
server/server.cpp

checkpoint.  renamed CScreenMap.h to CConfig.h.  will be
changing CScreenMap to CConfig everywhere.

----------
2002/05/31 14:25:26 crs
base/CLog.cpp
base/CLog.h
client/client.cpp
server/server.cpp

added methods to CLog for getting the outputter, getting and
setting the priority filter, and added code for thread safety.
added code to apps to enable thread safety in CLog.

----------
2002/05/30 16:13:16 crs
Makefile
base/common.h
http/CHTTPProtocol.cpp
http/CHTTPProtocol.h
http/Makefile
http/XHTTP.cpp
http/XHTTP.h
server/CHTTPServer.cpp
server/CHTTPServer.h
server/CScreenMap.cpp
server/CScreenMap.h
server/CServer.cpp
server/CServer.h
server/Makefile

added basic support for an embedded HTTP server.  server
currently supports editing the screen map but changing
the map won't behave correctly if there are connected
screens.

----------
2002/05/30 16:11:59 crs
net/CTCPSocket.cpp
net/CTCPSocket.h

fixed bug in closing down a socket.

----------
2002/05/27 18:55:51 crs
synergy/CMSWindowsClipboard.cpp
synergy/CMSWindowsClipboard.h

updated win32 clipboard to match new model.

----------
2002/05/27 18:35:14 crs
notes

checkpoint

----------
2002/05/27 18:30:13 crs
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/CXWindowsClipboard.cpp
synergy/CXWindowsScreen.h
synergy/CXWindowsUtil.cpp
synergy/CXWindowsUtil.h

removed getEventMask() from primary screen.  added a class to
CXWindowsUtil that installs/uninstalls an X error hander.
using that in primary screen, clipboard, and util to ensure
that certain errors don't kill the app.

----------
2002/05/27 18:28:06 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h

removed getEventMask() and fixed some comments.  also now using
toggle key states in updateModifiers().

----------
2002/05/27 17:05:34 crs
synergy/CXWindowsClipboard.cpp

changed lesstif hack to only apply to the CLIPBOARD selection.
apprently the PRIMARY selection must follow the ICCCM protocol
correctly.

----------
2002/05/27 16:51:07 crs
synergy/CXWindowsUtil.cpp
synergy/CXWindowsUtil.h

added missing files from previous submit.

----------
2002/05/27 16:22:59 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/CClipboard.cpp
synergy/CClipboard.h
synergy/CXWindowsClipboard.cpp
synergy/CXWindowsClipboard.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/IClipboard.h
synergy/Makefile

checkpoint.  changed clipboard model.  the clipboard can only
be accessed now between open()/close().  ownership of the
clipboard is asserted via the empty() method.  this parallels
the win32 model (but the win32 code hasn't been updated yet).

refactored X11 clipboard code.  moved the bulk of it into
CXWindowsClipboard and moved some comment event handling into
CXWindowsScreen.  changed how requests are processed into a
hopefully easier to understand model.  added support for getting
clipboard from and sending clipboard to motif (or at least
lesstif) clients.  sending to lesstif required a hack to work
around an apparent bug in lesstif.

----------
2002/05/24 17:54:34 crs
notes

checkpoint

----------
2002/05/24 17:54:28 crs
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CMSWindowsPrimaryScreen.cpp
server/CServer.cpp
server/CServer.h
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
server/CXWindowsPrimaryScreen.cpp
synergy/CMSWindowsScreen.cpp
synergy/CMSWindowsScreen.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/IServerProtocol.h
synergy/ProtocolTypes.h

added screen locking support to win32.  added support for
resolution changing (only semi-supported on X because that
has no means for resizing screen anyway).  also fixed some
clipboard problems on win32.

----------
2002/05/24 14:37:12 crs
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreen.h

added support for locking to a screen when the sroll lock is
toggled on or when any key or button is pressed.  fully
implemented on X but stubbed out for now on win32.

----------
2002/05/23 18:35:15 crs
notes

checkpoint

----------
2002/05/23 18:35:08 crs
server/CMSWindowsPrimaryScreen.cpp
server/CSynergyHook.cpp
server/CSynergyHook.h

added support for mouse wheel on win32.

----------
2002/05/23 15:50:38 crs
client/CXWindowsSecondaryScreen.cpp
server/CXWindowsPrimaryScreen.cpp

added support for mouse wheel on X.

----------
2002/05/23 15:00:39 crs
server/server.cpp

added a third screen to hard coded map for testing purposes.

----------
2002/05/23 15:00:13 crs
server/CServer.cpp

fixed log message.

----------
2002/05/23 14:56:03 crs
client/CClient.cpp
client/CClient.h
server/CServer.cpp
server/CServerProtocol.cpp
server/CServerProtocol1_0.cpp
synergy/ProtocolTypes.h
synergy/XSynergy.cpp
synergy/XSynergy.h

server no longer asserts when a client connects with a name that's
already in use by another client.  also added reporting of errors
from the server to clients so clients can report meaningful
messages to users.

----------
2002/05/23 14:04:43 crs
notes

checkpoint

----------
2002/05/23 14:04:35 crs
net/CNetwork.h
synergy/CXWindowsScreen.h

changed structs to classes.  there should be no more structs now.

----------
2002/05/22 17:09:08 crs
notes

checkpoint.

----------
2002/05/22 17:08:37 crs
synergy/CMSWindowsClipboard.cpp
synergy/CMSWindowsScreen.cpp
synergy/CMSWindowsScreen.h
synergy/CProtocolUtil.cpp

removed unnecessary call in screen class, added logging calls
in clipboard class, and added another cast in protocol util
to avoid warning on win32.

----------
2002/05/22 17:05:26 crs
server/CSynergyHook.cpp

now letting some key events filter through.  this allows the
keyboard lights to track toggle changes.  however, it also
seems to let through keyboard events that shouldn't get
through.

----------
2002/05/22 17:02:58 crs
server/CScreenMap.cpp

fixed incorrect for-loop over directions conditional.

----------
2002/05/22 17:01:17 crs
base/CLog.cpp
base/CLog.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h

win32 changes.  replaced log dialog hack with a windows console
window.  now attaching thread input queues as necessary. shifted
code around so toggling toggle keys is immediately reflected by
secondary screen's keyboard.  now setting extended key flag for
keys that need it.  fixed handling of shift + caps-lock.  added
handling of keys that should distinguish between left and right
but don't.  fixed get/set of active window on leave/enter of
primary screen.  replaced 1x1 primary window with a full screen
window to work around a problem with losing key events.  changed
calculation of mouse move deltas.

----------
2002/05/22 16:56:06 crs
net/CTCPListenSocket.cpp

fixed type of socket handle (from int to CNetwork::Socket).

----------
2002/05/22 16:55:19 crs
mt/CTimerThread.cpp

removed blank line.

----------
2002/05/22 16:55:05 crs
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp

changed un-inlined code to avoid bogus VC++ level 4 warnings.
added support for more win32 thread priorities.

----------
2002/05/22 16:51:59 crs
client/client.cpp

fixed parameter type for socket port.

----------
2002/05/22 16:43:14 crs
base/common.h

changed set of disabled win32 warnings.

----------
2002/05/22 16:42:48 crs
client/CClient.cpp

fixed NULL dereference.

----------
2002/05/22 16:41:24 crs
base/common.h

changed set of disabled win32 warnings.

----------
2002/05/22 16:40:51 crs
base/CLog.cpp
base/CLog.h

replaced logging dialog hack with a windows console window.

----------
2002/05/22 16:40:38 crs
client/CClient.cpp

fixed NULL dereference.

----------
2002/05/05 23:37:12 crs
net/CTCPSocket.cpp

removed setting send buffer to zero size.  it just reduced
performance.

----------
2002/05/05 19:52:03 crs
client/CXWindowsSecondaryScreen.cpp

replaced True/False with true/false when assigning to m_repeat.
also should now work if the first element of a modifier
keymapping is 0.  that won't normally be the case but xmodmap
was doing weird things on grace.  if the first element is 0
it'll try the second element.  if that's also zero then that
modifier will be ignored.

----------
2002/05/05 19:38:09 crs
client/CMSWindowsSecondaryScreen.cpp
server/CMSWindowsPrimaryScreen.cpp

fixes for win32 keyboard.

----------
2002/05/04 19:43:20 crs
client/CXWindowsSecondaryScreen.cpp

fixed caps-lock handling.

----------
2002/05/04 18:33:48 crs
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h

checkpoint.  added half duplex for num lock.

----------
2002/05/04 18:31:54 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h

checkpoint.  fixing up handling of half-duplex num-lock.

----------
2002/05/04 18:09:02 crs
client/CXWindowsSecondaryScreen.cpp

checkpoint.  changed when toggle keys toggle (now always on
release).  must see if this works.

----------
2002/05/04 18:08:22 crs
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
net/CTCPSocket.cpp
server/CMSWindowsPrimaryScreen.cpp

Fixes for win32 key handling.

----------
2002/05/04 11:23:11 crs
client/CXWindowsSecondaryScreen.cpp

fixed handling of shift + caps-lock.  those two modifiers should
cancel out if the keysym is subject to case conversion, but not
otherwise.  also added logging of key lookup code.

----------
2002/05/03 12:23:48 crs
client/CXWindowsSecondaryScreen.cpp

fixed handling of shift+tab on a system that can map ISO_Left_Tab.
now tries to map ISO_Left_Tab without shift first then falls back
to Tab (note that if ISO_Left_Tab can be mapped but requires a
modifier then the modifier will be added).  also changed attempt
to map ISO_Left_Tab as a backup to Tab to request the shift
modifier whether or not the primary screen requested it.

----------
2002/05/03 12:14:55 crs
client/CXWindowsSecondaryScreen.cpp

fixed handling of ISO_Left_Tab when that is not mapped to a
keycode by mapping it to tab with shift pressed.

----------
2002/05/03 11:49:30 crs
client/CXWindowsSecondaryScreen.cpp

removed attempt to make release/press of a repeating key use
the same server time.  was getting what appears to be deadlock
but not sure why.

----------
2002/05/03 11:26:44 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h

checkpoint.  made changes to support key autorepeats on X.

----------
2002/05/02 11:44:21 crs
synergy/COutputPacketStream.cpp

Indentation change.

----------
2002/05/02 11:43:52 crs
io/CStreamBuffer.cpp
net/CTCPSocket.cpp

Fixed bug in stream buffer that could cause data to be
inserted out of order.  Also removed unnecessary limit
on writes to the TCP socket.

----------
2002/05/02 11:33:34 crs
io/CStreamBuffer.cpp

checkpoint debugging of stream buffer.

----------
2002/05/01 16:30:20 crs
synergy/CXWindowsScreen.cpp

Was trying to avoid sending clipboard if timestamp wasn't
changed but clipboard owners may not update that timestamp
when the selection is changed.  Disabled the timestamp check.

----------
2002/05/01 16:17:57 crs
server/CServer.cpp
synergy/CXWindowsScreen.cpp

Added more checks to avoid sending unchanged clipboard data.
Still takes too long to query the clipboard owner for info
(maybe 1/10th second) but not sure why or if that can be
improved.

----------
2002/05/01 15:31:47 crs
Make-linux
net/CNetwork.h
net/CTCPSocket.cpp
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h

checkpoint.  turned off nagle and send buffering.  also
added test to skip clipboard conversion if a previous
conversion from that owner failed.

----------
2002/05/01 14:36:52 crs
server/CServer.cpp
server/CXWindowsPrimaryScreen.cpp

Fixed uninitialized variable when computing toggle mask.  Also
reduced priority of some mouse motion log messages.

----------
2002/05/01 14:35:55 crs
net/CSocketInputStream.cpp
net/CSocketInputStream.h
net/CSocketOutputStream.cpp
net/CSocketOutputStream.h
net/CSocketStreamBuffer.cpp
net/CSocketStreamBuffer.h
net/net.dsp

removed obsolete files.

----------
2002/04/30 18:30:05 crs
client/CXWindowsSecondaryScreen.cpp

added fallback for missing numpad movement keys (if there's no
mapping for those keys then the non-keypad versions are tried).

----------
2002/04/30 17:48:11 crs
client/CClient.cpp
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/IServerProtocol.h
synergy/ProtocolTypes.h

checkpoint.  now sending toggle modifier state when entering
a screen.  this allows the secondary screen to set it's
modifier state to match the primary screen's state.  this is
not strictly necessary since each keystroke should adjust the
modifier state as needed to get the right result.

----------
2002/04/30 16:25:29 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h

Added logging and handling of "half-duplex" caps-lock key.

----------
2002/04/30 16:23:30 crs
Make-linux
Make-solaris

Changed name for auto-generated dependency files from
Makedepend to .depend.

----------
2002/04/30 16:23:03 crs
client/CClient.cpp
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServerProtocol1_0.cpp
server/server.rc
synergy/CClipboard.cpp
synergy/CMSWindowsClipboard.cpp
synergy/CMSWindowsClipboard.h
synergy/synergy.dsp

Fixes to get win32 client and server up to date.

----------
2002/04/29 14:40:01 crs
base/CFunctionJob.h
base/CLog.h
base/CStopwatch.cpp
base/CStopwatch.h
base/CString.h
base/IInterface.h
base/IJob.h
base/TMethodJob.h
base/XBase.h
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
io/CBufferedInputStream.h
io/CBufferedOutputStream.h
io/CInputStreamFilter.h
io/COutputStreamFilter.h
io/CStreamBuffer.h
io/IInputStream.h
io/IOutputStream.h
io/XIO.h
mt/CCondVar.cpp
mt/CCondVar.h
mt/CLock.h
mt/CMutex.cpp
mt/CMutex.h
mt/CThread.h
mt/CThreadRep.cpp
mt/CThreadRep.h
mt/CTimerThread.h
mt/XThread.h
net/CNetwork.h
net/CNetworkAddress.cpp
net/CNetworkAddress.h
net/CSocketInputStream.h
net/CSocketOutputStream.h
net/CSocketStreamBuffer.h
net/CTCPListenSocket.h
net/CTCPSocket.h
net/IListenSocket.h
net/ISocket.h
net/XNetwork.h
net/XSocket.h
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CScreenMap.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol.h
server/CServerProtocol1_0.h
server/CSynergyHook.cpp
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/CClipboard.h
synergy/CInputPacketStream.cpp
synergy/CInputPacketStream.h
synergy/CMSWindowsClipboard.cpp
synergy/CMSWindowsClipboard.h
synergy/CMSWindowsScreen.h
synergy/COutputPacketStream.h
synergy/CProtocolUtil.cpp
synergy/CProtocolUtil.h
synergy/CTCPSocketFactory.h
synergy/CXWindowsClipboard.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/IClipboard.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/IServerProtocol.h
synergy/ISocketFactory.h
synergy/XSynergy.h

Indentation changes.

----------
2002/04/29 14:25:24 crs
client/CClient.cpp
server/CServer.cpp
server/CServerProtocol1_0.cpp

Added some validation of protocol message parameters.

----------
2002/04/29 14:12:48 crs
synergy/CXWindowsScreen.cpp

Shortened timeout on waiting for clipboard response.

----------
2002/04/29 14:08:48 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CServer.cpp
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h

Made event selection a little more robust.  Also fixed failure
to marshall clipboard data when updating primary clipboards.

----------
2002/04/29 13:49:56 crs
client/CXWindowsSecondaryScreen.cpp

Added missing event mask.

----------
2002/04/29 13:31:44 crs
client/CClient.cpp
client/CClient.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
synergy/CClipboard.cpp
synergy/CClipboard.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/IClipboard.h
synergy/IPrimaryScreen.h
synergy/IServerProtocol.h
synergy/ProtocolTypes.h

checkpoint.  changed protocol to better handle clipboards.  now
sending a sequence number with enter messages.  screens use that
sequence number in clipboard grab and data messages.  the server
uses the sequence number to order messages across clients.  also
changed secondary screens to send clipboard updates on leaving
(or when grab occurs when not active) instead of on a query from
the server.  primary effectively does the same.  the query
message has been removed.

----------
2002/04/29 11:58:17 crs
client/CClient.cpp

changed logging levels.

----------
2002/04/28 00:46:15 crs
client/CXWindowsSecondaryScreen.cpp
server/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h

Clipboard improvements.  Still not working right.  Nedit
doesn't work at all but at least now there's a timeout to
prevent synergy from hanging waiting on a reply.

----------
2002/04/27 18:49:03 crs
base/CLog.cpp
base/CLog.h
client/CClient.cpp
mt/CThread.cpp
mt/CThreadRep.cpp
mt/CTimerThread.cpp
net/CNetwork.cpp
server/CServer.cpp
server/CServerProtocol1_0.cpp
server/CXWindowsPrimaryScreen.cpp
synergy/CProtocolUtil.cpp
synergy/CXWindowsScreen.cpp

Added more debug levels and moved some annoying debug messages
to those levels.  Default log level is now DEBUG for debug
builds and INFO for release builds.

----------
2002/04/27 18:06:40 crs
client/CClient.cpp
client/CXWindowsSecondaryScreen.cpp
server/CServer.cpp
server/CServerProtocol1_0.cpp
server/CXWindowsPrimaryScreen.cpp
synergy/CProtocolUtil.cpp
synergy/CXWindowsScreen.cpp
synergy/ProtocolTypes.h

checkpoint.  changed CProtocolUtil::readf() to store 1 and 2
byte integers into pointers to 1 and 2 byte integers.  was
always assuming pointers to 4 byte integers.

----------
2002/04/27 14:19:53 crs
client/CClient.cpp
client/CClient.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/ClipboardTypes.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/IServerProtocol.h
synergy/ProtocolTypes.h

Added support for multiple clipboards.  This is mainly to
support both PRIMARY and CLIPBOARD selections on X windows.

----------
2002/04/27 14:19:19 crs
Makecommon

set TARGETS macro to BIN and LIB targets.

----------
2002/04/26 20:15:59 crs
notes

updated

----------
2002/04/26 20:14:46 crs
client/CXWindowsSecondaryScreen.cpp

Fixed caps-lock and num-lock behavior.  It seems to work okay
now but did notice one problem:  when powerbook is primary and
num-lock is on the keypad works fine until shift is pressed
(and released);  after that the keypad only works while the
shift key is down.

----------
2002/04/26 20:12:55 crs
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h

Added hack to handle "half-duplex" caps-lock key on powerbook.
That key only reports press when pressed and released when
caps-lock is activated and only reports release when pressed
and released when caps-lock is deactivated.  I don't know of a
way to detect this behavior so it may have to be configured by
the user.  The code assumes normal behavior;  will have to add
code to set the flag (perhaps from a user configuration).

----------
2002/04/26 17:38:01 crs
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
synergy/KeyTypes.h

changed processing of key events in X.  secondary screen now
activates/deactivates modifiers as necessary to get a keycode
interpreted as the expected keysym.  still some work and
testing to do on this.

----------
2002/04/25 10:44:01 crs
notes

Added notes on keyboard handling.

----------
2002/04/25 10:43:53 crs
client/CXWindowsSecondaryScreen.cpp
server/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h

added handling for DestroyNotify of clipboard requestors.

----------
2001/11/26 22:36:51 crs
synergy/CXWindowsScreen.cpp

checkpoint.  improvements to clipboard transfer on X windows.
not detecting a change to clipboard when synergy window isn't
the owner (since there's no event for this;  we'll have to
check when we leave the screen i guess).  large transfers
don't seem to work.

----------
2001/11/26 22:09:53 crs
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h

checkpoint.  testing clipboard transfer on X windows.

----------
2001/11/25 22:20:41 crs
client/CXWindowsSecondaryScreen.cpp
server/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h

checkpoint.  implementing clipboard owner in x windows.

----------
2001/11/25 18:44:13 crs
synergy/CXWindowsClipboard.cpp
synergy/CXWindowsClipboard.h

fixed function signature.

----------
2001/11/25 18:42:13 crs
Make-linux
Make-solaris
Makecommon
client/Makefile
server/Makefile

executables are now built into a common area on unix (and they
already were on win32).

----------
2001/11/25 18:32:41 crs
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/client.cpp
client/client.dsp
net/CNetwork.cpp
notes
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
server/CSynergyHook.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/makehook.dsp
server/server.cpp
server/server.dsp
server/synrgyhk.dsp
synergy.dsw
synergy/CClipboard.cpp
synergy/CClipboard.h
synergy/CMSWindowsClipboard.cpp
synergy/CMSWindowsClipboard.h
synergy/CMSWindowsScreen.cpp
synergy/CMSWindowsScreen.h
synergy/CProtocolUtil.cpp
synergy/CProtocolUtil.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/IClipboard.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/IServerProtocol.h
synergy/Makefile
synergy/ProtocolTypes.h
synergy/synergy.dsp

added platform independent clipboard transfer stuff
clipboard owner support (MS windows done, X windows partial)
added key transfer on ms windows
mutex fixes in CClient (had race conditions)
faster debug output in ms windows
changed temporary screen name to "secondary"
network fixes on ms windows (poll returned wrong result)
fixed transparent cursor on ms windows

----------
2001/11/19 00:33:36 crs
Make-linux
all.dsp
base/BasicTypes.h
base/CLog.cpp
base/CLog.h
base/XBase.cpp
base/base.dsp
base/common.h
client/CClient.cpp
client/CClient.h
client/CMSWindowsSecondaryScreen.cpp
client/CMSWindowsSecondaryScreen.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/Makefile
client/client.cpp
client/client.dsp
client/client.rc
client/resource.h
io/io.dsp
mt/CCondVar.cpp
mt/CThread.cpp
mt/CThreadRep.cpp
mt/CThreadRep.h
mt/mt.dsp
net/CNetwork.cpp
net/CNetwork.h
net/CNetworkAddress.cpp
net/CNetworkAddress.h
net/CTCPListenSocket.cpp
net/CTCPListenSocket.h
net/CTCPSocket.cpp
net/CTCPSocket.h
net/Makefile
net/XNetwork.cpp
net/XNetwork.h
net/net.dsp
notes
server/CMSWindowsPrimaryScreen.cpp
server/CMSWindowsPrimaryScreen.h
server/CScreenMap.h
server/CServer.cpp
server/CServer.h
server/CSynergyHook.cpp
server/CSynergyHook.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/Makefile
server/makehook.dsp
server/resource.h
server/server.cpp
server/server.dsp
server/server.rc
server/synrgyhk.dsp
synergy.dsw
synergy/CMSWindowsClipboard.cpp
synergy/CMSWindowsClipboard.h
synergy/CMSWindowsScreen.cpp
synergy/CMSWindowsScreen.h
synergy/CXWindowsClipboard.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/IClipboard.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/synergy.dsp

checkpoint.  merging win32 code.  server on X is currently broken
and client probably is.

----------
2001/11/18 23:14:28 crs
Makefile
client/CClient.cpp
client/CClient.h
client/CXWindowsSecondaryScreen.cpp
client/CXWindowsSecondaryScreen.h
client/Makefile
client/client.cpp
server/CScreenMap.cpp
server/CScreenMap.h
server/CServer.cpp
server/CServer.h
server/CServerProtocol.cpp
server/CServerProtocol.h
server/CServerProtocol1_0.cpp
server/CServerProtocol1_0.h
server/CXWindowsPrimaryScreen.cpp
server/CXWindowsPrimaryScreen.h
server/Makefile
server/server.cpp
synergy/CClient.cpp
synergy/CClient.h
synergy/CScreenMap.cpp
synergy/CScreenMap.h
synergy/CServer.cpp
synergy/CServer.h
synergy/CServerProtocol.cpp
synergy/CServerProtocol.h
synergy/CServerProtocol1_0.cpp
synergy/CServerProtocol1_0.h
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsPrimaryScreen.h
synergy/CXWindowsSecondaryScreen.cpp
synergy/CXWindowsSecondaryScreen.h
synergy/Makefile
synergy/client.cpp
synergy/server.cpp

moved client and server files into their own respective
directories.

----------
2001/11/13 23:34:12 crs
synergy/CServer.cpp
synergy/CXWindowsClipboard.cpp
synergy/CXWindowsClipboard.h
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsPrimaryScreen.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/IClipboard.h
synergy/IPrimaryScreen.h
synergy/Makefile

added preliminary support for getting the X selection.

----------
2001/11/11 21:27:36 crs
synergy/CServer.cpp

fixed clamping when mapping to a different screen when beyond
bottom or right of source screen.

----------
2001/11/11 21:15:30 crs
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsPrimaryScreen.h
synergy/CXWindowsScreen.cpp
synergy/CXWindowsScreen.h
synergy/CXWindowsSecondaryScreen.cpp
synergy/CXWindowsSecondaryScreen.h
synergy/Makefile

factored common X windows screen stuff into a common base class.

----------
2001/11/10 22:28:37 crs
notes

updated notes.

----------
2001/11/10 22:28:30 crs
Makefile

added main app directory to build.

----------
2001/10/25 22:17:17 crs
io/CBufferedInputStream.cpp
mt/CCondVar.cpp
mt/CMutex.cpp
mt/CThreadRep.cpp
net/CNetworkAddress.cpp
net/CSocketInputStream.cpp
net/CTCPListenSocket.cpp
net/CTCPSocket.cpp
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsSecondaryScreen.cpp

removed unnecessary global scoping operators.

----------
2001/10/25 22:09:27 crs
synergy/CXWindowsSecondaryScreen.cpp

changed hider window to move underneath mouse when leaving the
screen.  this makes it so if the mouse is moved locally, it'll
reappear where it was last seen.

----------
2001/10/25 21:40:29 crs
synergy/CClient.cpp
synergy/CXWindowsSecondaryScreen.cpp
synergy/CXWindowsSecondaryScreen.h
synergy/ISecondaryScreen.h

changed some method names and removed warpCursor() from
secondary screen interface.

----------
2001/10/24 23:29:29 crs
synergy/CServer.cpp
synergy/CServer.h

now handling disconnect of secondary screen that has the cursor
by jumping back to the primary screen (without trying to notify
the now disconnected secondary screen).  also fixed blown assert
in mapPosition().

----------
2001/10/24 22:33:24 crs
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsPrimaryScreen.h
synergy/CXWindowsSecondaryScreen.cpp
synergy/CXWindowsSecondaryScreen.h

made calls to X thread safe.

----------
2001/10/23 22:45:59 crs
notes

more notes.

----------
2001/10/23 22:41:46 crs
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsPrimaryScreen.h
synergy/CXWindowsSecondaryScreen.cpp
synergy/CXWindowsSecondaryScreen.h

added cursor hiding.

----------
2001/10/23 21:23:29 crs
base/CLog.cpp

can now filter logging by level.

----------
2001/10/23 21:13:08 crs
synergy/CServer.cpp

fixed blown assert trying to find neighbor when there was none.

----------
2001/10/21 00:21:21 crs
synergy/CClient.cpp

fixed handling of stream ownership.

----------
2001/10/21 00:21:02 crs
io/CBufferedInputStream.cpp
io/CBufferedOutputStream.cpp
mt/CThreadRep.cpp
net/CTCPSocket.cpp
net/CTCPSocket.h
synergy/CServer.cpp
synergy/server.cpp

fixed bugs in handling streams.

----------
2001/10/20 20:43:31 crs
Make-linux
mt/CThreadRep.cpp

threading fixes.  had sigmask set in wrong place.  was setting
m_exit flag potentially after the object had been destroyed.
most importantly, RTTI must be enabled on PPC to avoid SIGILL.

----------
2001/10/14 19:16:54 crs
mt/CThread.cpp
mt/CThreadRep.cpp
mt/CTimerThread.cpp

some debugging code.

----------
2001/10/14 18:29:43 crs
base/CLog.h
mt/CMutex.cpp
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp
mt/CThreadRep.h
mt/CTimerThread.cpp
synergy/CClient.cpp
synergy/CClient.h
synergy/CProtocolUtil.cpp
synergy/CServerProtocol1_0.cpp
synergy/client.cpp
synergy/server.cpp

fixed timeout bug in CThreadRep::wait() (negative timeout wouldn't
wait forever).  also fixed early return from sleep due to signal.
now forcing client to initialize CThread to ensure global mutex
gets initialized before threads are used.

----------
2001/10/14 16:58:01 crs
io/CBufferedInputStream.cpp
io/CBufferedInputStream.h
io/CBufferedOutputStream.cpp
io/CBufferedOutputStream.h
io/CInputStreamFilter.cpp
io/CInputStreamFilter.h
io/COutputStreamFilter.cpp
io/COutputStreamFilter.h
io/CStreamBuffer.cpp
io/CStreamBuffer.h
io/IInputStream.h
io/IOutputStream.h
mt/CCondVar.cpp
mt/CCondVar.h
mt/CLock.cpp
mt/CLock.h
mt/CMutex.cpp
mt/CMutex.h
net/CNetworkAddress.cpp
net/CNetworkAddress.h
net/CSocketInputStream.cpp
net/CSocketInputStream.h
net/CSocketOutputStream.cpp
net/CSocketOutputStream.h
net/CSocketStreamBuffer.cpp
net/CSocketStreamBuffer.h
net/CTCPListenSocket.cpp
net/CTCPListenSocket.h
net/CTCPSocket.cpp
net/CTCPSocket.h
net/IListenSocket.h
net/ISocket.h
synergy/CInputPacketStream.cpp
synergy/CInputPacketStream.h
synergy/COutputPacketStream.cpp
synergy/COutputPacketStream.h
synergy/CProtocolUtil.cpp
synergy/CProtocolUtil.h
synergy/CScreenMap.cpp
synergy/CScreenMap.h
synergy/CServer.cpp
synergy/CServer.h
synergy/CServerProtocol.cpp
synergy/CServerProtocol.h
synergy/CServerProtocol1_0.cpp
synergy/CServerProtocol1_0.h
synergy/CTCPSocketFactory.cpp
synergy/CTCPSocketFactory.h
synergy/IServerProtocol.h
synergy/ISocketFactory.h

removed exception specifications.  thread exceptions weren't
being listed and they'd have to be added to every one.  just
doesn't seem worth the trouble.

----------
2001/10/14 14:56:06 crs
synergy/CProtocolUtil.cpp

stupid bug fixes.  writef() used the wrong variable as the number
of bytes to write.  readf() forgot to prepare the va_list.

----------
2001/10/14 14:38:45 crs
base/CLog.cpp
base/CLog.h

forgot to add the logger files.

----------
2001/10/14 14:37:41 crs
Make-linux
base/Makefile
synergy/CClient.cpp
synergy/CScreenMap.cpp
synergy/CScreenMap.h
synergy/CServer.cpp
synergy/CServerProtocol1_0.cpp
synergy/CXWindowsPrimaryScreen.cpp

added logging facility and added a bunch of log messages.

----------
2001/10/08 19:24:46 crs
Makefile
notes
synergy/CClient.cpp
synergy/CClient.h
synergy/CServer.cpp
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsSecondaryScreen.cpp
synergy/CXWindowsSecondaryScreen.h
synergy/ISecondaryScreen.h
synergy/Makefile
synergy/client.cpp
synergy/server.cpp

checkpoint.  first cut of client and server apps.  not tested
yet but they compile and *should* work as is.

----------
2001/10/06 14:18:01 crs
Make-linux
Makefile

updated old files to new implementation

----------
2001/10/06 14:13:28 crs
BasicTypes.h
CClient.cpp
CClient.h
CEvent.h
CEventQueue.cpp
CEventQueue.h
CMessageSocket.cpp
CMessageSocket.h
CProtocol.h
CScreenProxy.cpp
CScreenProxy.h
CServer.cpp
CServer.h
CSocket.cpp
CSocket.h
CSocketFactory.cpp
CSocketFactory.h
CString.h
CTrace.cpp
CTrace.h
CUnixEventQueue.cpp
CUnixEventQueue.h
CUnixTCPSocket.cpp
CUnixTCPSocket.h
CUnixXScreen.cpp
CUnixXScreen.h
CXScreen.cpp
CXScreen.h
IClient.h
IClipboard.h
IEventQueue.h
IJob.h
IScreen.h
IServer.h
ISocket.h
KeyTypes.h
Make-linux
Make-solaris
Makecommon
Makefile
MouseTypes.h
TMethodJob.h
XBase.cpp
XBase.h
XSocket.h
base/BasicTypes.h
base/CFunctionJob.cpp
base/CFunctionJob.h
base/CStopwatch.cpp
base/CStopwatch.h
base/CString.h
base/IInterface.h
base/IJob.h
base/Makefile
base/TMethodJob.h
base/XBase.cpp
base/XBase.h
base/common.h
io/CBufferedInputStream.cpp
io/CBufferedInputStream.h
io/CBufferedOutputStream.cpp
io/CBufferedOutputStream.h
io/CInputStreamFilter.cpp
io/CInputStreamFilter.h
io/COutputStreamFilter.cpp
io/COutputStreamFilter.h
io/CStreamBuffer.cpp
io/CStreamBuffer.h
io/IInputStream.h
io/IOutputStream.h
io/Makefile
io/XIO.cpp
io/XIO.h
main.cpp
mt/CCondVar.cpp
mt/CCondVar.h
mt/CLock.cpp
mt/CLock.h
mt/CMutex.cpp
mt/CMutex.h
mt/CThread.cpp
mt/CThread.h
mt/CThreadRep.cpp
mt/CThreadRep.h
mt/CTimerThread.cpp
mt/CTimerThread.h
mt/Makefile
mt/XThread.h
net/CNetworkAddress.cpp
net/CNetworkAddress.h
net/CSocketInputStream.cpp
net/CSocketInputStream.h
net/CSocketOutputStream.cpp
net/CSocketOutputStream.h
net/CSocketStreamBuffer.cpp
net/CSocketStreamBuffer.h
net/CTCPListenSocket.cpp
net/CTCPListenSocket.h
net/CTCPSocket.cpp
net/CTCPSocket.h
net/IListenSocket.h
net/ISocket.h
net/Makefile
net/XSocket.cpp
net/XSocket.h
notes
synergy/CClient.cpp
synergy/CClient.h
synergy/CInputPacketStream.cpp
synergy/CInputPacketStream.h
synergy/COutputPacketStream.cpp
synergy/COutputPacketStream.h
synergy/CProtocolUtil.cpp
synergy/CProtocolUtil.h
synergy/CScreenMap.cpp
synergy/CScreenMap.h
synergy/CServer.cpp
synergy/CServer.h
synergy/CServerProtocol.cpp
synergy/CServerProtocol.h
synergy/CServerProtocol1_0.cpp
synergy/CServerProtocol1_0.h
synergy/CTCPSocketFactory.cpp
synergy/CTCPSocketFactory.h
synergy/CXWindowsPrimaryScreen.cpp
synergy/CXWindowsPrimaryScreen.h
synergy/IPrimaryScreen.h
synergy/ISecondaryScreen.h
synergy/IServerProtocol.h
synergy/ISocketFactory.h
synergy/KeyTypes.h
synergy/Makefile
synergy/MouseTypes.h
synergy/ProtocolTypes.h
synergy/XSynergy.cpp
synergy/XSynergy.h
test.cpp

Started over.

----------
2001/05/14 21:14:49 crs
MouseTypes.h

flipped order of buttons to match default X setup.

----------
2001/05/14 21:14:25 crs
CClient.cpp
CEvent.h
CScreenProxy.cpp
CScreenProxy.h
CServer.cpp
CXScreen.cpp
CXScreen.h
IScreen.h
KeyTypes.h

added other mouse and key event handling to CXScreen.  key repeat
isn't implemented and modifier masks are ignored.  modifier masks
are new;  they indicate the modifier key (shift, ctrl, etc) state
at the time of the key event.

----------
2001/05/13 12:43:16 crs
CUnixTCPSocket.cpp
CUnixTCPSocket.h

more fixes to reduce latency.  nagle agorithm doesn't seem to
stay off on a socket on linux because a connection clearly
doesn't send data as often as possible.  will have to implement
a UDP socket to reduce overhead and avoid these delays.  wanted
to do that anyway.

----------
2001/05/13 12:21:11 crs
CUnixTCPSocket.cpp
CXScreen.cpp

fixes to avoid update delays.

----------
2001/05/13 12:07:32 crs
CMessageSocket.cpp

fixed bug in read() that miscalculated the message length.

----------
2001/05/13 11:40:29 crs
BasicTypes.h
CClient.cpp
CClient.h
CEvent.h
CEventQueue.cpp
CEventQueue.h
CMessageSocket.cpp
CMessageSocket.h
CProtocol.h
CScreenProxy.cpp
CScreenProxy.h
CServer.cpp
CServer.h
CSocket.cpp
CSocket.h
CSocketFactory.cpp
CSocketFactory.h
CString.h
CTrace.cpp
CTrace.h
CUnixEventQueue.cpp
CUnixEventQueue.h
CUnixTCPSocket.cpp
CUnixTCPSocket.h
CUnixXScreen.cpp
CUnixXScreen.h
CXScreen.cpp
CXScreen.h
IClient.h
IClipboard.h
IEventQueue.h
IJob.h
IScreen.h
IServer.h
ISocket.h
KeyTypes.h
Make-linux
Makefile
MouseTypes.h
TMethodJob.h
XBase.cpp
XBase.h
XSocket.h
main.cpp
tools/depconv

initial revision of synergy.  currently semi-supports X windows
on unix, but client screens don't simulate events other than
mouse move.  also not supporting clipboard at all yet and the
main app is just a temporary framework to test with.  must
clean up protocol and communication.

----------
