From b89470a0b7203db2a5290885ece34448deff99a4 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 17 Jun 2014 00:00:01 +0100 Subject: [PATCH] Protect against crash report exception, check rect is valid size --- WinFormsUI/Docking/VS2005DockPaneStrip.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/WinFormsUI/Docking/VS2005DockPaneStrip.cs b/WinFormsUI/Docking/VS2005DockPaneStrip.cs index 65bb56e0f..95e048774 100644 --- a/WinFormsUI/Docking/VS2005DockPaneStrip.cs +++ b/WinFormsUI/Docking/VS2005DockPaneStrip.cs @@ -646,12 +646,15 @@ namespace WeifenLuo.WinFormsUI.Docking } else { - Color startColor = DockPane.DockPanel.Skin.DockPaneStripSkin.ToolWindowGradient.DockStripGradient.StartColor; - Color endColor = DockPane.DockPanel.Skin.DockPaneStripSkin.ToolWindowGradient.DockStripGradient.EndColor; - LinearGradientMode gradientMode = DockPane.DockPanel.Skin.DockPaneStripSkin.ToolWindowGradient.DockStripGradient.LinearGradientMode; - using (LinearGradientBrush brush = new LinearGradientBrush(rect, startColor, endColor, gradientMode)) + if (rect.Width > 0 && rect.Height > 0) { - e.Graphics.FillRectangle(brush, rect); + Color startColor = DockPane.DockPanel.Skin.DockPaneStripSkin.ToolWindowGradient.DockStripGradient.StartColor; + Color endColor = DockPane.DockPanel.Skin.DockPaneStripSkin.ToolWindowGradient.DockStripGradient.EndColor; + LinearGradientMode gradientMode = DockPane.DockPanel.Skin.DockPaneStripSkin.ToolWindowGradient.DockStripGradient.LinearGradientMode; + using (LinearGradientBrush brush = new LinearGradientBrush(rect, startColor, endColor, gradientMode)) + { + e.Graphics.FillRectangle(brush, rect); + } } } base.OnPaint(e);