delay platform init and call it explicitly from entry points so we can import the platform module without side effects

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2865 3bb7dfac-3a0b-4e04-842a-767bc560f471
path cleanup and add checkdirs() to validate arguments before calling the compiler

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2866 3bb7dfac-3a0b-4e04-842a-767bc560f471
#281: cleanup/simplify and build x264 encoder on win32
* remove ifdefs
* cleanup header import
* move some declarations to please VC...

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2867 3bb7dfac-3a0b-4e04-842a-767bc560f471
VC is annoying and we don't care about round()ing, so just floor() it

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2868 3bb7dfac-3a0b-4e04-842a-767bc560f471
cleanup + restore ability of "Xpra_cmd" to log to stdout:
* logging to file is still the default for all commands that import xpra.win32 and call init()
* but we provide a way to turn off the log file via "set_redirect_output(boolean)"
* remove the old duplicated log cruft from xpra_silent
* xpra_cmd is now its own scriptlet with just a set_redirect_output

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2869 3bb7dfac-3a0b-4e04-842a-767bc560f471
make the mouse work with the win32 shadow server

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2870 3bb7dfac-3a0b-4e04-842a-767bc560f471
move exception handling to utility function

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2877 3bb7dfac-3a0b-4e04-842a-767bc560f471
#257 prevent deadlock where _add_packet_to_queue holds the write lock and nothing happens since no packets are being sent via _write_thread_loop... so when we try to get the lock in flush_then_close, we deadlock

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2878 3bb7dfac-3a0b-4e04-842a-767bc560f471
merge release notes from 0.8.x branch

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2881 3bb7dfac-3a0b-4e04-842a-767bc560f471
typo (times 6..)

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2882 3bb7dfac-3a0b-4e04-842a-767bc560f471
don't sleep in UI thread, related to #257: flush_then_close runs in the UI thread so we can't sleep, use timeout_add to retry instead

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2883 3bb7dfac-3a0b-4e04-842a-767bc560f471
fix a race: follow up from #257: _add_packet_to_queue is a private protocol method, so we provide send_now for those that want to send stuff before the source is set (it uses a one-off source).
Without this, it is possible for the UI thread to end up deadlocked if a malicious client sends multiple requests and blocks the socket write.

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2884 3bb7dfac-3a0b-4e04-842a-767bc560f471
bytearray is not available with python < 2.6, so don't use it here since it is only for debugging anyway

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2885 3bb7dfac-3a0b-4e04-842a-767bc560f471
test for bytearray availibility before enabling webp as the bindings require it

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2886 3bb7dfac-3a0b-4e04-842a-767bc560f471
fix bytearray availibility check

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2887 3bb7dfac-3a0b-4e04-842a-767bc560f471
workaround systems without bytearray type

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2888 3bb7dfac-3a0b-4e04-842a-767bc560f471
fix cairo backing support for systems without the bytearray type (python2.5 and older) - does anybody actually use this combination?

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2889 3bb7dfac-3a0b-4e04-842a-767bc560f471
use builtin stacktrace dumper

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2890 3bb7dfac-3a0b-4e04-842a-767bc560f471
#283: ignore if glib bindings are missing, we tried our best!

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2891 3bb7dfac-3a0b-4e04-842a-767bc560f471
end_send_cb passes an argument, so we can't use close() directly(and using a lambda would make it harder to read)

git-svn-id: https://www.xpra.org/svn/Xpra/trunk@2892 3bb7dfac-3a0b-4e04-842a-767bc560f471