Made replacing the image more secure, the old code MIGHT have resulted in the Bug #3052665

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@868 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2010-08-25 10:40:28 +00:00
commit cb8d8497c9

View file

@ -104,14 +104,21 @@ namespace Greenshot.Drawing {
} }
private void SetImage(Image image) { private void SetImage(Image image) {
if (originalImage != null) { // Store old value
originalImage.Dispose(); Image tmpOriginal = originalImage;
} Image tmpImage = Image;
if (Image != null) {
Image.Dispose(); // Set new values
}
originalImage = new Bitmap(image); originalImage = new Bitmap(image);
Image = new Bitmap(image); Image = new Bitmap(image);
// Dispose them
if (tmpOriginal != null) {
tmpOriginal.Dispose();
}
if (tmpImage != null) {
tmpImage.Dispose();
}
} }
public Surface(Image image) : this() { public Surface(Image image) : this() {