Workaround blink/chromium grid layout limitation of 1000 rows

See https://github.com/rust-lang/rust/issues/88545 for more details
This commit is contained in:
Stefan Schindler 2021-09-09 15:11:02 +02:00
parent 497ee321af
commit 0bf16af5f3

View File

@ -256,6 +256,10 @@ fn cmp(
debug!("{:?}", indices);
let mut curty = None;
// See: https://github.com/rust-lang/rust/issues/88545
let item_table_block_size = 900usize;
let mut item_table_nth_element = 0usize;
for &idx in &indices {
let myitem = &items[idx];
if myitem.is_stripped() {
@ -280,6 +284,7 @@ fn cmp(
id = cx.derive_id(short.to_owned()),
name = name
);
item_table_nth_element = 0;
}
match *myitem.kind {
@ -386,6 +391,13 @@ fn cmp(
);
}
}
item_table_nth_element += 1;
if item_table_nth_element > item_table_block_size {
w.write_str(ITEM_TABLE_CLOSE);
w.write_str(ITEM_TABLE_OPEN);
item_table_nth_element = 0;
}
}
if curty.is_some() {