fix: crash when create image from a empty stream

This commit is contained in:
leo 2024-04-08 10:24:28 +08:00
parent 75f6087447
commit 8adf11b64c
3 changed files with 5 additions and 5 deletions

View file

@ -17,9 +17,9 @@ namespace SourceGit.Commands
starter.WindowStyle = ProcessWindowStyle.Hidden;
starter.RedirectStandardOutput = true;
var stream = new MemoryStream();
try
{
var stream = new MemoryStream();
var proc = new Process() { StartInfo = starter };
proc.Start();
proc.StandardOutput.BaseStream.CopyTo(stream);
@ -27,13 +27,13 @@ namespace SourceGit.Commands
proc.Close();
stream.Position = 0;
return stream;
}
catch (Exception e)
{
App.RaiseException(repo, $"Failed to query file content: {e}");
return null;
}
return stream;
}
}
}

View file

@ -475,7 +475,7 @@ namespace SourceGit.ViewModels
if (IMG_EXTS.Contains(ext))
{
var stream = Commands.QueryFileContent.Run(_repo, _commit.SHA, file.Path);
var bitmap = stream != null ? new Bitmap(stream) : null as Bitmap;
var bitmap = stream.Length > 0 ? new Bitmap(stream) : null;
Dispatcher.UIThread.Invoke(() =>
{
ViewRevisionFileContent = new Models.RevisionImageFile() { Image = bitmap };

View file

@ -166,7 +166,7 @@ namespace SourceGit.ViewModels
private Bitmap BitmapFromRevisionFile(string repo, string revision, string file)
{
var stream = Commands.QueryFileContent.Run(repo, revision, file);
return stream != null ? new Bitmap(stream) : null;
return stream.Length > 0 ? new Bitmap(stream) : null;
}
private static readonly HashSet<string> IMG_EXTS = new HashSet<string>()