diff --git a/komorebi/src/windows_api.rs b/komorebi/src/windows_api.rs index a3898c88..d5640ad1 100644 --- a/komorebi/src/windows_api.rs +++ b/komorebi/src/windows_api.rs @@ -242,13 +242,12 @@ impl WindowsApi { pub fn enum_display_devices( index: u32, - lp_device: Option<[u8; 32]>, + lp_device: Option<*const u8>, ) -> Result { #[allow(clippy::option_if_let_else)] - let lp_device = if let Some(lp_device) = lp_device { - PCSTR::from_raw(lp_device.as_ptr()) - } else { - PCSTR::null() + let lp_device = match lp_device { + None => PCSTR::null(), + Some(lp_device) => PCSTR(lp_device), }; let mut display_device = DISPLAY_DEVICEA { diff --git a/komorebi/src/windows_callbacks.rs b/komorebi/src/windows_callbacks.rs index f192beaa..d1826b23 100644 --- a/komorebi/src/windows_callbacks.rs +++ b/komorebi/src/windows_callbacks.rs @@ -85,7 +85,8 @@ pub extern "system" fn enum_display_monitor( .to_string(); if clean_name.eq(m.name()) { - if let Ok(device) = WindowsApi::enum_display_devices(0, Some(d.DeviceName)) { + if let Ok(device) = WindowsApi::enum_display_devices(0, Some(d.DeviceName.as_ptr())) + { let id = String::from_utf8_lossy(&device.DeviceID); let clean_id = id.replace('\u{0000}', "");