fix warning

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2023-01-29 14:27:57 +08:00
parent 3040997c45
commit 176847c51e
4 changed files with 13 additions and 5 deletions

View File

@ -58,6 +58,7 @@ impl Capturer {
let mut device = ptr::null_mut();
let mut context = ptr::null_mut();
let mut duplication = ptr::null_mut();
#[allow(invalid_value)]
let mut desc = unsafe { mem::MaybeUninit::uninit().assume_init() };
let mut gdi_capturer = None;
@ -176,6 +177,7 @@ impl Capturer {
unsafe fn load_frame(&mut self, timeout: UINT) -> io::Result<(*const u8, i32)> {
let mut frame = ptr::null_mut();
#[allow(invalid_value)]
let mut info = mem::MaybeUninit::uninit().assume_init();
wrap_hresult((*self.duplication.0).AcquireNextFrame(timeout, &mut info, &mut frame))?;
@ -185,6 +187,7 @@ impl Capturer {
return Err(std::io::ErrorKind::WouldBlock.into());
}
#[allow(invalid_value)]
let mut rect = mem::MaybeUninit::uninit().assume_init();
if self.fastlane {
wrap_hresult((*self.duplication.0).MapDesktopSurface(&mut rect))?;
@ -204,6 +207,7 @@ impl Capturer {
);
let texture = ComPtr(texture);
#[allow(invalid_value)]
let mut texture_desc = mem::MaybeUninit::uninit().assume_init();
(*texture.0).GetDesc(&mut texture_desc);
@ -362,6 +366,7 @@ impl Displays {
let mut all = Vec::new();
let mut i: DWORD = 0;
loop {
#[allow(invalid_value)]
let mut d: DISPLAY_DEVICEW = unsafe { std::mem::MaybeUninit::uninit().assume_init() };
d.cb = std::mem::size_of::<DISPLAY_DEVICEW>() as _;
let ok = unsafe { EnumDisplayDevicesW(std::ptr::null(), i, &mut d as _, 0) };
@ -382,6 +387,7 @@ impl Displays {
gdi: true,
};
disp.desc.DeviceName = d.DeviceName;
#[allow(invalid_value)]
let mut m: DEVMODEW = unsafe { std::mem::MaybeUninit::uninit().assume_init() };
m.dmSize = std::mem::size_of::<DEVMODEW>() as _;
m.dmDriverExtra = 0;
@ -441,6 +447,7 @@ impl Displays {
// We get the display's details.
let desc = unsafe {
#[allow(invalid_value)]
let mut desc = mem::MaybeUninit::uninit().assume_init();
(*output.0).GetDesc(&mut desc);
desc

View File

@ -49,6 +49,7 @@ use winreg::RegKey;
pub fn get_cursor_pos() -> Option<(i32, i32)> {
unsafe {
#[allow(invalid_value)]
let mut out = mem::MaybeUninit::uninit().assume_init();
if GetCursorPos(&mut out) == FALSE {
return None;
@ -61,6 +62,7 @@ pub fn reset_input_cache() {}
pub fn get_cursor() -> ResultType<Option<u64>> {
unsafe {
#[allow(invalid_value)]
let mut ci: CURSORINFO = mem::MaybeUninit::uninit().assume_init();
ci.cbSize = std::mem::size_of::<CURSORINFO>() as _;
if crate::portable_service::client::get_cursor_info(&mut ci) == FALSE {
@ -79,6 +81,7 @@ struct IconInfo(ICONINFO);
impl IconInfo {
fn new(icon: HICON) -> ResultType<Self> {
unsafe {
#[allow(invalid_value)]
let mut ii = mem::MaybeUninit::uninit().assume_init();
if GetIconInfo(icon, &mut ii) == FALSE {
Err(io::Error::last_os_error().into())

View File

@ -138,7 +138,6 @@ const MILLI1: Duration = Duration::from_millis(1);
const SEND_TIMEOUT_VIDEO: u64 = 12_000;
const SEND_TIMEOUT_OTHER: u64 = SEND_TIMEOUT_VIDEO * 10;
const SESSION_TIMEOUT: Duration = Duration::from_secs(30);
const SWITCH_SIDES_TIMEOUT: Duration = Duration::from_secs(10);
impl Connection {
pub async fn start(
@ -1231,7 +1230,7 @@ impl Connection {
SWITCH_SIDES_UUID
.lock()
.unwrap()
.retain(|_, v| v.0.elapsed() < SWITCH_SIDES_TIMEOUT);
.retain(|_, v| v.0.elapsed() < Duration::from_secs(10));
let uuid_old = SWITCH_SIDES_UUID.lock().unwrap().remove(&lr.my_id);
if let Ok(uuid) = uuid::Uuid::from_slice(_s.uuid.to_vec().as_ref()) {
if let Some((_instant, uuid_old)) = uuid_old {
@ -1538,8 +1537,8 @@ impl Connection {
uuid.to_string().as_ref(),
])
.ok();
self.send_close_reason_no_retry("Closed as expected");
self.on_close("switch sides", false);
self.send_close_reason_no_retry("Closed as expected").await;
self.on_close("switch sides", false).await;
return false;
}
}

View File

@ -6,7 +6,6 @@ use crate::client::{
};
use crate::common::{self, GrabState};
use crate::keyboard;
use crate::ui_interface::using_public_server;
use crate::{client::Data, client::Interface};
use async_trait::async_trait;
use bytes::Bytes;