Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_spreadsheet/space_spreadsheet.cc
| Show First 20 Lines • Show All 298 Lines • ▼ Show 20 Lines | LISTBASE_FOREACH_MUTABLE (SpreadsheetColumn *, column, &columns) { | ||||
| std::unique_ptr<ColumnValues> values = data_source.get_column_values(*column->id); | std::unique_ptr<ColumnValues> values = data_source.get_column_values(*column->id); | ||||
| /* Remove columns that don't exist anymore. */ | /* Remove columns that don't exist anymore. */ | ||||
| if (!values) { | if (!values) { | ||||
| BLI_remlink(&columns, column); | BLI_remlink(&columns, column); | ||||
| spreadsheet_column_free(column); | spreadsheet_column_free(column); | ||||
| continue; | continue; | ||||
| } | } | ||||
| used_ids.add(*column->id); | if (!used_ids.add(*column->id)) { | ||||
| /* Remove duplicate columns for now. */ | |||||
| BLI_remlink(&columns, column); | |||||
| spreadsheet_column_free(column); | |||||
| continue; | |||||
| } | |||||
| } | } | ||||
| data_source.foreach_default_column_ids([&](const SpreadsheetColumnID &column_id) { | data_source.foreach_default_column_ids([&](const SpreadsheetColumnID &column_id) { | ||||
| std::unique_ptr<ColumnValues> values = data_source.get_column_values(column_id); | std::unique_ptr<ColumnValues> values = data_source.get_column_values(column_id); | ||||
| if (values) { | if (values) { | ||||
| if (used_ids.add(column_id)) { | if (used_ids.add(column_id)) { | ||||
| SpreadsheetColumnID *new_id = spreadsheet_column_id_copy(&column_id); | SpreadsheetColumnID *new_id = spreadsheet_column_id_copy(&column_id); | ||||
| SpreadsheetColumn *new_column = spreadsheet_column_new(new_id); | SpreadsheetColumn *new_column = spreadsheet_column_new(new_id); | ||||
| ▲ Show 20 Lines • Show All 246 Lines • Show Last 20 Lines | |||||