Fix T92655: spreadsheet_duplicate Split Exception

Check SpaceSpreadsheet's runtime is not null when trying to duplicate
the data when doing an area split.

See D13047 for further details.

Differential Revision: https://developer.blender.org/D13047

Reviewed by Jacques Lucke
This commit is contained in:
Harley Acheson 2021-11-01 08:42:07 -07:00
parent 06b183d1ca
commit 69e5042258
Notes: blender-bot 2023-02-14 05:53:42 +01:00
Referenced by issue #92655, 3.0b crash after splitting area
1 changed files with 6 additions and 1 deletions

View File

@ -137,7 +137,12 @@ static SpaceLink *spreadsheet_duplicate(SpaceLink *sl)
{
const SpaceSpreadsheet *sspreadsheet_old = (SpaceSpreadsheet *)sl;
SpaceSpreadsheet *sspreadsheet_new = (SpaceSpreadsheet *)MEM_dupallocN(sspreadsheet_old);
sspreadsheet_new->runtime = new SpaceSpreadsheet_Runtime(*sspreadsheet_old->runtime);
if (sspreadsheet_old->runtime) {
sspreadsheet_new->runtime = new SpaceSpreadsheet_Runtime(*sspreadsheet_old->runtime);
}
else {
sspreadsheet_new->runtime = new SpaceSpreadsheet_Runtime();
}
BLI_listbase_clear(&sspreadsheet_new->row_filters);
LISTBASE_FOREACH (const SpreadsheetRowFilter *, src_filter, &sspreadsheet_old->row_filters) {