Fix fonts not being loaded at startup

This commit is contained in:
Héctor Ramón Jiménez 2024-06-21 15:38:51 +02:00
parent 50dd2a6cc0
commit e8b1e5a112
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -28,6 +28,7 @@ use crate::{Clipboard, Error, Proxy, Settings};
use window_manager::WindowManager; use window_manager::WindowManager;
use rustc_hash::FxHashMap; use rustc_hash::FxHashMap;
use std::borrow::Cow;
use std::mem::ManuallyDrop; use std::mem::ManuallyDrop;
use std::sync::Arc; use std::sync::Arc;
@ -242,6 +243,7 @@ where
struct BootConfig<Message: 'static, C> { struct BootConfig<Message: 'static, C> {
proxy: Proxy<Message>, proxy: Proxy<Message>,
sender: oneshot::Sender<Boot<C>>, sender: oneshot::Sender<Boot<C>>,
fonts: Vec<Cow<'static, [u8]>>,
window_settings: Option<window::Settings>, window_settings: Option<window::Settings>,
graphics_settings: graphics::Settings, graphics_settings: graphics::Settings,
} }
@ -253,6 +255,7 @@ where
boot: Some(BootConfig { boot: Some(BootConfig {
proxy, proxy,
sender: boot_sender, sender: boot_sender,
fonts: settings.fonts,
window_settings, window_settings,
graphics_settings, graphics_settings,
}), }),
@ -277,6 +280,7 @@ where
let Some(BootConfig { let Some(BootConfig {
mut proxy, mut proxy,
sender, sender,
fonts,
window_settings, window_settings,
graphics_settings, graphics_settings,
}) = self.boot.take() }) = self.boot.take()
@ -298,9 +302,13 @@ where
let clipboard = Clipboard::connect(&window); let clipboard = Clipboard::connect(&window);
let finish_boot = async move { let finish_boot = async move {
let compositor = let mut compositor =
C::new(graphics_settings, window.clone()).await?; C::new(graphics_settings, window.clone()).await?;
for font in fonts {
compositor.load_font(font);
}
sender sender
.send(Boot { .send(Boot {
compositor, compositor,