replace top level mutex with rw lock

This commit is contained in:
🪞👃🪞 2024-07-05 20:02:55 +03:00
parent 33de8bbf1d
commit 2989c79fd0
5 changed files with 21 additions and 15 deletions

View file

@ -62,6 +62,12 @@ impl<T: Render> Render for Arc<Mutex<T>> {
}
}
impl<T: Render + Sync> Render for Arc<RwLock<T>> {
fn render (&self, b: &mut Buffer, a: Rect) -> Usually<Rect> {
self.read().unwrap().render(b, a)
}
}
impl WidgetRef for &dyn Render {
fn render_ref (&self, area: Rect, buf: &mut Buffer) {
Render::render(*self, buf, area).expect("Failed to render device.");