mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Fix confusing push_or_mutate
API
This fixes a bug when recalculating border collapsing for an existing table now. The bug was caused by using `push_or_mutate` which has no effect if there is already a value at the specified index. The fix switches incorrect `push_or_mutate` calls to use `push_or_set` instead. It also renames `push_or_mutate` to `get_mut_or_push` which I think is a less-confusing name for this method.
This commit is contained in:
parent
4bcdbe6d56
commit
4dc9d8b1c5
2 changed files with 11 additions and 9 deletions
|
@ -823,7 +823,8 @@ fn perform_inline_direction_border_collapse_for_row(
|
|||
child_table_cell: &mut TableCellFlow,
|
||||
iterator: &mut Peekable<Enumerate<MutFlowListIterator>>,
|
||||
preliminary_collapsed_borders: &mut CollapsedBordersForRow) {
|
||||
let inline_collapsed_border = preliminary_collapsed_borders.inline.push_or_mutate(
|
||||
println!(" perform_inline_direction_border_collapse_for_row");
|
||||
let inline_collapsed_border = preliminary_collapsed_borders.inline.push_or_set(
|
||||
child_index + 1,
|
||||
CollapsedBorder::inline_end(&*child_table_cell.block_flow.fragment.style,
|
||||
CollapsedBorderProvenance::FromPreviousTableCell));
|
||||
|
@ -838,9 +839,9 @@ fn perform_inline_direction_border_collapse_for_row(
|
|||
let block_start_border =
|
||||
CollapsedBorder::block_start(&*child_table_cell.block_flow.fragment.style,
|
||||
CollapsedBorderProvenance::FromNextTableCell);
|
||||
preliminary_collapsed_borders.block_start.push_or_mutate(child_index, block_start_border);
|
||||
preliminary_collapsed_borders.block_start.push_or_set(child_index, block_start_border);
|
||||
let block_end_border =
|
||||
CollapsedBorder::block_end(&*child_table_cell.block_flow.fragment.style,
|
||||
CollapsedBorderProvenance::FromPreviousTableCell);
|
||||
preliminary_collapsed_borders.block_end.push_or_mutate(child_index, block_end_border);
|
||||
preliminary_collapsed_borders.block_end.push_or_set(child_index, block_end_border);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue