--- synergy-1.3.1.orig/lib/platform/CXWindowsUtil.cpp 2006-03-21 21:54:25.000000000 -0800 +++ synergy-1.3.1/lib/platform/CXWindowsUtil.cpp 2008-07-31 03:11:34.000000000 -0700 @@ -1361,7 +1361,11 @@ { const UInt32 length = 4 * XMaxRequestSize(display); const unsigned char* data = reinterpret_cast(vdata); - const UInt32 datumSize = static_cast(format / 8); + UInt32 datumSize = static_cast(format / 8); + // format 32 on 64bit systems is 8 bytes not 4. + if (format == 32) { + datumSize = sizeof(Atom); + } // save errors bool error = false;