diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-11-13 09:27:53 +0100 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-11-13 09:27:53 +0100 |
commit | 477961678194817aaf1aaf3602f1c91d288a539d (patch) | |
tree | d66356753053a34f93b4f6059631e0f6c4eb298c /nxcomp/Pgn.cpp | |
parent | 799bf672a3588f205bd18ef39d9908069e0cd6d5 (diff) | |
download | nx-libs-477961678194817aaf1aaf3602f1c91d288a539d.tar.gz nx-libs-477961678194817aaf1aaf3602f1c91d288a539d.tar.bz2 nx-libs-477961678194817aaf1aaf3602f1c91d288a539d.zip |
Imported nxcomp-3.4.0-6.tar.gznxcomp/3.4.0-6
Summary: Imported nxcomp-3.4.0-6.tar.gz
Keywords:
Imported nxcomp-3.4.0-6.tar.gz
into Git repository
Diffstat (limited to 'nxcomp/Pgn.cpp')
-rw-r--r-- | nxcomp/Pgn.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/nxcomp/Pgn.cpp b/nxcomp/Pgn.cpp index 8145bba7f..a68373441 100644 --- a/nxcomp/Pgn.cpp +++ b/nxcomp/Pgn.cpp @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2009 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 */ @@ -104,8 +104,8 @@ int UnpackPng(T_geometry *geometry, unsigned char method, unsigned char *srcData // Check if data is coming from a failed unsplit. // - if (srcSize < 2 || srcData[0] == SPLIT_PATTERN && - srcData[1] == SPLIT_PATTERN) + if (srcSize < 2 || (srcData[0] == SPLIT_PATTERN && + srcData[1] == SPLIT_PATTERN)) { #ifdef WARNING *logofs << "UnpackPng: WARNING! Skipping unpack of dummy data.\n" @@ -456,6 +456,23 @@ int DecompressPng16(unsigned char *compressedData, int compressedLen, for (dx = 0; dx < w; dx++) { pixel = RGB24_TO_PIXEL(16, tmpBuf[dx*3], tmpBuf[dx*3+1], tmpBuf[dx*3+2]); + + // + // Follow the server byte order when arranging data. + // + + if (byteOrder == LSBFirst) + { + data[0] = (unsigned char) (pixel & 0xff); + data[1] = (unsigned char) ((pixel >> 8) & 0xff); + } + else + { + data[1] = (unsigned char) (pixel & 0xff); + data[0] = (unsigned char) ((pixel >> 8) & 0xff); + } + + data += 2; } // |