private void Stop()
{
try
{
_capture.Stop();
FrameRate.Stop();
FrameCount = 0;
if (Stage != Stage.Stopped && Stage != Stage.PreStarting && ListFrames.Any())
{
#region Stop
ExitArg = ExitAction.Recorded;
DialogResult = false;
#endregion
}
else if ((Stage == Stage.PreStarting || Stage == Stage.Snapping) && !ListFrames.Any())
{
#region if Pre-Starting or in Snapmode and no Frames, Stops
Stage = Stage.Stopped;
//Enables the controls that are disabled while recording;
FpsNumericUpDown.IsEnabled = true;
RecordPauseButton.IsEnabled = true;
HeightTextBox.IsEnabled = true;
WidthTextBox.IsEnabled = true;
IsRecording(false);
Topmost = true;
Title = "Screen To Gif";
AutoFitButtons();
#endregion
}
}
catch (NullReferenceException nll)
{
var errorViewer = new ExceptionViewer(nll);
errorViewer.ShowDialog();
LogWriter.Log(nll, "NullPointer on the Stop function");
}
catch (Exception ex)
{
var errorViewer = new ExceptionViewer(ex);
errorViewer.ShowDialog();
LogWriter.Log(ex, "Error on the Stop function");
}
}