Close the session playback if the user presses the cancel button
on ChoosePixelFormatDialog dialog.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@241 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx
index b46b2f3..d1adc55 100644
--- a/rfbplayer/rfbplayer.cxx
+++ b/rfbplayer/rfbplayer.cxx
@@ -840,6 +840,12 @@
else stopped = false;
updatePos(seekOffset);
rewindFlag = false;
+ return;
+ }
+ // It's a special exception which is used to terminate the playback
+ if (strcmp(e.str(), "[TERMINATE]") == 0) {
+ sessionTerminateThread *terminate = new sessionTerminateThread(this);
+ terminate->start();
} else {
MessageBox(getMainHandle(), e.str(), e.type(), MB_OK | MB_ICONERROR);
return;
@@ -866,6 +872,9 @@
ChoosePixelFormatDialog choosePixelFormatDialog(pixelFormat);
if (choosePixelFormatDialog.showDialog()) {
pixelFormat = choosePixelFormatDialog.getPF();
+ } else {
+ is->pausePlayback();
+ throw rdr::Exception("[TERMINATE]");
}
} else {
pixelFormat = options.pixelFormat;