Slight refactoring of RunMapping flush method

This commit is contained in:
Matt Brubeck 2016-04-01 15:58:00 -07:00
parent 39ab006c8f
commit bcaa62e1bd

View file

@ -230,17 +230,15 @@ impl TextRunScanner {
let flush_mapping = flush_run || mapping.selected != selected; let flush_mapping = flush_run || mapping.selected != selected;
if flush_mapping { if flush_mapping {
if end_position > start_position { mapping.flush(&mut mappings,
mapping.flush(&mut mappings, &mut run_info,
&mut run_info, &**text,
&**text, insertion_point,
insertion_point, compression,
compression, text_transform,
text_transform, &mut last_whitespace,
&mut last_whitespace, &mut start_position,
&mut start_position, end_position);
end_position);
}
if run_info.text.len() > 0 { if run_info.text.len() > 0 {
if flush_run { if flush_run {
run_info_list.push(run_info); run_info_list.push(run_info);
@ -261,11 +259,6 @@ impl TextRunScanner {
*paragraph_bytes_processed += character.len_utf8(); *paragraph_bytes_processed += character.len_utf8();
} }
// If the mapping is zero-length, don't flush it.
if start_position == end_position {
continue
}
// Flush the last mapping we created for this fragment to the list. // Flush the last mapping we created for this fragment to the list.
mapping.flush(&mut mappings, mapping.flush(&mut mappings,
&mut run_info, &mut run_info,
@ -557,6 +550,9 @@ impl RunMapping {
last_whitespace: &mut bool, last_whitespace: &mut bool,
start_position: &mut usize, start_position: &mut usize,
end_position: usize) { end_position: usize) {
if *start_position == end_position {
return;
}
let old_byte_length = run_info.text.len(); let old_byte_length = run_info.text.len();
*last_whitespace = util::transform_text(&text[(*start_position)..end_position], *last_whitespace = util::transform_text(&text[(*start_position)..end_position],
compression, compression,