Merge pull request #130 from hecrj/fix/resize-measure-cache
Resize text measure cache to avoid panic
This commit is contained in:
commit
c822ea753e
1 changed files with 17 additions and 5 deletions
|
|
@ -136,11 +136,23 @@ impl Pipeline {
|
||||||
// it uses a lifetimed `GlyphCalculatorGuard` with side-effects on drop.
|
// it uses a lifetimed `GlyphCalculatorGuard` with side-effects on drop.
|
||||||
// This makes stuff quite inconvenient. A manual method for trimming the
|
// This makes stuff quite inconvenient. A manual method for trimming the
|
||||||
// cache would make our lives easier.
|
// cache would make our lives easier.
|
||||||
let _ = self
|
loop {
|
||||||
.measure_brush
|
let action = self
|
||||||
.borrow_mut()
|
.measure_brush
|
||||||
.process_queued(|_, _| {}, |_| {})
|
.borrow_mut()
|
||||||
.expect("Trim text measurements");
|
.process_queued(|_, _| {}, |_| {});
|
||||||
|
|
||||||
|
match action {
|
||||||
|
Ok(_) => break,
|
||||||
|
Err(glyph_brush::BrushError::TextureTooSmall { suggested }) => {
|
||||||
|
let (width, height) = suggested;
|
||||||
|
|
||||||
|
self.measure_brush
|
||||||
|
.borrow_mut()
|
||||||
|
.resize_texture(width, height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_font(&self, font: iced_native::Font) -> wgpu_glyph::FontId {
|
pub fn find_font(&self, font: iced_native::Font) -> wgpu_glyph::FontId {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue