From 78cbb055cb0ae851309baa3faf12bff0a9afd53c Mon Sep 17 00:00:00 2001 From: Robin Krom Date: Tue, 29 Mar 2022 20:35:43 +0200 Subject: [PATCH] Added better error handling for reading the bitmap [skip ci] --- .../FileFormatHandlers/DibFileFormatHandler.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Greenshot.Editor/FileFormatHandlers/DibFileFormatHandler.cs b/src/Greenshot.Editor/FileFormatHandlers/DibFileFormatHandler.cs index cf18cddb7..5061d7744 100644 --- a/src/Greenshot.Editor/FileFormatHandlers/DibFileFormatHandler.cs +++ b/src/Greenshot.Editor/FileFormatHandlers/DibFileFormatHandler.cs @@ -86,10 +86,18 @@ namespace Greenshot.Editor.FileFormatHandlers bitmapStream.Write(fileHeaderBytes, 0, fileHeaderSize); bitmapStream.Write(dibBuffer, 0, dibBuffer.Length); bitmapStream.Seek(0, SeekOrigin.Begin); - // TODO: Replace with a FileFormatHandler - using var beforeCloneImage = Image.FromStream(bitmapStream); - bitmap = ImageHelper.Clone(beforeCloneImage) as Bitmap; - return bitmap != null; + try + { + using var beforeCloneImage = Image.FromStream(bitmapStream); + bitmap = ImageHelper.Clone(beforeCloneImage) as Bitmap; + return bitmap != null; + } + catch (Exception ex) + { + Log.Error("Problem retrieving Format17 from clipboard.", ex); + bitmap = null; + return false; + } } Log.Info("Using special DIBV5 / Format17 format reader"); // CF_DIBV5