Index: Core/Common/src/Core.Common.Util/Drawing/FontHelper.cs =================================================================== diff -u -rb63fade0e22ce3993cd31e2ced93261ed43e6c42 -r626b89ba0455fbe4d83bd42cfbcdbf5b1a60d902 --- Core/Common/src/Core.Common.Util/Drawing/FontHelper.cs (.../FontHelper.cs) (revision b63fade0e22ce3993cd31e2ced93261ed43e6c42) +++ Core/Common/src/Core.Common.Util/Drawing/FontHelper.cs (.../FontHelper.cs) (revision 626b89ba0455fbe4d83bd42cfbcdbf5b1a60d902) @@ -46,20 +46,22 @@ } uint dummy = 0; - var fonts = new PrivateFontCollection(); - IntPtr fontPtr = Marshal.AllocCoTaskMem(fontData.Length); - Marshal.Copy(fontData, 0, fontPtr, fontData.Length); - fonts.AddMemoryFont(fontPtr, fontData.Length); - AddFontMemResourceEx(fontPtr, (uint) fontData.Length, IntPtr.Zero, ref dummy); - Marshal.FreeCoTaskMem(fontPtr); - - if (fonts.Families.Length == 0) + using (var fonts = new PrivateFontCollection()) { - throw new ArgumentException("Font data could not be loaded."); - } + IntPtr fontPtr = Marshal.AllocCoTaskMem(fontData.Length); + Marshal.Copy(fontData, 0, fontPtr, fontData.Length); + fonts.AddMemoryFont(fontPtr, fontData.Length); + AddFontMemResourceEx(fontPtr, (uint) fontData.Length, IntPtr.Zero, ref dummy); + Marshal.FreeCoTaskMem(fontPtr); - return new Font(fonts.Families[0], 14.0F); + if (fonts.Families.Length == 0) + { + throw new ArgumentException("Font data could not be loaded."); + } + + return new Font(fonts.Families[0], 14.0F); + } } [DllImport("gdi32.dll")]