From c61d0ddac3090195dba5356f26aca5717ac8a350 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Sun, 12 Jun 2016 11:53:01 +0200 Subject: [PATCH] Fixed possible memoryleak in loopmanager --- Artemis/Artemis/Managers/LoopManager.cs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Artemis/Artemis/Managers/LoopManager.cs b/Artemis/Artemis/Managers/LoopManager.cs index 348c4bb26..6cb6d12c3 100644 --- a/Artemis/Artemis/Managers/LoopManager.cs +++ b/Artemis/Artemis/Managers/LoopManager.cs @@ -144,17 +144,20 @@ namespace Artemis.Managers return; // Fill the bitmap's background with black to avoid trailing colors on some keyboards - var fixedBmp = new Bitmap(bitmap.Width, bitmap.Height); - using (var g = Graphics.FromImage(fixedBmp)) + // Bitmaps needs to be disposd! + using (var fixedBmp = new Bitmap(bitmap.Width, bitmap.Height)) { - g.Clear(Color.Black); - g.DrawImage(bitmap, 0, 0); + using (var g = Graphics.FromImage(fixedBmp)) + { + g.Clear(Color.Black); + g.DrawImage(bitmap, 0, 0); + } + + bitmap = fixedBmp; + + // Update the keyboard + _deviceManager.ActiveKeyboard?.DrawBitmap(bitmap); } - - bitmap = fixedBmp; - - // Update the keyboard - _deviceManager.ActiveKeyboard?.DrawBitmap(bitmap); } } }