Commit Graph

288 Commits

Author SHA1 Message Date
Jean-Philippe Andre 9e358233c3 Fix copy&paste for EFL applications
Fixes issue 4021.
2014-10-22 20:32:16 +09:00
Nick Bolton 4a24a2117a Merge branch 'master' of https://github.com/caramis/synergy into caramis-master 2014-10-22 11:59:14 +01:00
Xinyu Hou 4aa43d6995 Merge branch '64bit' of https://github.com/petroules/synergy into petroules-64bit 2014-10-22 11:40:00 +01:00
Xinyu Hou 504e41966e Carbon loop not ready within 5 sec #4002
Port fix from enterprise.
2014-10-21 15:48:04 +01:00
SeokYeon Hwang 3a663092cf Do not throw exception if ProcessIdToSessionId() is failed.
Many security solutions forbid other program from accessing their own process. So if ProcessIdToSessionId() is failed, simply ignore it.

Signed-off-by: SeokYeon Hwang <caramis@gmail.com>
2014-10-21 19:51:28 +09:00
Jake Petroules 7dd2db25ec Add support for building with 64-bit architectures on OS X.
This patch brings full 64-bit compatibility to Synergy on OS X by
replacing all obsolete 32-bit only Carbon functions with modern
equivalents. All functions introduced have been available since 10.4 so
this won't affect the minimum deployment target. Specifically:

Creating an empty CGEvent and getting its location is behaviourally
identical to GetGlobalMouse, and yes, both are in flipped coordinates.
This was tested with a multi-monitor configuration as well.

TrackMouseLocationWithOptions is behaviourally identical to
GetGlobalMouse in these cases because the timeout was 0 and none of the
other out params were used, except for the MouseTrackingResult in one
call was checked against kMouseTrackingTimedOut. Since the timeout was 0
and not kEventDurationForever, that value never could have been returned
anyway.

