Commit Graph

384 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 899beb6919 Applied patch from tailblues. It checks for a NULL result from
CFStringCreate...() to avoid a crash in a subsequent use of that
NULL pointer.
2007-09-06 05:02:08 +00:00
crs23 709261e2bf Changed version to 1.3.2. 2007-09-06 05:02:01 +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
crs23 da0521bcd2 Allow input scripts other than roman on OS X. 2007-09-06 05:00:52 +00:00
crs d1e56572d2 Applied patch 1731039. Fixes a bug in testing if X clipboard
was owned at a given time.
2007-06-22 19:17:24 +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 1bd227922e Integrated some changes from 1.2 branch. 2005-01-26 19:01:53 +00:00
crs 42b4e2488a Fixed bug in OS X server key translation which pretty much broke any
keystroke with a modifier key.
2005-01-04 19:28:22 +00:00
crs 8ddb77b811 Changed version to 1.3.0. 2005-01-01 20:16:50 +00:00
crs 03df4ce631 Changed version to 1.2.0. 2004-12-30 13:52:52 +00:00
crs 3d961e4767 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 13:28:51 +00:00
crs 34c2be00e5 Added Henkan key. Patch from rniitani at sourceforge.net. 2004-12-30 12:10:47 +00:00
crs 1d0436b31c Applied patch from Tom Chadwick to synthesize PageUp/PageDown on
X servers that don't support the mouse wheel.
2004-12-30 11:54:23 +00:00
crs 3ae1b916ea 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:12:05 +00:00
crs 7aea3964f5 Fixed handling of number pad number and decimal point keys when
NumLock is on on client on windows 95 family.
2004-12-29 21:10:49 +00:00
crs d70ad662bf Added support for ISO_Level3_Shift on X windows server. It's
treated as if it were Mode_switch.
2004-12-29 17:53:44 +00:00
crs ee787415c2 Added support for unicode keyboard layouts on OS X. 2004-12-29 17:07:08 +00:00
crs fedd2224e8 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:49 +00:00
crs f0a5d3162e Fixed leak of event objects on OS X. 2004-12-29 17:06:00 +00:00
crs fc3f17fd83 Changed version to 1.1.11. 2004-12-19 15:48:09 +00:00
crs ee7dcc1e83 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-12 15:50:04 +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 c135432040 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-11 19:17:03 +00:00
crs 6ea96719ab 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 21:00:30 +00:00
crs d8b6fab8bb Fixed typo. 2004-11-10 19:11:33 +00:00
crs 57e9851894 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 20:05:33 +00:00
crs fb266a00fd Changed version to 1.1.10. 2004-11-09 18:42:47 +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 8ce1e0217a Attempt to workaround laggy mouse on OS X with linux as server. 2004-11-06 16:29:06 +00:00
crs 57fddf4cdc Fixed screensaver detection on XP. 2004-11-06 16:13:52 +00:00
crs 01dc8fa337 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:13:01 +00:00
crs bdd3635f4b 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-04 21:26:43 +00:00
crs 2513ae8972 Added -display option for X11 version. 2004-11-02 20:43:55 +00:00
crs f10ef9a97c Reverted change to detach threads in hook DLL. It was breaking
double clicking.
2004-11-01 22:26:52 +00:00
crs 4d427a091d Added operating system identification log message for debugging
purposes.
2004-11-01 22:25:39 +00:00
crs 5717460221 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 22:10:34 +00:00
crs 169c1e5008 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:26:29 +00:00
crs 18dda312d2 Fixed multimon support for win NT/2000/XP running as client. Mouse
would jump between two points.
2004-11-01 18:24:37 +00:00
crs 2a3015f06a Fixed a resource leak. Also fixed the detection of the screen saver
closing on windows 2000 and XP.
2004-11-01 18:22:45 +00:00
crs 519871fe15 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:41:36 +00:00
crs 719757ca22 Improved X extension detection in configure and added handling
of dpms.h headers that don't have function prototypes.
2004-10-30 16:16:32 +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 0ff6cdf5b1 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:38:05 +00:00
crs 4d7d2c618f 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:29:19 +00:00
crs fe044cfab1 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-27 21:22:36 +00:00
crs 7c7b41d751 Added eject key mapping. 2004-10-24 18:18:21 +00:00
crs 7ff65e296e Fixed comment. 2004-10-24 18:18:11 +00:00
crs f65d53d06a 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:18:01 +00:00