From a9c004d16b3320adbfa2b6461c6f586356dd2876 Mon Sep 17 00:00:00 2001 From: Jay Oster Date: Tue, 20 Jul 2021 05:06:27 -0700 Subject: [PATCH] Fix custom font definitions getting replaced when `pixels_per_point` is changed (#564) - This bug is most noticable when default fonts are disabled. --- CHANGELOG.md | 3 +++ egui/src/context.rs | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 183e59ca..a8df010d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ NOTE: [`eframe`](eframe/CHANGELOG.md), [`egui_web`](egui_web/CHANGELOG.md) and [ * [Progress bar](https://github.com/emilk/egui/pull/519) * `Grid::num_columns`: allow the last column to take up the rest of the space of the parent `Ui`. +### Fixed 🐛 +* Fix custom font definitions getting replaced when `pixels_per_point` is changed. + ## 0.13.1 - 2021-06-28 - Plot fixes diff --git a/egui/src/context.rs b/egui/src/context.rs index eddb5c56..bc1dcbf7 100644 --- a/egui/src/context.rs +++ b/egui/src/context.rs @@ -578,7 +578,12 @@ impl Context { if self.fonts.is_none() || new_font_definitions.is_some() || pixels_per_point_changed { self.fonts = Some(Arc::new(Fonts::from_definitions( pixels_per_point, - new_font_definitions.unwrap_or_default(), + new_font_definitions.unwrap_or_else(|| { + self.fonts + .as_ref() + .map(|font| font.definitions().clone()) + .unwrap_or_default() + }), ))); } }