From 5ff4723c2188438d4e8337657adfacf3688b820d Mon Sep 17 00:00:00 2001 From: dcog989 <89043002+dcog989@users.noreply.github.com> Date: Tue, 25 Mar 2025 15:27:58 +0000 Subject: [PATCH 1/3] Fix Color Picker resource leak (#38122) Added a using statement to properly dispose of the Graphics object created from the Bitmap. This fixes resource leak. --- .../colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs b/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs index 76c376b7617c..4ab295e1e29d 100644 --- a/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs +++ b/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs @@ -104,9 +104,10 @@ private static Color GetPixelColor(System.Windows.Point mousePosition) var rect = new Rectangle((int)mousePosition.X, (int)mousePosition.Y, 1, 1); using (var bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb)) { - var g = Graphics.FromImage(bmp); - g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy); - + using (var g = Graphics.FromImage(bmp)) // Ensure Graphics object is disposed + { + g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy); + } return bmp.GetPixel(0, 0); } } From 0d30f207c8e4223633dacc77fd1accb91a7f50a2 Mon Sep 17 00:00:00 2001 From: Kai Tao <69313318+vanzue@users.noreply.github.com> Date: Thu, 27 Mar 2025 14:44:48 +0800 Subject: [PATCH 2/3] Fix CI complain --- src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs b/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs index 4ab295e1e29d..70eb46f1bade 100644 --- a/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs +++ b/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs @@ -108,6 +108,7 @@ private static Color GetPixelColor(System.Windows.Point mousePosition) { g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy); } + return bmp.GetPixel(0, 0); } } From 51ace6fb4bbbac7d09f226cba1ee7ed5f37e9d51 Mon Sep 17 00:00:00 2001 From: dcog989 <89043002+dcog989@users.noreply.github.com> Date: Fri, 28 Mar 2025 10:19:19 +0000 Subject: [PATCH 3/3] Update MouseInfoProvider.cs fix whitespace --- .../colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs b/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs index 70eb46f1bade..c28dcc1ae628 100644 --- a/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs +++ b/src/modules/colorPicker/ColorPickerUI/Mouse/MouseInfoProvider.cs @@ -108,7 +108,7 @@ private static Color GetPixelColor(System.Windows.Point mousePosition) { g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy); } - + return bmp.GetPixel(0, 0); } }