From: Joshua Simmons Date: Sun, 5 Nov 2023 19:38:25 +0000 (+0100) Subject: narcissus-app: Fix clippy lint X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=b85e9d07a1b20517c644ff32d1099d0b69f6b235;p=josh%2Fnarcissus narcissus-app: Fix clippy lint --- diff --git a/engine/narcissus-app/src/lib.rs b/engine/narcissus-app/src/lib.rs index 55239ef..bcf54d5 100644 --- a/engine/narcissus-app/src/lib.rs +++ b/engine/narcissus-app/src/lib.rs @@ -2,7 +2,7 @@ mod button; mod key; mod sdl; -use std::sync::Arc; +use std::rc::Rc; use narcissus_core::{flags_def, raw_window::AsRawWindow, Upcast}; @@ -106,10 +106,10 @@ pub enum Event { } pub trait App { - fn create_window(&self, desc: &WindowDesc) -> Arc; - fn destroy_window(&self, window: Arc); + fn create_window(&self, desc: &WindowDesc) -> Rc; + fn destroy_window(&self, window: Rc); - fn window(&self, window_id: WindowId) -> Arc; + fn window(&self, window_id: WindowId) -> Rc; fn poll_event(&self) -> Option; } diff --git a/engine/narcissus-app/src/sdl.rs b/engine/narcissus-app/src/sdl.rs index 7ce43f3..08febc7 100644 --- a/engine/narcissus-app/src/sdl.rs +++ b/engine/narcissus-app/src/sdl.rs @@ -1,4 +1,4 @@ -use std::{collections::HashMap, ffi::CString, mem::MaybeUninit, sync::Arc}; +use std::{collections::HashMap, ffi::CString, mem::MaybeUninit, rc::Rc}; use crate::{App, Button, Event, Key, ModifierFlags, PressedState, Window, WindowId}; @@ -65,7 +65,7 @@ impl Upcast for SdlWindow { } pub struct SdlApp { - windows: Mutex>>, + windows: Mutex>>, } impl SdlApp { @@ -87,7 +87,7 @@ impl Drop for SdlApp { } impl App for SdlApp { - fn create_window(&self, desc: &crate::WindowDesc) -> Arc { + fn create_window(&self, desc: &crate::WindowDesc) -> Rc { let title = CString::new(desc.title).unwrap(); let window = unsafe { sdl::SDL_CreateWindow( @@ -101,16 +101,16 @@ impl App for SdlApp { }; assert!(!window.is_null()); let window_id = WindowId(unsafe { sdl::SDL_GetWindowID(window) } as u64); - let window = Arc::new(SdlWindow { window }); + let window = Rc::new(SdlWindow { window }); self.windows.lock().insert(window_id, window.clone()); window } - fn destroy_window(&self, window: Arc) { + fn destroy_window(&self, window: Rc) { let window_id = window.id(); drop(window); if let Some(mut window) = self.windows.lock().remove(&window_id) { - let window = Arc::get_mut(&mut window) + let window = Rc::get_mut(&mut window) .expect("tried to destroy a window while there are outstanding references"); unsafe { sdl::SDL_DestroyWindow(window.window) }; } @@ -200,7 +200,7 @@ impl App for SdlApp { Some(e) } - fn window(&self, window_id: WindowId) -> Arc { + fn window(&self, window_id: WindowId) -> Rc { self.windows.lock().get(&window_id).unwrap().clone() } }