The attached patch fixed the problem for me. This is a "hack" though, I'm not saying it's the final fix. It's definitely a good work around for on debian though, and maybe you will decide that it's the right thing to do, even.
I got the idea reading Xlib's documentation when I saw this page: http://tronche.com/gui/x/xlib/display/XInitThreads.html -- Carlo Wood <[EMAIL PROTECTED]>
diff -X /usr/src/debian/synergy/.diffignore -rudp synergy-1.3.1/cmd/synergys/synergys.cpp synergy-1.3.1.XInitThreads/cmd/synergys/synergys.cpp --- synergy-1.3.1/cmd/synergys/synergys.cpp 2006-03-22 06:40:27.000000000 +0100 +++ synergy-1.3.1.XInitThreads/cmd/synergys/synergys.cpp 2008-08-19 23:10:03.000000000 +0200 @@ -1283,6 +1283,10 @@ main(int argc, char** argv) { CArgs args; try { + if (XInitThreads() == 0) + { + throw XArch("XInitThreads() returned zero"); + } int result; CArch arch; CLOG;