Added throwing rfb::UnsupportedPixelFormatExceptions exception in ScaledDIBSectionBuffer class.

git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2368 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/win/rfb_win32/ScaledDIBSectionBuffer.cxx b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
index efa27a0..a3eb4fb 100644
--- a/win/rfb_win32/ScaledDIBSectionBuffer.cxx
+++ b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
@@ -41,6 +41,7 @@
 
 void ScaledDIBSectionBuffer::setScale(int scale_) {
   if (scale == scale_ || scale_ <= 0) return;
+  if (!(getPixelFormat().trueColour) && scale_ != 100) throw rfb::UnsupportedPixelFormatException();
   ScaledPixelBuffer::setScale(scale_);
   if (scale == 100) scaling = false;
   else scaling = true;
@@ -50,7 +51,7 @@
 void ScaledDIBSectionBuffer::setPF(const PixelFormat &pf_) {
   if (memcmp(&(ScaledPixelBuffer::pf), &pf_, sizeof(pf_)) == 0) return;
 
-  if (!pf_.trueColour) throw rfb::UnsupportedPixelFormatException();
+  if (!pf_.trueColour && isScaling()) throw rfb::UnsupportedPixelFormatException();
 
   pf = pf_;
   if (scaling) {