From: george82 Date: Thu, 10 Mar 2005 18:03:27 +0000 (+0000) Subject: Close the session playback if the user presses the cancel button X-Git-Tag: v0.0.90~384^2~594 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2c7634b4ba02449282472e360c5152e825eb0267;p=tigervnc.git 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 b46b2f31..d1adc55d 100644 --- a/rfbplayer/rfbplayer.cxx +++ b/rfbplayer/rfbplayer.cxx @@ -840,6 +840,12 @@ void RfbPlayer::processMsg() { 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 @@ void RfbPlayer::serverInit() { ChoosePixelFormatDialog choosePixelFormatDialog(pixelFormat); if (choosePixelFormatDialog.showDialog()) { pixelFormat = choosePixelFormatDialog.getPF(); + } else { + is->pausePlayback(); + throw rdr::Exception("[TERMINATE]"); } } else { pixelFormat = options.pixelFormat;