diff -Nru nxcompshad-3.3.0-3/CHANGELOG nxcompshad-3.4.0-3/CHANGELOG --- nxcompshad-3.3.0-3/CHANGELOG 2009-01-21 10:34:20.000000000 +0000 +++ nxcompshad-3.4.0-3/CHANGELOG 2011-02-16 15:50:45.000000000 +0000 @@ -1,5 +1,28 @@ ChangeLog: +nxcompshad-3.4.0-3 + +- Updated copyright to year 2010. + +nxcompshad-3.4.0-2 + +- Fixed TR08G02256. Now the Shadow session is shown correctly with + MIT-SHM extension disabled. + +- Improved updateShadowFrameBuffer() and ~Poller() functions. + +- Avoided memory leak. + +nxcompshad-3.4.0-1 + +- Opened the 3.4.0 branch based on nxcompshad-3.3.0-3. + +- Updated version number. + +- Updated copyright to year 2009. + +- Improved error messages logging in case of initialization failures. + nxcompshad-3.3.0-3 - Fixed TR01G02158. Keymap initialization could be incorrect because diff -Nru nxcompshad-3.3.0-3/Core.cpp nxcompshad-3.4.0-3/Core.cpp --- nxcompshad-3.3.0-3/Core.cpp 2008-05-22 11:31:55.000000000 +0000 +++ nxcompshad-3.4.0-3/Core.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Core.h nxcompshad-3.4.0-3/Core.h --- nxcompshad-3.3.0-3/Core.h 2008-05-22 11:30:38.000000000 +0000 +++ nxcompshad-3.4.0-3/Core.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/debian/bzr-builder.manifest nxcompshad-3.4.0-3/debian/bzr-builder.manifest --- nxcompshad-3.3.0-3/debian/bzr-builder.manifest 1970-01-01 00:00:00.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/bzr-builder.manifest 2011-02-16 15:50:45.000000000 +0000 @@ -0,0 +1,2 @@ +# bzr-builder format 0.3 deb-version {debupstream}-0~6 +lp:~siretart/x2go/nxcompshad-FAU-trunk revid:git-v1:4d687283ff168222693319d7e268f2ba5ad6e369 diff -Nru nxcompshad-3.3.0-3/debian/changelog nxcompshad-3.4.0-3/debian/changelog --- nxcompshad-3.3.0-3/debian/changelog 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/changelog 2011-02-16 15:50:45.000000000 +0000 @@ -1,5 +1,132 @@ +nxcompshad (3.4.0-3-0~6~natty1) unstable; urgency=low + + * Auto build. + + -- Reinhard Tartler Wed, 16 Feb 2011 15:50:45 +0000 + +nxcompshad (3.4.0-3-0) unstable; urgency=low + + * FAU development + + -- Reinhard Tartler Wed, 26 Jan 2011 11:02:40 +0100 + +nxcompshad (3.4.0-3-0~ppa1~lucid1) lucid; urgency=low + + * Backport to lucid + + -- Marcelo Boveto Shima Thu, 18 Mar 2010 19:27:12 -0300 + +nxcompshad (3.4.0-3-0~ppa1) UNRELEASED; urgency=low + + * New upstream release + + -- Marcelo Boveto Shima Thu, 18 Mar 2010 19:21:34 -0300 + +nxcompshad (3.4.0-1-0ubuntu2~ppa2) lucid; urgency=low + + * Bump compat to 7 + + -- Marcelo Boveto Shima Sun, 20 Dec 2009 10:56:21 -0200 + +nxcompshad (3.4.0-1-0ubuntu2~ppa1) lucid; urgency=low + + * Convert to dh 7 + * Convert to quilt + * Add patches taken from altlinux package + + -- Marcelo Boveto Shima Sat, 19 Dec 2009 01:18:24 -0200 + +nxcompshad (3.4.0-1-0ubuntu1) lucid; urgency=low + + * New upstream release + + -- Marcelo Boveto Shima Fri, 18 Dec 2009 16:54:25 -0200 + nxcompshad (3.3.0-3-0ubuntu1) karmic; urgency=low - * Initial release. (LP: #252755) + * Upload to karmic + * Change versioning to 0ubuntuX + + -- Marcelo Boveto Shima Sat, 01 Aug 2009 01:28:16 -0300 + +nxcompshad (3.3.0-3-0freenxteam1) jaunty; urgency=low + + * New upstream release + + -- Marcelo Boveto Shima Tue, 17 Feb 2009 15:21:24 -0300 + +nxcompshad (3.3.0-2-0ubuntu1) jaunty; urgency=low + + * New upstream release + + -- Marcelo Boveto Shima Thu, 20 Nov 2008 23:15:35 -0200 + +nxcompshad (3.2.0-3-0ubuntu1) jaunty; urgency=low + + * First upload to Ubuntu. + + -- Marcelo Boveto Shima Mon, 17 Nov 2008 17:48:54 -0200 + +nxcompshad (3.2.0-3-0freenxteam1~dapper2) dapper; urgency=low + + * Remove binary:Version + + -- Marcelo Boveto Shima Sat, 20 Sep 2008 14:17:54 -0300 + +nxcompshad (3.2.0-3-0freenxteam1~dapper1) dapper; urgency=low + + * Backport to Dapper + + -- Marcelo Boveto Shima Sat, 20 Sep 2008 13:39:06 -0300 + +nxcompshad (3.2.0-3-0freenxteam1) hardy; urgency=low + + * Change Maintainer to FreeNX Team + + -- Marcelo Boveto Shima Sat, 20 Sep 2008 10:52:23 -0300 + +nxcompshad (3.2.0-3-0~freenx1) hardy; urgency=low + + * First upload to FreeNX Team PPA + + -- Marcelo Boveto Shima Sun, 06 Jul 2008 16:20:03 -0300 + +nxcompshad (3.2.0-3-0.1~px) hardy; urgency=low + + * Non-maintainer upload + * New upstream release + * Modified 01_system_wide_build.dpatch + * lintian fixes: + ** debian-rules-ignores-make-clean-error line 15 + -> removed ignore + ** ancient-standards-version 3.7.2 (current is 3.8.0) + -> bumped the version number + ** patch-system-but-direct-changes-in-diff configure + -> del configure on debian/rules clean + ** extra-license-file usr/share/doc/libxcompshad3/COPYING.gz + -> removed COPYING from debian/docs + ** old-fsf-address-in-copyright-file + -> changed debian/copyright file + ** wrong-name-for-upstream-changelog usr/share/doc/libxcompshad3/CHANGELOG.gz + -> use lowercase changelog + + -- Per Hansen Wed, 18 Jun 2008 10:00:00 +0200 + +nxcompshad (3.2.0-1-0ppa1) hardy; urgency=low + + * New upstream release + + -- Marcelo Boveto Shima Wed, 09 Apr 2008 22:20:59 +0000 + +nxcompshad (3.1.0-2-0ubuntu0ppa1) feisty; urgency=low + + * New upstream release + + -- Marcelo Boveto Shima Sun, 16 Dec 2007 15:39:36 -0200 + +nxcompshad (3.0.0.19-0ubuntu0~ppa1) feisty; urgency=low + + * Initial release + + -- Marcelo Boveto Shima Sun, 16 Sep 2007 18:30:51 -0300 - -- Marcelo Boveto Shima Thu, 22 Jan 2009 23:55:26 -0200 diff -Nru nxcompshad-3.3.0-3/debian/changelog.revu nxcompshad-3.4.0-3/debian/changelog.revu --- nxcompshad-3.3.0-3/debian/changelog.revu 1970-01-01 00:00:00.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/changelog.revu 2011-02-16 15:50:45.000000000 +0000 @@ -0,0 +1,5 @@ +nxcompshad (3.3.0-3-0ubuntu1) jaunty; urgency=low + + * Initial release. (LP: #252755) + + -- Marcelo Boveto Shima Thu, 22 Jan 2009 23:55:26 -0200 diff -Nru nxcompshad-3.3.0-3/debian/compat nxcompshad-3.4.0-3/debian/compat --- nxcompshad-3.3.0-3/debian/compat 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/compat 2011-02-16 15:50:45.000000000 +0000 @@ -1 +1 @@ -5 +7 diff -Nru nxcompshad-3.3.0-3/debian/control nxcompshad-3.4.0-3/debian/control --- nxcompshad-3.3.0-3/debian/control 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/control 2011-02-16 15:50:45.000000000 +0000 @@ -1,7 +1,8 @@ Source: nxcompshad Priority: extra -Maintainer: Ubuntu Developers -Build-Depends: debhelper (>= 5), autoconf, cdbs, dpatch, libxtst-dev, libxdamage-dev, libxrandr-dev, automake +Maintainer: Ubuntu MOTU Developers +Build-Depends: debhelper (>= 7), quilt, libxtst-dev, + libxdamage-dev, libxrandr-dev, automake, libxi-dev Standards-Version: 3.8.3 Section: x11 @@ -19,7 +20,7 @@ Package: libxcompshad-dev Section: libdevel Architecture: any -Depends: libxcompshad3, ${misc:Depends} +Depends: libxcompshad3 (=${binary:Version}), ${misc:Depends} Description: NX shadowing library NX is a software suite from NoMachine which implements very efficient compression of the X11 protocol. This increases performance when diff -Nru nxcompshad-3.3.0-3/debian/copyright nxcompshad-3.4.0-3/debian/copyright --- nxcompshad-3.3.0-3/debian/copyright 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/copyright 2011-02-16 15:50:45.000000000 +0000 @@ -7,7 +7,6 @@ Upstream LICENSE file contains: - Copyright (C) 2001, 2007 NoMachine - http://www.nomachine.com/. NXCOMPSHAD and NX extensions to X are copyright of NoMachine. @@ -30,9 +29,7 @@ Fifth Floor, Boston, MA 02110-1301, USA. All rights reserved. - -The FSF address has been updated! The full text of the GNU General Public License, version 2, can be found in "/usr/share/common-licenses/GPL-2" on Debian systems. diff -Nru nxcompshad-3.3.0-3/debian/docs nxcompshad-3.4.0-3/debian/docs --- nxcompshad-3.3.0-3/debian/docs 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/docs 2011-02-16 15:50:45.000000000 +0000 @@ -1 +1 @@ -changelog +CHANGELOG diff -Nru nxcompshad-3.3.0-3/debian/patches/00list nxcompshad-3.4.0-3/debian/patches/00list --- nxcompshad-3.3.0-3/debian/patches/00list 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/patches/00list 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -01_system_wide_build diff -Nru nxcompshad-3.3.0-3/debian/patches/01_system_wide_build.dpatch nxcompshad-3.4.0-3/debian/patches/01_system_wide_build.dpatch --- nxcompshad-3.3.0-3/debian/patches/01_system_wide_build.dpatch 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/patches/01_system_wide_build.dpatch 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 01_system_wide_build.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Include headers from system directory - -@DPATCH@ -diff -urNad nxcompshad~/configure.in nxcompshad/configure.in ---- nxcompshad~/configure.in 2007-06-04 13:39:49.000000000 +0200 -+++ nxcompshad/configure.in 2008-06-18 10:00:00.000000000 +0200 -@@ -17,9 +17,9 @@ - - dnl Prefer headers and libraries from nx-X11, if present. - --if test -d "../nx-X11/exports/include" ; then -- CXXFLAGS="$CXXFLAGS -I../nx-X11/exports/include" -- LIBS="$LIBS -L../nx-X11/exports/lib" -+if test -d "/usr/include/nx" ; then -+ CXXFLAGS="$CXXFLAGS -I/usr/include/nx" -+ LIBS="$LIBS -L/usr/lib/nx" - fi - - dnl Check whether --with-ipaq was given. diff -Nru nxcompshad-3.3.0-3/debian/patches/01_system_wide_build.patch nxcompshad-3.4.0-3/debian/patches/01_system_wide_build.patch --- nxcompshad-3.3.0-3/debian/patches/01_system_wide_build.patch 1970-01-01 00:00:00.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/patches/01_system_wide_build.patch 2011-02-16 15:50:45.000000000 +0000 @@ -0,0 +1,22 @@ +Title: Include headers from system directory +DEP: 3 +State: CANDIDATE +Abstract: + Include headers from system directory + +diff -urNad nxcompshad~/configure.in nxcompshad/configure.in +--- nxcompshad~/configure.in 2007-06-04 13:39:49.000000000 +0200 ++++ nxcompshad/configure.in 2008-06-18 10:00:00.000000000 +0200 +@@ -17,9 +17,9 @@ + + dnl Prefer headers and libraries from nx-X11, if present. + +-if test -d "../nx-X11/exports/include" ; then +- CXXFLAGS="$CXXFLAGS -I../nx-X11/exports/include" +- LIBS="$LIBS -L../nx-X11/exports/lib" ++if test -d "/usr/include/nx" ; then ++ CXXFLAGS="$CXXFLAGS -I/usr/include/nx" ++ LIBS="$LIBS -L/usr/lib/nx" + fi + + dnl Check whether --with-ipaq was given. diff -Nru nxcompshad-3.3.0-3/debian/patches/cflags.patch nxcompshad-3.4.0-3/debian/patches/cflags.patch --- nxcompshad-3.3.0-3/debian/patches/cflags.patch 1970-01-01 00:00:00.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/patches/cflags.patch 2011-02-16 15:50:45.000000000 +0000 @@ -0,0 +1,21 @@ +Title: Remove hardcoded O3 compiler flag +DEP: 3 +State: CANDIDATE +Date: 2009-12-19 +Abstract: + Remove hardcoded O3 compiler flag + +--- nxcompshad/configure.in.orig 2008-12-18 15:56:13.000000000 +0100 ++++ nxcompshad/configure.in 2008-12-18 15:56:22.000000000 +0100 +@@ -5,11 +5,6 @@ + AC_INIT(Shadow.h) + AC_PREREQ(2.13) + +-dnl Reset default compilation flags. +- +-CXXFLAGS="-O3" +-CPPFLAGS="-O3" +- + dnl Reset default linking directives. + + LIBSTATIC="" diff -Nru nxcompshad-3.3.0-3/debian/patches/nxcompshad-3.2.0-gcc43.patch nxcompshad-3.4.0-3/debian/patches/nxcompshad-3.2.0-gcc43.patch --- nxcompshad-3.3.0-3/debian/patches/nxcompshad-3.2.0-gcc43.patch 1970-01-01 00:00:00.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/patches/nxcompshad-3.2.0-gcc43.patch 2011-02-16 15:50:45.000000000 +0000 @@ -0,0 +1,13 @@ +--- nxcompshad/Misc.h.orig 2008-07-21 18:27:41 +0400 ++++ nxcompshad/Misc.h 2008-07-21 18:31:17 +0400 +@@ -20,8 +20,8 @@ + + #include + +-#include +-#include ++#include ++#include + + using namespace std; + diff -Nru nxcompshad-3.3.0-3/debian/patches/nxcompshad-3.3.0-Xext.patch nxcompshad-3.4.0-3/debian/patches/nxcompshad-3.3.0-Xext.patch --- nxcompshad-3.3.0-3/debian/patches/nxcompshad-3.3.0-Xext.patch 1970-01-01 00:00:00.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/patches/nxcompshad-3.3.0-Xext.patch 2011-02-16 15:50:45.000000000 +0000 @@ -0,0 +1,11 @@ +--- nxcompshad/Makefile.in.orig 2008-12-05 13:57:18 +0300 ++++ nxcompshad/Makefile.in 2008-12-05 13:57:05 +0300 +@@ -48,7 +48,7 @@ CCINCLUDES = + CCDEFINES = + + LDFLAGS = @LDFLAGS@ +-LIBS = @LIBS@ -L/usr/X11R6/lib -lX11 ++LIBS = @LIBS@ -L/usr/X11R6/lib -lX11 -lXext + + # + # Only if THREADS is defined. diff -Nru nxcompshad-3.3.0-3/debian/patches/series nxcompshad-3.4.0-3/debian/patches/series --- nxcompshad-3.3.0-3/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/patches/series 2011-02-16 15:50:45.000000000 +0000 @@ -0,0 +1,4 @@ +nxcompshad-3.2.0-gcc43.patch +nxcompshad-3.3.0-Xext.patch +cflags.patch +01_system_wide_build.patch diff -Nru nxcompshad-3.3.0-3/debian/rules nxcompshad-3.4.0-3/debian/rules --- nxcompshad-3.3.0-3/debian/rules 2011-02-16 16:36:51.000000000 +0000 +++ nxcompshad-3.4.0-3/debian/rules 2011-02-16 15:50:45.000000000 +0000 @@ -1,20 +1,16 @@ #!/usr/bin/make -f -include /usr/share/cdbs/1/rules/buildcore.mk -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/rules/dpatch.mk +include /usr/share/quilt/quilt.make -common-build-arch common-build-indep:: debian/stamp-custom-build -debian/stamp-custom-build: - # we need -fPIC - autoreconf -f -i && \ - ./configure && \ - $(MAKE) - cp CHANGELOG changelog +%: + dh $@ -clean:: - [ ! -f Makefile ] || $(MAKE) distclean - [ ! -f aclocal.m4 ] || rm aclocal.m4 - [ ! -f configure ] || rm configure - [ ! -f changelog ] || rm changelog +build: $(QUILT_STAMPFN) +clean: unpatch + +#clean:: +# [ ! -f Makefile ] || $(MAKE) distclean +# [ ! -f aclocal.m4 ] || rm aclocal.m4 +# [ ! -f configure ] || rm configure +# [ ! -f changelog ] || rm changelog diff -Nru nxcompshad-3.3.0-3/Input.cpp nxcompshad-3.4.0-3/Input.cpp --- nxcompshad-3.3.0-3/Input.cpp 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Input.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Input.h nxcompshad-3.4.0-3/Input.h --- nxcompshad-3.3.0-3/Input.h 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Input.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/LICENSE nxcompshad-3.4.0-3/LICENSE --- nxcompshad-3.3.0-3/LICENSE 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/LICENSE 2011-02-16 15:50:45.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (C) 2001, 2007 NoMachine - http://www.nomachine.com/. +Copyright (c) 2001, 2010 NoMachine - http://www.nomachine.com/. NXCOMPSHAD and NX extensions to X are copyright of NoMachine. diff -Nru nxcompshad-3.3.0-3/Logger.cpp nxcompshad-3.4.0-3/Logger.cpp --- nxcompshad-3.3.0-3/Logger.cpp 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Logger.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMP, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Logger.h nxcompshad-3.4.0-3/Logger.h --- nxcompshad-3.3.0-3/Logger.h 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Logger.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMP, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Makefile.in nxcompshad-3.4.0-3/Makefile.in --- nxcompshad-3.3.0-3/Makefile.in 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Makefile.in 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ ############################################################################ # # -# Copyright (c) 2001, 2005 NoMachine, http://www.nomachine.com. # +# Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. # # # # NXCOMP, NX protocol compression and NX extensions to this software # # are copyright of NoMachine. Redistribution and use of the present # diff -Nru nxcompshad-3.3.0-3/Manager.cpp nxcompshad-3.4.0-3/Manager.cpp --- nxcompshad-3.3.0-3/Manager.cpp 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Manager.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Manager.h nxcompshad-3.4.0-3/Manager.h --- nxcompshad-3.3.0-3/Manager.h 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Manager.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Misc.h nxcompshad-3.4.0-3/Misc.h --- nxcompshad-3.3.0-3/Misc.h 2008-05-22 11:31:35.000000000 +0000 +++ nxcompshad-3.4.0-3/Misc.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Poller.h nxcompshad-3.4.0-3/Poller.h --- nxcompshad-3.3.0-3/Poller.h 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Poller.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Regions.h nxcompshad-3.4.0-3/Regions.h --- nxcompshad-3.3.0-3/Regions.h 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Regions.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Shadow.cpp nxcompshad-3.4.0-3/Shadow.cpp --- nxcompshad-3.3.0-3/Shadow.cpp 2009-01-14 16:20:22.000000000 +0000 +++ nxcompshad-3.4.0-3/Shadow.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ @@ -152,7 +152,7 @@ if (poller -> init() == -1) { - logTest("NXCreatePoller", "Failed to initialize poller."); + logWarning("NXCreatePoller", "Failed to initialize poller."); return -1; } @@ -270,7 +270,7 @@ if (NXCreatePoller(display, shadowDisplay) != 1) { - logTest("NXShadowCreate", "NXCreatePoller failed."); + logWarning("NXShadowCreate", "NXCreatePoller failed."); return -1; } diff -Nru nxcompshad-3.3.0-3/Shadow.cpp.orig nxcompshad-3.4.0-3/Shadow.cpp.orig --- nxcompshad-3.3.0-3/Shadow.cpp.orig 2008-05-22 11:30:38.000000000 +0000 +++ nxcompshad-3.4.0-3/Shadow.cpp.orig 1970-01-01 00:00:00.000000000 +0000 @@ -1,461 +0,0 @@ -/**************************************************************************/ -/* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com. */ -/* */ -/* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ -/* are copyright of NoMachine. Redistribution and use of the present */ -/* software is allowed according to terms specified in the file LICENSE */ -/* which comes in the source distribution. */ -/* */ -/* Check http://www.nomachine.com/licensing.html for applicability. */ -/* */ -/* NX and NoMachine are trademarks of Medialogic S.p.A. */ -/* */ -/* All rights reserved. */ -/* */ -/**************************************************************************/ - -#include -#include - -#define PANIC -#define WARNING -#undef TEST -#undef DEBUG - -#include "Logger.h" -#include "Shadow.h" -#include "Poller.h" -#include "Manager.h" - -typedef struct { - KeySym *map; - KeyCode minKeyCode, - maxKeyCode; - int mapWidth; -} KeySymsRec, *KeySymsPtr; - -KeySymsPtr NXShadowKeymap = NULL; - -ShadowOptions NXShadowOptions = {1, 1, -1}; - -static int mirrorException = 0; - -static UpdateManager *updateManager; -static Poller *poller; -static Input *input; - -int NXShadowRemoveAllUpdaters(); - -inline bool NXShadowNotInitialized() -{ - // - // updateManager depends on input and poller. - // So this test seem redundant. - // - // return (input == NULL) || (poller == NULL) || (updateManager == NULL); - // - - return (updateManager == NULL); -} - -#ifdef NEED_SIGNAL_HANDLER -static void NXSignalHandler(int signal) -{ - logTest("NXSignalHandler", "Got signal [%d]", signal); - - if (signal == SIGINT) - { - mirrorException = 1; - } - else if (signal == SIGTERM) - { - mirrorException = 1; - } -} - -static int NXInitSignal() -{ - logTrace("NXInitSignal"); - - struct sigaction sa; - - sa.sa_handler = NXSignalHandler; - sigfillset(&sa.sa_mask); - sa.sa_flags = 0; - - int res; - - while ((res = sigaction(SIGINT, &sa, NULL)) == -1 && - errno == EINTR); - - if (res == -1) - { - logError("NXInitSignal", EGET()); - - return -1; - } - - return 1; -} -#endif - -static void NXHandleException() -{ - if (mirrorException) - { - mirrorException = 0; - - NXShadowRemoveAllUpdaters(); - } -} - -static int NXCreateInput(char *keymap, char *shadowDisplayName) -{ - logTrace("NXCreateInput"); - - input = new Input; - - if (input == NULL) - { - logError("NXCreateInput", ESET(ENOMEM)); - - return -1; - } - - input -> setKeymap(keymap); - - input -> setShadowDisplayName(shadowDisplayName); - - return 1; -} - -static int NXCreatePoller(Display *display, Display **shadowDisplay) -{ - logTrace("NXCreatePoller"); - - if (input == NULL) - { - logError("NXCreatePoller", ESET(EBADFD)); - - return -1; - } - - poller = new Poller(input,display); - - if (poller == NULL) - { - logError("NXCreatePoller", ESET(ENOMEM)); - - return -1; - } - - if (poller -> init() == -1) - { - logTest("NXCreatePoller", "Failed to initialize poller."); - - return -1; - } - - *shadowDisplay = poller -> getShadowDisplay(); - - logTest("NXCreatePoller", "Poller geometry [%d, %d], ShadowDisplay[%p].", poller -> width(), - poller -> height(), (Display *) *shadowDisplay); - - return 1; -} - -static int NXCreateUpdateManager() -{ - logTrace("NXCreateUpdateManager"); - - if (input == NULL || poller == NULL) - { - logError("NXCreateUpdateManager", ESET(EBADFD)); - - return -1; - } - - updateManager = new UpdateManager(poller -> width(), poller -> height(), - poller -> getFrameBuffer(), input); - - if (updateManager == NULL) - { - logError("NXCreateUpdateManager", ESET(ENOMEM)); - - return -1; - } - - return 1; -} - -void NXShadowResetOptions() -{ - NXShadowOptions.optionShmExtension = 1; - NXShadowOptions.optionDamageExtension = 1; -} - -// -// Exported functions. -// - -int NXShadowHasUpdaters() -{ - logTrace("NXShadowHasUpdaters"); - - return (updateManager && updateManager -> numberOfUpdaters()) ? 1 : 0; -} - -int NXShadowRemoveAllUpdaters() -{ - logTrace("NXShadowRemoveAllUpdaters"); - - return updateManager ? updateManager -> removeAllUpdaters() : 0; -} - -int NXShadowRemoveUpdater(UpdaterHandle handle) -{ - logTrace("NXShadowRemoveUpdater"); - - return updateManager ? updateManager -> removeUpdater(handle) : 0; -} - -UpdaterHandle NXShadowAddUpdater(char *displayName) -{ - logTrace("NXShadowAddUpdater"); - - return updateManager ? updateManager -> addUpdater(displayName, NULL) : NULL; -} - -int NXShadowAddUpdaterDisplay(void *dpy, int *w, int *h, unsigned char *d) -{ - Display *display = reinterpret_cast(dpy); - - logTrace("NXShadowAddUpdaterDisplay"); - - if ((updateManager ? updateManager -> addUpdater(NULL, display) : NULL) == NULL) - { - logTest("NXShadowAddUpdaterDisplay", "Error"); - - return 0; - } - - *w = updateManager -> getWidth(); - *h = updateManager -> getHeight(); - *d = poller -> depth(); - - return 1; -} - -int NXShadowCreate(void *dpy, char *keymap, char* shadowDisplayName, void **shadowDpy) -{ - logTrace("NXShadowCreate"); - - Display *display = reinterpret_cast(dpy); - Display **shadowDisplay = reinterpret_cast(shadowDpy); - -/* if (NXInitSignal() != 1) - { - logError("NXShadowCreate", EGET()); - - return -1; - }*/ - - if (NXCreateInput(keymap, shadowDisplayName) != 1) - { - logError("NXShadowCreate", EGET()); - - return -1; - } - - if (NXCreatePoller(display, shadowDisplay) != 1) - { - logTest("NXShadowCreate", "NXCreatePoller failed."); - - return -1; - } - - if (NXCreateUpdateManager() != 1) - { - logError("NXShadowCreate", EGET()); - - return -1; - } - - return 1; -} - -#if !defined(__CYGWIN32__) && !defined(WIN32) - -void NXShadowSetDisplayUid(int uid) -{ - NXShadowOptions.optionShadowDisplayUid = uid; -} - -void NXShadowDisableShm(void) -{ - logUser("NXShadowDisableShm: Disabling SHM.\n"); - - NXShadowOptions.optionShmExtension = 0; -} - -void NXShadowDisableDamage(void) -{ - NXShadowOptions.optionDamageExtension = 0; -} - -#endif - -void NXShadowDestroy() -{ - if (poller) - { - delete poller; - - poller = NULL; - } - - if (updateManager) - { - delete updateManager; - - updateManager = NULL; - } - - if (input) - { - delete input; - - input = NULL; - } -} - -void NXShadowHandleInput() -{ - logTrace("NXShadowHandleInput"); - - if (NXShadowNotInitialized()) - { - logError("NXShadowHandleInput - NXShadow not properly initialized.", ESET(EBADFD)); - - return; - } - - NXHandleException(); - - updateManager -> handleInput(); - - poller -> handleInput(); -} - -int NXShadowHasChanged(int (*callback)(void *), void *arg, int *suspended) -{ - int result; - - logTrace("NXShadowHasChanged"); - - if (NXShadowNotInitialized()) - { - logError("NXShadowHasChanged - NXShadow not properly initialized.", ESET(EBADFD)); - - return -1; - } - - // - // FIXME - //updateManager -> destroyUpdateManagerRegion(); - // - - updateManager -> newRegion(); - -#if !defined(__CYGWIN32__) && !defined(WIN32) - poller -> getEvents(); -#endif - - result = poller -> isChanged(callback, arg, suspended); - - if (result == 1) - { - updateManager -> addRegion(poller -> lastUpdatedRegion()); - - return 1; - } - else if (result == -1) - { - logTest("NXShadowHasChanged", "Scanline error."); - return -1; - } - - return 0; -} - -void NXShadowExportChanges(long *numRects, char **pBox) -{ - Region pReg; - - logTrace("NXShadowExportChanges"); - - if (NXShadowNotInitialized()) - { - logError("NXShadowExportChanges - NXShadow not properly initialized.", ESET(EBADFD)); - } - - updateManager -> update(); - pReg = updateManager -> getUpdateManagerRegion(); - *numRects = pReg -> numRects; - *pBox = (char *)pReg -> rects; - - logTest("NXShadowExportChanges", "numRects [%ld] pBox[%p], pReg->numRects[%ld], rects[%p], size[%lu]", - *numRects, *pBox, pReg -> numRects, &(pReg -> rects -> x2), - (unsigned long) sizeof(pReg -> rects -> x2)); -} - -void NXShadowEvent(Display *display, XEvent event) -{ - poller -> handleEvent(display, &event); -} - -void NXShadowWebKeyEvent(KeySym keysym, Bool isKeyPress) -{ - poller -> handleWebKeyEvent(keysym, isKeyPress); -} - -#ifdef __CYGWIN32__ - -int NXShadowCaptureCursor(unsigned int wnd, void *vis) -{ - Window window = (Window)wnd; - Visual *visual = reinterpret_cast(vis); - - logTrace("NXShadowCaptureCursor"); - - logTest("NXShadowCaptureCursor","Init"); - - return poller -> updateCursor(window, visual); -} - -#endif - -void NXShadowUpdateBuffer(void **buffer) -{ - char **fBuffer = reinterpret_cast(buffer); - - if (*fBuffer != NULL) - { - poller -> destroyFrameBuffer(); - - poller -> init(); - } - - *fBuffer = poller -> getFrameBuffer(); - - logTest("NXShadowUpdateBuffer","New frame buffer [0x%p]", (void *)*fBuffer); -} - -void NXShadowInitKeymap(void *keysyms) -{ - NXShadowKeymap = (KeySymsPtr) keysyms; - - logTest("NXShadowInitKeymap","KeySyms pointer [0x%p] mapWidth [%d]", - (void *)NXShadowKeymap, NXShadowKeymap -> mapWidth); -} diff -Nru nxcompshad-3.3.0-3/Shadow.h nxcompshad-3.4.0-3/Shadow.h --- nxcompshad-3.3.0-3/Shadow.h 2008-05-22 11:34:25.000000000 +0000 +++ nxcompshad-3.4.0-3/Shadow.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Updater.cpp nxcompshad-3.4.0-3/Updater.cpp --- nxcompshad-3.3.0-3/Updater.cpp 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Updater.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Updater.h nxcompshad-3.4.0-3/Updater.h --- nxcompshad-3.3.0-3/Updater.h 2007-06-04 11:39:49.000000000 +0000 +++ nxcompshad-3.4.0-3/Updater.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/VERSION nxcompshad-3.4.0-3/VERSION --- nxcompshad-3.3.0-3/VERSION 2008-11-07 18:14:20.000000000 +0000 +++ nxcompshad-3.4.0-3/VERSION 2011-02-16 15:50:45.000000000 +0000 @@ -1 +1 @@ -3.3.0 +3.4.0 diff -Nru nxcompshad-3.3.0-3/Win.cpp nxcompshad-3.4.0-3/Win.cpp --- nxcompshad-3.3.0-3/Win.cpp 2008-05-22 11:30:38.000000000 +0000 +++ nxcompshad-3.4.0-3/Win.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/Win.h nxcompshad-3.4.0-3/Win.h --- nxcompshad-3.3.0-3/Win.h 2008-05-22 11:30:38.000000000 +0000 +++ nxcompshad-3.4.0-3/Win.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ diff -Nru nxcompshad-3.3.0-3/X11.cpp nxcompshad-3.4.0-3/X11.cpp --- nxcompshad-3.3.0-3/X11.cpp 2009-01-16 11:06:50.000000000 +0000 +++ nxcompshad-3.4.0-3/X11.cpp 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ @@ -127,7 +127,7 @@ XCloseDisplay(display_); } - if (tmpBuffer_ != NULL && shmExtension_ == 1 && damageExtension_ == 1) + if (tmpBuffer_ != NULL && shmExtension_ != -1 && damageExtension_ == 1) { XFree(tmpBuffer_); @@ -181,13 +181,21 @@ return -1; } - - return 1; } else { - return 0; + image_ = XGetImage(display_, DefaultRootWindow(display_), 0, 0, width_, + height_, AllPlanes, ZPixmap); + + if (image_ == NULL) + { + logDebug("Poller::updateShadowFrameBuffer", "XGetImage failed!"); + + return -1; + } } + + return 1; } char *Poller::getRect(XRectangle r) @@ -255,6 +263,8 @@ } XFree(image_); + + image_ = NULL; } return tmpBuffer_; @@ -1305,17 +1315,19 @@ int randrEventBase; int randrErrorBase; - randrExtension_ = 0; - - XRRSelectInput(display_, DefaultRootWindow(display_), RRScreenChangeNotifyMask); - if (XRRQueryExtension(display_, &randrEventBase, &randrErrorBase) == 0) { - #ifdef PANIC - fprintf(stderr, "nxagentShadowInit: Randr extension not supported on this display.\n"); - #endif + logWarning("Poller::randrInit", "Randr extension not supported on this " + "display."); + + randrExtension_ = 0; + + return; } + XRRSelectInput(display_, DefaultRootWindow(display_), + RRScreenChangeNotifyMask); + randrEventBase_ = randrEventBase; randrExtension_ = 1; @@ -1412,7 +1424,7 @@ { if (randrExtension_ == 1 && (X.type == randrEventBase_ + RRScreenChangeNotify || X.type == ConfigureNotify)) { - XRRUpdateConfiguration (&X); + XRRUpdateConfiguration(&X); handleRRScreenChangeNotify(&X); @@ -1467,42 +1479,71 @@ void Poller::updateDamagedAreas(void) { - if (shmExtension_ == 1) - { - BOX *boxPtr; + BOX *boxPtr; - XRectangle rectangle; + XRectangle rectangle; - int i; - int y; + int i; + int y; + + for (i = 0; i < lastUpdatedRegion_ -> numRects; i++) + { + boxPtr = lastUpdatedRegion_ -> rects + i; - for (i = 0; i < lastUpdatedRegion_ -> numRects; i++) + if (shmExtension_ == 1) { - boxPtr = lastUpdatedRegion_ -> rects + i; - image_ -> width = boxPtr -> x2 - boxPtr -> x1; - image_ -> height = boxPtr -> y2 - boxPtr -> y1; + image_ -> height = boxPtr -> y2 - boxPtr -> y1; + image_ -> bytes_per_line = + ROUNDUP((image_ -> bits_per_pixel * image_ -> width), + image_ -> bitmap_pad); + + if (XShmGetImage(display_, DefaultRootWindow(display_), image_, + boxPtr -> x1, boxPtr -> y1, AllPlanes) == 0) + { + logDebug("Poller::updateDamagedAreas", "XShmGetImage failed!"); - image_ -> bytes_per_line = ROUNDUP((image_ -> bits_per_pixel * image_ -> width), image_ -> bitmap_pad); + return; + } + } + else if (shmExtension_ == 0) + { + image_ = XGetImage(display_, DefaultRootWindow(display_), boxPtr -> x1, + boxPtr -> y1, boxPtr -> x2 - boxPtr -> x1, + boxPtr -> y2 - boxPtr -> y1, AllPlanes, + ZPixmap); - if (XShmGetImage(display_, DefaultRootWindow(display_), image_, boxPtr -> x1, boxPtr -> y1, AllPlanes) == 0) + if (image_ == NULL) { - logDebug("Poller::getRect", "XShmGetImage failed!"); + logDebug("Poller::updateDamagedAreas", "XGetImage failed!"); return; } - rectangle.height = 1; - rectangle.width = image_ -> width; - rectangle.x = boxPtr -> x1; - rectangle.y = boxPtr -> y1; + image_ -> width = boxPtr -> x2 - boxPtr -> x1; + image_ -> height = boxPtr -> y2 - boxPtr -> y1; + image_ -> bytes_per_line = + ROUNDUP((image_ -> bits_per_pixel * image_ -> width), + image_ -> bitmap_pad); + } - for (y = 0; y < image_ -> height; y++) - { - update(image_ -> data + y * image_ -> bytes_per_line, rectangle); + rectangle.height = 1; + rectangle.width = image_ -> width; + rectangle.x = boxPtr -> x1; + rectangle.y = boxPtr -> y1; - rectangle.y++; - } + for (y = 0; y < image_ -> height; y++) + { + update(image_ -> data + y * image_ -> bytes_per_line, rectangle); + + rectangle.y++; + } + + if (shmExtension_ != 1) + { + XDestroyImage(image_); + + image_ = NULL; } } diff -Nru nxcompshad-3.3.0-3/X11.h nxcompshad-3.4.0-3/X11.h --- nxcompshad-3.3.0-3/X11.h 2008-05-22 12:58:18.000000000 +0000 +++ nxcompshad-3.4.0-3/X11.h 2011-02-16 15:50:45.000000000 +0000 @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */