From c30a10bc3e5f05f4046bf8d2868f5d9dad8f0363 Mon Sep 17 00:00:00 2001 From: Nikita Voronchev Date: Tue, 25 Jun 2019 04:51:48 +0300 Subject: [PATCH] [System.Windows.Forms] Fix crash of DataGridView in case of assigning a custom Column Header (#15135) --- .../System.Windows.Forms/DataGridViewColumn.cs | 2 ++ .../Test/System.Windows.Forms/DataGridViewColumnTest.cs | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/DataGridViewColumn.cs b/mcs/class/System.Windows.Forms/System.Windows.Forms/DataGridViewColumn.cs index 8b9e69b6c15..a6fc976db53 100644 --- a/mcs/class/System.Windows.Forms/System.Windows.Forms/DataGridViewColumn.cs +++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/DataGridViewColumn.cs @@ -239,6 +239,8 @@ Example */ set { if (headerCell != value) { headerCell = value; + headerCell.SetDataGridView(DataGridView); + headerCell.SetColumnIndex(Index); if (DataGridView != null) { DataGridView.OnColumnHeaderCellChanged(new DataGridViewColumnEventArgs(this)); } diff --git a/mcs/class/System.Windows.Forms/Test/System.Windows.Forms/DataGridViewColumnTest.cs b/mcs/class/System.Windows.Forms/Test/System.Windows.Forms/DataGridViewColumnTest.cs index c9abe453775..e68cb4919b8 100644 --- a/mcs/class/System.Windows.Forms/Test/System.Windows.Forms/DataGridViewColumnTest.cs +++ b/mcs/class/System.Windows.Forms/Test/System.Windows.Forms/DataGridViewColumnTest.cs @@ -262,5 +262,17 @@ namespace MonoTests.System.Windows.Forms dgv.Columns.Add (dvc); Assert.IsNull (dvc.CellTemplate.DataGridView, "#1"); } + + [Test] + public void SetNewHeaderCell () + { + var dgv = new DataGridView (); + var dvc = new DataGridViewTextBoxColumn (); + var dch = new DataGridViewColumnHeaderCell (); + dgv.Columns.Add (dvc); + dvc.HeaderCell = dch; + Assert.IsNotNull (dch.DataGridView, "#1"); + Assert.True (dch.ColumnIndex >= 0, "#2"); + } } } -- 2.11.4.GIT