Skip to content

Commit

Permalink
Prevents runtime crashes when the DataGridView or CurrentCell are…
Browse files Browse the repository at this point in the history
… null.

Fixes dotnet#12752

## Root Cause

- The issue occurs because the `NotifyMSAAClient` method is called
without checking if the `DataGridView` instance is `null`. This leads to
a potential `NullReferenceException`.

## Proposed changes

- Add a `null` check for the `DataGridView` instance before calling the
`NotifyMSAAClient` method.
- Adds another `null` check for the `CurrentCell` property before
calling the `PaintGrid` method.

## Customer Impact

- Prevents runtime crashes when the `DataGridView` or `CurrentCell` are
null.

## Regression?

- No

## Risk

- Minimal

## Screenshots

### Before

### After

## Test methodology

- Manual testing

## Test environment(s)

- `10.0.100-alpha.1.25064.3`
  • Loading branch information
Ricardo Bossan (BEYONDSOFT CONSULTING INC) (from Dev Box) committed Jan 22, 2025
1 parent 77ec5c9 commit 826374d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16701,7 +16701,11 @@ protected override void OnPaint(PaintEventArgs e)
using GraphicsClipScope clipScope = new(g);
g.SetClip(gridRect);
PaintBackground(g, clipRect, gridRect);
PaintGrid(g, gridRect, clipRect, SingleVerticalBorderAdded, SingleHorizontalBorderAdded);

if (CurrentCell is not null)
{
PaintGrid(g, gridRect, clipRect, SingleVerticalBorderAdded, SingleHorizontalBorderAdded);
}
}

PaintBorder(g, clipRect, _layout.ClientRectangle);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,10 @@ protected override void OnKeyUp(KeyEventArgs e, int rowIndex)
e.Handled = true;
}

NotifyMSAAClient(ColumnIndex, rowIndex);
if (DataGridView is not null)
{
NotifyMSAAClient(ColumnIndex, rowIndex);
}
}
}

Expand Down

0 comments on commit 826374d

Please sign in to comment.