aboutsummaryrefslogtreecommitdiff
path: root/nxcomp/Pgn.cpp
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-11-13 09:27:53 +0100
committerReinhard Tartler <siretart@tauware.de>2011-11-13 09:27:53 +0100
commit477961678194817aaf1aaf3602f1c91d288a539d (patch)
treed66356753053a34f93b4f6059631e0f6c4eb298c /nxcomp/Pgn.cpp
parent799bf672a3588f205bd18ef39d9908069e0cd6d5 (diff)
downloadnx-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.cpp23
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;
}
//