// Create the backing buffer
buffer = new win32::DIBSectionBuffer(getFrameHandle());
setVisible(true);
-
+
// Open the session file
if (fileName) {
openSessionFile(fileName);
DestroyWindow(mainHwnd);
mainHwnd = 0;
}
- delete buffer;
- delete cutText;
+ if (buffer) delete buffer;
+ if (cutText) delete [] cutText;
vlog.debug("~RfbPlayer done");
}
}
break;
case ID_EXIT:
- is->resumePlayback();
+ if (is) is->resumePlayback();
PostQuitMessage(0);
break;
case ID_HELP_COMMANDLINESWITCHES:
case WM_PAINT:
{
- if (is->isSeeking()) {
+ if (isSeeking()) {
seekMode = true;
return 0;
} else {
CheckMenuItem(hMenu, ID_PLAYPAUSE, MF_CHECKED);
CheckMenuItem(hMenu, ID_STOP, MF_UNCHECKED);
} else {
- is->resumePlayback();
+ if (is) is->resumePlayback();
tb.checkButton(ID_PLAY, true);
tb.checkButton(ID_STOP, false);
tb.checkButton(ID_PAUSE, false);
void RfbPlayer::stopPlayback() {
setPos(0);
- is->pausePlayback();
+ if (is) is->pausePlayback();
tb.checkButton(ID_STOP, true);
tb.checkButton(ID_PLAY, false);
tb.checkButton(ID_PAUSE, false);
}
bool RfbPlayer::isSeeking() {
- return is->isSeeking();
+ if (is) return is->isSeeking();
+ else return false;
}
bool RfbPlayer::isSeekMode() {
double playbackSpeed = 1.0;
long initTime = -1;
bool autoplay = false;
-char *fileName;
+char *fileName = 0;
bool print_usage = false;
bool acceptBell = false;