summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorgeorge82 <george82@3789f03b-4d11-0410-bbf8-ca57d06f2519>2007-11-05 17:13:10 +0000
committergeorge82 <george82@3789f03b-4d11-0410-bbf8-ca57d06f2519>2007-11-05 17:13:10 +0000
commit3e43ed5fb36aeb33483dded9a335038607544afe (patch)
treed0f712ef3d4203b7deae2c4d60edbede098ee97a /win
parent64379b01f7555f664b74b36e130147ff1aaf0133 (diff)
downloadtigervnc-3e43ed5fb36aeb33483dded9a335038607544afe.tar.gz
tigervnc-3e43ed5fb36aeb33483dded9a335038607544afe.zip
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
Diffstat (limited to 'win')
-rw-r--r--win/rfb_win32/ScaledDIBSectionBuffer.cxx3
-rw-r--r--win/vncviewer/DesktopWindow.cxx2
2 files changed, 3 insertions, 2 deletions
diff --git a/win/rfb_win32/ScaledDIBSectionBuffer.cxx b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
index efa27a0b..a3eb4fb3 100644
--- a/win/rfb_win32/ScaledDIBSectionBuffer.cxx
+++ b/win/rfb_win32/ScaledDIBSectionBuffer.cxx
@@ -41,6 +41,7 @@ ScaledDIBSectionBuffer::~ScaledDIBSectionBuffer() {
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::setScale(int scale_) {
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) {
diff --git a/win/vncviewer/DesktopWindow.cxx b/win/vncviewer/DesktopWindow.cxx
index 75437070..296be662 100644
--- a/win/vncviewer/DesktopWindow.cxx
+++ b/win/vncviewer/DesktopWindow.cxx
@@ -73,7 +73,7 @@ LRESULT CALLBACK DesktopWindowProc(HWND wnd, UINT msg, WPARAM wParam, LPARAM lPa
try {
result = _this->processMessage(msg, wParam, lParam);
} catch (rfb::UnsupportedPixelFormatException &e) {
- MsgBox(0, e.str(), MB_OK);
+ MsgBox(0, e.str(), MB_OK | MB_ICONINFORMATION);
_this->getCallback()->closeWindow();
} catch (rdr::Exception& e) {
vlog.error("untrapped: %s", e.str());