From 7d6c89fcdb8ec1b42975f632da374ab61310a48d Mon Sep 17 00:00:00 2001 From: Robin Krom Date: Thu, 11 Sep 2014 19:19:12 +0000 Subject: [PATCH] Fix for the problem described here: https://sourceforge.net/p/greenshot/discussion/676082/thread/2962d1ac --- Greenshot/Helpers/CopyData.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Greenshot/Helpers/CopyData.cs b/Greenshot/Helpers/CopyData.cs index 7a2243daf..f67c2ac8b 100644 --- a/Greenshot/Helpers/CopyData.cs +++ b/Greenshot/Helpers/CopyData.cs @@ -109,7 +109,7 @@ namespace Greenshot.Helpers { BinaryFormatter b = new BinaryFormatter(); CopyDataObjectData cdo = (CopyDataObjectData) b.Deserialize(stream); - if (channels.Contains(cdo.Channel)) { + if (channels != null && channels.Contains(cdo.Channel)) { CopyDataReceivedEventArgs d = new CopyDataReceivedEventArgs(cdo.Channel, cdo.Data, cdo.Sent); OnCopyDataReceived(d); m.Result = (IntPtr) 1; @@ -119,7 +119,9 @@ namespace Greenshot.Helpers { // WM_DESTROY fires before OnHandleChanged and is // a better place to ensure that we've cleared // everything up. - channels.OnHandleChange(); + if (channels != null) { + channels.OnHandleChange(); + } base.OnHandleChange(); } base.WndProc(ref m); @@ -142,7 +144,9 @@ namespace Greenshot.Helpers { /// protected override void OnHandleChange () { // need to clear up everything we had set. - channels.OnHandleChange(); + if (channels != null) { + channels.OnHandleChange(); + } base.OnHandleChange(); } @@ -164,7 +168,7 @@ namespace Greenshot.Helpers { /// Clears up any resources associated with this object. /// protected virtual void Dispose(bool disposing) { - if (disposing) { + if (disposing && channels != null) { channels.Clear(); channels = null; }