Added big-endian-flag option to the ChoosePixelFormatDialog dialog.
Finished big-endian-flag support in the player.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@262 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx
index a98ed41..9a181a5 100644
--- a/rfbplayer/rfbplayer.cxx
+++ b/rfbplayer/rfbplayer.cxx
@@ -877,6 +877,9 @@
   }
 }
 
+long ChoosePixelFormatDialog::pfIndex = DEFAULT_PF_INDEX;
+bool ChoosePixelFormatDialog::bigEndian = false;
+
 void RfbPlayer::serverInit() {
   RfbProto::serverInit();
 
@@ -891,17 +894,17 @@
     throw rdr::Exception("This version plays only true color session!");
 
   // Set the session pixel format
-  static long pixelFormatIndex = DEFAULT_PF_INDEX;
   if (options.askPixelFormat) {
-    ChoosePixelFormatDialog choosePixelFormatDialog(pixelFormatIndex, &supportedPF);
+    ChoosePixelFormatDialog choosePixelFormatDialog(&supportedPF);
     if (choosePixelFormatDialog.showDialog(getMainHandle())) {
-      pixelFormatIndex = choosePixelFormatDialog.getPF();
+      long pixelFormatIndex = choosePixelFormatDialog.getPFIndex();
       if (pixelFormatIndex < 0) {
         options.autoDetectPF = true;
         options.setPF((PixelFormat *)&cp.pf());
       } else {
         options.autoDetectPF = false;
         options.setPF(&supportedPF[pixelFormatIndex].PF);
+        options.pixelFormat.bigEndian = choosePixelFormatDialog.isBigEndian();
       }
     } else {
       is->pausePlayback();
@@ -912,6 +915,7 @@
       options.setPF((PixelFormat *)&cp.pf());
     } else {
       options.setPF(&supportedPF[options.pixelFormatIndex].PF);
+      options.pixelFormat.bigEndian = options.bigEndianFlag;
     }
   }
   cp.setPF(options.pixelFormat);