to style guidelines. Also enhanced it to allow binding hot keys to not
only toggling broadcasting but also turning it on or off, resized the
hot key dialog to accommodate the keyboard broadcasting option, changed
the configuration string for the keyboard broadcasting option, and
added documentation.
This change does not include the VS8 fix included in the patch.
obsoleted {GS}etWindowsLong() with {GS}etWindowsLongPtr(). These
latter functions are supported from Win95 and WinNT 3.1 so they
shouldn't introduce any compatibility problems.
* HP-UX fixes (Bernd Noll)
* Now handling accept() taking an int 3rd arg
* Now casting sizeof() to socklen_t where necessary
* BSD ports fix (Kristen Glynn)
* Now defining NULL via stddef.h
* Crash on X11 using clipboard (Daniel Gollub)
* CXWindowsClipboard::pushReplies() increments iterator better
* Solaris/HP-UX compile errors
* Now #ifdef out sets of key syms if first key sym undefined
* Fix assertion on bad mouse position (ubiquitous_q)
* Validate mouse position from client and fix if necessary
- Fixed taking the address of begin() on an empty std::vector.
- Fixed nsis makefile to use %ProgramFiles% environment variable.
- Fixed nsis makefile to pass the output directory and file to makensis.
- Fixed synergy.nsi to get the files from the output directory. That
enables a debug build of the installer.
- Fixes to compile under VS2005.
I did not apply VS2005 project files, instead adding nmake files.
nmake is pretty weak but the makefiles can be modified without having
visual studio. Also modified the .rc files to not use winres.h.
This plus nmake means synergy can now be built using the freely
downloadable Microsoft Windows SDK for Vista, available from
microsoft's web site. This change removes all of the old VC++6
project files in favor of the nmake files. It also removes the
XCode project in favor of ./configure and make.
All of the nmake files are named nmake.mak. Only the top level
makefile is directly useful (the rest are included by it) so all
builds are from the top level directory. nmake knows the following
targets:
all: build synergy.exe, synergyc.exe and synergys.exe
clean: remove all intermediate files, keep programs
clobber: clean and remove programs
installer: build programs and an installer
debug: build a debug version of 'all'
release: build a release version of 'all'
debug-installer: build an installer of the debug build
release-installer: build an installer of the release build
The default build version is release so 'all' and 'installer' will
build a release version. The installer itself never has debug
symbols, just the stuff it installs. The default target is 'all'.
To build use:
nmake /nologo /f nmake.mak <target>
VC++ and VisualStudio users may need to manually run vcvars.bat in a
command.exe or cmd.exe window before invoking nmake. The Window 98/Me
command.exe may not handle potentially long command lines; I haven't
tried to verify if that works.
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.
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.