Instead of attempting to define SIntXX and UIntXX manually, MacTypes.h
is included on OS X. These types were wrong in 64-bit mode because of
this, causing type redefinition errors.
2014-10-15 19:29:49 -07:00
Patrick Decat aeab72f724 Apply patch from https://github.com/synergy/synergy/issues/3749 2014-10-15 14:51:44 +02:00
jerry 7e562273d5 [no-issue]
revert to r2421
2014-09-15 15:17:07 +00:00
jerry 1805dd7900 issue #575 - Cannot build x86_64 or ppc64 on Mac OS X
applied patch by Jake Petroules
2014-09-15 13:04:43 +00:00
jerry c4dd6eb61c sticky keys fix doesn't work, may make things worse - backed out [no-issue] 2014-08-01 10:35:16 +00:00
jerry 995730a646 issue #18 - Sticky modifier/meta keys
- improved on Mac.
2014-07-02 13:25:49 +00:00
jerry 507abdcbfb issue #4072 Carbon loop not ready within 5 sec
added lock to all condVar
2014-06-02 16:07:58 +00:00
jerry 9feaa959f1 issue #4072 - Carboon loop not ready within 5 sec
issue solved
2014-06-02 11:04:09 +00:00
jerry 1dfe867c54 issue #4060 - Key stuck down on Windows server
finished solving issue.
2014-05-23 15:01:29 +00:00
jerry f87bd9e860 - checked filename's validation before sending drag info
- refactored duplicated write to drop dir code
- removed legacy member variables
- fixed code style
- fixed typo
2014-05-14 14:45:15 +00:00
jerry 935ca0b2f2 Added support for copying images (BMP) and HTML to/from the OS X clipboard - patch by Ryan Chapman 2014-05-13 12:31:05 +00:00
Nick Bolton d9f90e319e changed synergy-foss.org to synergy-project.org 2014-05-08 07:33:35 +00:00
jerry 9621cba99e - redesigned drag information protocol
- used DragInformation to encapsulate information and helper functions.
- renamed parameters in sendDragInfo function.
2014-05-06 18:26:47 +00:00
jerry ff42afc36c made drag info function name more consistent 2014-05-01 13:56:07 +00:00
jerry f773ff3d00 refactored duplicated code in dragInfoReceived
refactored fakeDraggigFiles interface
2014-04-30 18:54:32 +00:00
jerry fd68b70878 patch by Marc:
- fixed switchNeedsAlt not working
- improved logging
2014-04-30 11:17:54 +00:00
jerry b876c0daf3 fixed compile error on 10.6 and 10.5 2014-04-22 16:43:04 +00:00
jerry 5657348453 removed synwinxt 2014-04-22 11:38:09 +00:00
jerry 506cae9a63 made drag window frontmost when drag starts 2014-04-22 10:48:12 +00:00
jerry b85a9b628e used a hidden drop window to get drag filename 2014-04-22 10:33:16 +00:00
jerry 7b8cdb6b38 used really drag file extension 2014-04-17 17:25:41 +00:00
jerry de65f71312 removed left control key hack for faking drag on mac 2014-04-17 17:10:36 +00:00
jerry 8cdeafe995 fixed: compile error on mac 10.8 with makefile 2014-04-17 17:01:58 +00:00
jerry 45c1cde698 fixed: events were added before event queue was ready, caused debug build assert failure.
removed sleep hack in favour of cond var wait.
2014-04-17 10:56:25 +00:00
Nick Bolton b081fc0331 fixed: code style in OSXKeyState, released ref var 2014-03-31 16:04:17 +00:00
Nick Bolton 68557afff2 fixed: modifier keys are repeated on windows server. 2014-03-31 15:54:57 +00:00
Nick Bolton 6649887ca6 reverted r2025 2014-03-31 14:57:53 +00:00
jerry bc160fab01 fixed broken drag and drop in 1.4.17 2014-03-25 15:08:00 +00:00
Nick Bolton 0745d5884b Task #3969 - Merge String.cpp and StringUtil.cpp 2014-03-21 08:32:36 +00:00
Nick Bolton 564b5c6e51 annotated hex values in logging 2014-03-17 19:27:29 +00:00
Nick Bolton 0563eeb467 extra logging, polling keys after modifier key fake 2014-03-17 19:02:13 +00:00
Nick Bolton 729bbeab01 cleaned up osx keystate code that handles modifiers (really weird code). 2014-03-17 18:39:27 +00:00
Nick Bolton 826cd7e60b reintroduced AXIsProcessTrusted call, shouldn't break ax stuff 2014-03-17 17:25:18 +00:00
Nick Bolton 3ddb7ef9e3 Task #3961 - Remove Windows 95 support 2014-03-17 16:30:27 +00:00
Nick Bolton 1b5cdecc60 Task #3960 - Split CMSWindowsHookLibraryLoader into hook and shellex loaders
- reordered include order for winsock2.h (more robust)
- removed Windows.h include from synwinxt.h (not needed)
2014-03-17 14:34:13 +00:00
Nick Bolton 407378fbc5 Task #3951 - Clear filename stored in synwinxt on mouse up
- renamed some functions for file drag/drop to be more similar to existing
- improved log messages for the library loader
- removed hack that blocked .exe and .lnk files (annoying for developers)
- removed hack that always clears dragging filename (not very robust)
2014-03-17 13:10:29 +00:00
Nick Bolton abe108195d Task #3953 - Inherit XArch and XBase from std::exception 2014-03-14 18:30:21 +00:00
Nick Bolton 9b9a489efc fixed: tests not compiling on linux 2014-02-28 15:36:51 +00:00
Nick Bolton 19bcb9dfae fixed: osx compile errors from last commit 2014-02-28 13:06:25 +00:00
Nick Bolton f3d542b2c3 fixed: linux compile errors from last checkin 2014-02-28 12:55:14 +00:00
Nick Bolton 4675f29a4c code style fixes:
- reordered includes to prevent accidental dependencies.
- moved arch specific files into their own folder (easier to include with cmake).
- renamed non-class files to reflect new code style (lower case with underscores).
- using full relative paths for includes (easier for understanding dependencies).
- using #pragma once instead of classic-style header guards.
2014-02-28 12:36:45 +00:00
Nick Bolton 8e74710dad code style: dropped C prefix 2014-02-27 17:45:17 +00:00
Nick Bolton f11c660efb used glob instead of manually specifying files. cmake does not recommend this, but we always re-run cmake anyway after adding files since we use vs. 2014-02-26 17:46:02 +00:00
Nick Bolton 8d6a44d1b7 fixed: osx106 warnings 2014-02-26 15:53:28 +00:00
Nick Bolton 228befdc2c fixed: code was not gnuc 4.2 compatible 2014-02-25 19:10:54 +00:00
Nick Bolton c44971b43d fixed: warnings on mac os x 2014-02-25 15:03:43 +00:00
Nick Bolton 75d2c5abf1 fixed: nothing happens on osx 10.6 2014-02-17 19:38:26 +00:00
Nick Bolton 98f8a12425 fixed: watchdog keeps showing backoff message even if no command to run. 2014-02-07 18:04:25 +00:00
Nick Bolton af51454e98 fixed: garbage drop target on windows when elevated. 2014-02-07 18:03:56 +00:00
Nick Bolton d03b398bc1 - improved string conversion by using ms comutil.
- removed dead member variable.
- extra logging to help debug file drop on windows.
2014-02-07 17:06:26 +00:00
Nick Bolton 3ee4f55a61 "dir" was used by mistake instead of "filename" 2014-02-07 15:54:01 +00:00
Nick Bolton 39a2ecbd8f fixed: drag and drop error on mavericks - never create your own instance of NSApplication\! 2014-02-07 14:53:17 +00:00
Nick Bolton 88a84b6f04 fixed: drag and drop crashes windows - reintroduced empty function to stop not impl exception. 2014-02-07 14:23:17 +00:00
Nick Bolton f149101d25 fixed: linux client crashes on file drop, even though drag and drop is disabled 2014-02-06 18:39:12 +00:00
Nick Bolton a573a44842 make sure synwinxt.dll can only be loaded on vista and above 2014-01-28 16:44:01 +00:00
Nick Bolton 3d963bfbe7 possible fix for mavericks 2014-01-24 17:53:03 +00:00
jerry a610012fb4 patch by Jack Zhou and Henry Tung to fix alt tab not working on windows 8 (Issue# 3338). 2013-10-30 13:49:40 +00:00
Nick Bolton 64c7a01ebb fixed: synergys crashes on exit. 2013-10-16 15:38:36 +00:00
Nick Bolton 2520bf4773 fixed: gui "start" button visible even though server/client is running. 2013-10-16 15:30:42 +00:00
Nick Bolton 658a3e3e8f - made windows gui service only (removed desktop mode).
- changed watchdog to only launch if it has a command.
2013-10-15 15:46:02 +00:00
Nick Bolton d09ee887d8 renamed CMSWindowsRelauncher to CMSWindowsWatchdog 2013-10-14 17:15:03 +00:00
Nick Bolton 499cd47e63 - fixed: process should shut down when command is empty.
- fixed: when command was empty quotes ("") daemon crashed.
2013-10-14 17:10:51 +00:00
Nick Bolton 79ab428454 refactored windows service "relauncher" (process watchdog), so that it's easier to understand. 2013-10-14 16:29:02 +00:00
jerry b9016bc1ae - encapsulated Windows session
- fixed code style
2013-10-10 16:06:13 +00:00
jerry 10b9b2e406 added null point handling for get dragging file directory. 2013-09-26 11:34:21 +00:00
jerry 6e50945bf9 created a new thread to write file to drop directory on client side 2013-09-25 14:49:04 +00:00
jerry 8301d50ab7 fixed drop target dir out of date 2013-09-25 13:11:19 +00:00
jerry fd0f5e1db2 disabled drag and drop feature if there is no --enable-drag-drop cmd arg 2013-09-25 12:37:27 +00:00
jerry e24afa5670 removed some unused include file dependencies and logging info only for debug 2013-09-25 10:50:11 +00:00
jerry 95ece5ac2c fixed Mac server keeps crashing during launch 2013-09-25 10:44:09 +00:00
jerry 4816a30db3 Feature to drag a file from Windows (client) to Mac (server):
- changed the size of the window for dragging on Mac to 3 by 3 pixels.
- on server side, use a new thread to write file to the drop directory.
2013-09-24 16:29:51 +00:00
jerry e145fef76f moved fake esc and lmb between getDropFileURL and draggingInfoSending, otherwise it would make getDropFileURl return null or fail to fake lmb up on carbon hardware layer, then can not move mouse back from client 2013-09-24 10:33:29 +00:00
jerry 57db3da6f3 faked escape key down and up then a left mouse button up in CServer when isSwitchOkay return true.
removed the assertions in CScreen so server screen can fake input event as well.
2013-09-23 15:31:34 +00:00
jerry 4e09b06cb0 fixed drag drop from Mac server to Windows client 2013-09-18 14:12:19 +00:00
jerry 39734374b1 renamed newCursor to newPos 2013-09-18 09:21:22 +00:00
Nick Bolton 0d65ff9a4c removed thread delete; threads are deleted automatically 2013-09-18 08:35:00 +00:00
Nick Bolton 2935c6671e added --enable-drag-drop arg and supporting gui changes. 2013-09-18 08:34:32 +00:00
jerry 7455ce70e0 supported dragging a file from different sides of server (up, down, right and left) to a Mac client 2013-09-17 19:22:21 +00:00
jerry 340e31298e - removed --filetransfer-src and --filetransfer-des args.
- on Window, temporarily use user desktop directory as drop target.
2013-09-17 18:13:58 +00:00
Nick Bolton 760e38eeba added some hacky sleeps to temporarily fix some thread timing issues (causing access violations). the best fix would be to use wait cond vars, but first we need to really understand the bug. 2013-09-16 15:21:36 +00:00
jerry 6f982a501a fixed dragged name out of date. 2013-09-13 15:44:33 +00:00
jerry e9f43fa7c5 - using cocoa code to fake mouse button down instead of using synergy code.
- fake a ctrl key up and esc key down and up before leave the screen if there is a dragging operation.
2013-09-12 17:42:50 +00:00
jerry dbc7659776 changed the transparency of the window where drag is from on mac. 2013-09-12 11:43:34 +00:00
Nick Bolton bf0204e7c2 ifdef'd out the COSXDragView implementation on osx < 10.7 2013-08-30 21:36:04 +00:00
jerry fbfea7b543 fixed previous commit - the 10.6 compile error was coming from COSXDragView.h, not COSXDragSimulator.m 2013-08-30 21:17:09 +00:00
jerry 6e57005b4a limited drag file feature only for mac 10.7 or above 2013-08-30 20:18:13 +00:00
jerry 43e2535335 Feature to drag a file from Mac (client) to Windows (server):
- temporarily drop dragging file to desktop (specified by command line arg --filetransfer-des)
- on Mac side, fake an esc key while dragging off the screen does not seem to work
2013-08-30 19:49:38 +00:00
jerry ce1b62db14 Feature to drag a file from Windows to Mac:
- On Mac client main thread is used for cocoa application in order to simulate drag.
- Send dragging file dir from Windows server to Mac client while dragging after switching screen.
- Dragging information sending is immature now (need to support multi files dragging in the future).
- Used Cocoa function to monitor dragg pasteboard.
- Changed Mac client to use another thread for event queue instead of the main thread.
- Change fileRecieveComplete to fileRecieveCompleted.
2013-08-30 14:38:43 +00:00
jerry 031a84ca84 - Allow dragging one file from Windows (server) to Mac (client), --filetransfer-des needs to be specified in client side's command line. 2013-08-23 15:36:23 +00:00
jerry 012fe6ddd8 - Log out dragging file's directory in Synergy (using COM shell extension)
- Change shell extension dll Main.cpp to synwinxt.cpp
2013-08-23 09:59:31 +00:00
Nick Bolton 17410d5706 patch by Yutaka Tsutano - fixes: Bug #3287 - Mac does not wake up 2013-08-02 16:48:09 +00:00
jerry dab838ed14 - renamed synrgyhk.dll to synwinhk.dll and moved lib code to separate folder.
- removed game device support (fallen into significant disrepair).
2013-08-02 13:21:06 +00:00
Nick Bolton 394ece004a Patch by Jerry:
- Fixed line endings
- Integ test for file transfer
- Fixed crashed problem when log info is larger than 2048 bytes
- Fixed compile error caused by std exception (by Feng ye)
- Fixed include path on Mac and linux (by Feng ye)
2013-07-24 16:41:12 +00:00
Nick Bolton 18a3db6843 patch by jerry: fixed new event queue on Mac and Linu 2013-06-29 22:02:04 +00:00
Nick Bolton 608074c041 - made unit testing easier by (mostly) removing the event queue singleton.
- fixed code style in many places (mostly indentation).
2013-06-29 14:17:49 +00:00
Nick Bolton 0a69c28ac5 implemented crypto stream, with some extra unit tests 2013-04-05 16:33:48 +00:00
Nick Bolton c34918fca1 appears to fix mouse cursor randomly not showing/hiding bug -- not sure though 2012-10-30 18:42:58 +00:00
Nick Bolton eda0018fc5 attempted fix to 'cursor does not show' bug, though i don't think the issue is solved, it appears to be more stable (but it's so hard to tell, since the bug is so random) 2012-10-29 13:43:08 +00:00
Nick Bolton 69db341660 added cursor show/hide test, and modified osx screen class to be more robust with memory usage. also fixed some bad code style. 2012-10-28 11:36:30 +00:00
Nick Bolton e9bf981eec tweaked cursor show/hide log messages 2012-10-26 00:58:11 +00:00
Nick Bolton 240c5a781d fixed wrong code style around cursor show/hide, made secondary input event handling look more readable, cut down on cursor shown/hidden state usage (to make sure the cursor is shown and hidden when needed), added check after show/hide to make sure that it actually happened 2012-10-26 00:21:22 +00:00
Nick Bolton 0502e3b3d6 fixed code style (whitespace) 2012-10-25 21:58:24 +00:00
Nick Bolton 7f6eca9eb4 corrected license and author attribution (cs 2002-2012, nb 2008-2012) 2012-09-04 02:09:56 +00:00
Nick Bolton 3f49e1aa52 fixed: log line was err, should be debug 2012-08-03 17:03:24 +00:00
Nick Bolton 4d4eecdb5a corrected inconsistent log messages 2012-07-29 00:25:04 +00:00
Nick Bolton 86bb49aeae added feature to control uac elevation on desk switch (login screen, lock, etc) 2012-07-28 13:34:35 +00:00
Nick Bolton 268f3a99bb added process elevation support to the relauncher, very experimental, has some bugs. 2012-07-28 02:59:20 +00:00
Nick Bolton 1c89fd2ef6 reverted patch for #242 (right shift broken for ms remote desktop) to fix bug #2799 (right shift broken for osx). 2012-07-25 00:06:27 +00:00
Nick Bolton 6dcefaf353 patch: for "old" unix, fixed compile problems (missing xi2 stuff), and refactored header tests (thanks to Jim Hague) 2012-07-20 15:14:19 +00:00
Nick Bolton bc3a76770c patch: feature #2974 - multi touch gestures. thanks to Bo Jordan. 2012-07-20 12:27:26 +00:00
Nick Bolton de30d04c72 added failing unit test and event queue DI to ms desks class. 2012-07-20 12:24:55 +00:00
Nick Bolton 3e0f062df0 process stop detection and relaunch feature (useful for winxp where the server/client is killed at logout). 2012-07-14 04:48:32 +00:00
Nick Bolton 738c321bae fixed lousy ipc client/server cleanup and shutdown doubled timeout. 2012-07-13 17:08:00 +00:00
Nick Bolton e942093407 added "shutdown existing processes" feature to relauncher. 2012-07-10 11:54:20 +00:00
Nick Bolton 8bad45e8a2 * fixed a shit-ton of memory leaks (lots in the ipc log handler, oops)
* added non-pod data support to events (event delete can now call dtors)
* improved cleanup of ipc message objects (because of non-pod event data support)
* moved the "message received" event up to ipc server and client (passed on from proxies)
2012-07-10 01:51:51 +00:00
Nick Bolton ecf1833f36 * removed wait cond and mutex usage from gui ipc log reader (it was being used incorrectly anyway)
* raised the log-to-console level to DEBUG2
* added force option to ipc log buffer (to side-step the anti-recursion "mechanism")
* made relauncher always relay server/client messages to ipc client (gui)
2012-07-08 16:27:28 +00:00
Nick Bolton 12eb8efb61 implemented ipc message buffering (dequeues on gui reconnect) 2012-07-06 12:27:22 +00:00
Nick Bolton ddb2d7feeb fixed: ipc client connected event was being wiped out
daemon now communicates graceful shutdown message through new ipc system.
2012-07-05 19:10:04 +00:00
Nick Bolton 3d6551f708 moved stream into synergy namespace (to prevent naming collision in win libs)
implemented ipc "hello" message (to identify client type)
integ tests working for hello message, but use of ipc in main program has problem with events.
2012-07-05 18:05:35 +00:00
Nick Bolton 4e268760b3 ripped out rest of shitty named pipes ipc stuff.
fixed the byte to int reader on the gui ipc (unsigned chars, argh!!!).
retry on fail for gui ipc connect.
2012-07-04 23:27:03 +00:00
Nick Bolton a8ce3418fe improved hook lib load fail error a little 2012-07-04 23:25:25 +00:00
Nick Bolton 7d5fbde71d fully replaced gui/daemon named pipes ipc with tcp ipc. 2012-07-03 14:15:05 +00:00
Nick Bolton 488241850c moving 1.4 to trunk 2012-06-10 16:50:54 +00:00
Nick Bolton e65886857d removed trunk; please commit to (and build patches against) release branches instead. 2011-10-05 00:10:22 +00:00
Nick Bolton 2fe11744cf merged 1.4 r1043:1044 into trunk 2011-06-18 23:44:23 +00:00
Nick Bolton b4918163a7 merged 1.3 r1009:1010 into 1.4 and trunk 2011-05-21 02:47:10 +00:00
Nick Bolton bebf8c2c2c made dll copy quiet and overwrite 2011-05-13 21:32:02 +00:00
Nick Bolton 52edb17015 fixed missing kDEBUG2 error in trunk and 1.4 2011-05-12 22:34:38 +00:00
Nick Bolton 627771cf13 merged 1.3 r978:979 into trunk 2011-05-08 22:46:06 +00:00
Nick Bolton edeae477e1 implemented google mock config and gave it a quick try (see: add_newValue_writeWasCalled) 2011-05-07 02:12:09 +00:00
Nick Bolton 8472fec34d removed 'lib' prefix from libraries (cmake does this for us automatically on UNIX) 2011-04-25 22:21:32 +00:00
Nick Bolton 66c4bdc356 fixed library linkage on linux 2011-04-25 22:10:46 +00:00
Nick Bolton 143c4cd297 restructured source code, put CMakeLists.txt in more conventional locations, and split the libraries up 2011-04-25 21:09:32 +00:00