Commit Graph

69 Commits

Author SHA1 Message Date
crs23
460b751aba Applied a number of patches.
* 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
2007-09-06 05:02:13 +00:00
crs23
5c29ae9967 Applied patch by maruel:
- 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.
2007-09-06 05:01:44 +00:00
crs
52ae656411 Restored lost files and changes in version 1.3.1 to depot. 2007-06-17 11:19:18 +00:00
crs
014578b875 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:23:14 +00:00
crs
ca23cd031f Added forgotten files. Added define to common.h for OS X XCode
build to get uname().
2004-11-09 18:31:25 +00:00
crs
57fddf4cdc Fixed screensaver detection on XP. 2004-11-06 16:13:52 +00:00
crs
4d427a091d Added operating system identification log message for debugging
purposes.
2004-11-01 22:25:39 +00:00
crs
91d1fcf38d 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-28 21:40:56 +00:00
crs
12c95723b7 Fixed use of freed memory. 2004-10-27 21:46:22 +00:00
crs
07e2a3e511 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-29 21:59:26 +00:00
crs
e7ae6831cf Worked around minor gcc 3.3.2 -O3 compiler bug. 2004-09-27 21:23:47 +00:00
crs
0df2e9ce6a Fixed warnings in deployment build style on OS X. 2004-08-03 21:14:30 +00:00
crs
b66a403941 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-31 11:19:39 +00:00
crs
a80ddb4a78 Fixed bug in converting wide characters to multibyte. 2004-06-12 20:46:35 +00:00
crs
9c9db6958f 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:56:35 +00:00
crs
62b5cefb64 Changed VC++ projects to put release targets in ./build, debug
targets in ./debug, and intermediate files under ./gen.
2004-05-16 18:02:49 +00:00
crs
455d0210b2 Fixed thread reference leak in network code. 2004-05-12 19:50:58 +00:00
crs
423dd3b718 Added support for daemon startup dependencies. Made synergy
dependent on NetBT, which I hope is right.
2004-05-02 16:01:59 +00:00
crs
320cc754a2 Better fixes for compiling on FreeBSD and OpenBSD. 2004-05-01 12:11:28 +00:00
crs
975d888d65 Fixes for FreeBSD. 2004-05-01 11:01:40 +00:00
crs
165c889c5d Fixes to compile on solaris 9 using g++. 2004-05-01 10:12:06 +00:00
crs
4d2d4a2171 Fixed type cast warnings. 2004-05-01 08:54:42 +00:00
crs
54b3884eba 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-13 19:39:04 +00:00
crs
bf2879724f 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 19:15:09 +00:00
crs
530be3ff9d 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-11 14:58:08 +00:00
crs
619dd75f0d Added missing initialization of mutex attribute call. 2004-04-06 22:09:38 +00:00
crs
083607345a Removed DEPTH, VDEPTH, and VPATH from makefiles. 2004-04-04 12:12:32 +00:00
crs
d1a60e848e 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:15:13 +00:00
crs
4576b30c37 Fixed lookup of hosts by name on win32. 2004-03-31 22:14:15 +00:00
crs
d2f4cbf002 Fixed bugs in installing per-user startup programs on windows 95
family.
2004-03-28 14:05:31 +00:00
crs
ab11ebea01 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-26 20:59:21 +00:00
crs
a6e858a208 Added win32 support for power management. 2004-03-13 17:13:55 +00:00
crs
6c7039490d Added check for inet_aton and a simple implementation for platforms
that are missing it.
2004-03-10 20:35:03 +00:00
crs
f068232643 Typecasting fix to compile on old solaris. 2004-03-08 20:45:53 +00:00
crs
ffa966747b Fixed handling of winsock connect event. Was always immediately
indicating socket had connected.
2004-02-29 21:33:20 +00:00
crs
8f083a2e65 Fixed comment. 2004-02-29 17:36:32 +00:00
crs
b8606412d6 Switched to doxygen comments. 2004-02-29 17:29:01 +00:00
crs
1ccb92b888 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:48:22 +00:00
crs
d6ec331b09 Made all arch sockets non-blocking. 2004-02-29 16:11:17 +00:00
crs
82dffeb498 Generalized signal handling. Now handling SIGHUP in addition
to SIGINT and SIGTERM.  Setup SIGHUP to reload the server's
configuration.
2004-02-28 17:49:29 +00:00
crs
54acf38d82 Merged Win32 updates. Added full warnings on g++. Fixed bug in
client when handling server rejection.
2004-02-28 12:19:49 +00:00
crs
48908242d2 Checkpoint. Conversion to event driven system complete for Unix.
Still need to convert win32 platform specific files.
2004-02-15 17:32:11 +00:00
crs
1861f21fb5 Checkpoint. synergys now works. Still need to do lib/client and
synergyc.
2004-02-14 14:04:36 +00:00
crs
848aee7a3a 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 21:09:22 +00:00
crs
4c7e524896 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.
2004-01-24 16:09:25 +00:00
crs
fa215f1b13 Merged changes from 1.0 branch, including Japanese keyboard
support (thanks to Kazuhide Takahashi).
2003-09-28 11:58:38 +00:00
crs
80f3998398 Changed name-to-address translation to only use IPv4 addresses
and to only copy as much address as fits in sockaddr_in.sin_addr,
in case hostent.h_length is wrong.
2003-09-03 21:54:18 +00:00
crs
809a347333 Removed heap allocation when polling sockets. 2003-09-02 22:06:07 +00:00
crs
47ca409ff9 Merged primary and secondary screens into one class. 2003-09-02 22:05:47 +00:00
crs
4fea7719f3 Merged changes from 1.0 branch. 2003-09-02 21:41:00 +00:00