diff --git a/src/dnd/mod.rs b/src/dnd/mod.rs index 64c88ad..3cfd8ea 100644 --- a/src/dnd/mod.rs +++ b/src/dnd/mod.rs @@ -41,8 +41,10 @@ impl RawSurface for WlSurface { } pub trait RawSurface { - /// must return a valid `*mut wl_surface` pointer, and it must remain - /// valid for as long as this object is alive. + /// # Safety + /// + /// returned pointer must be a valid `*mut wl_surface` pointer, and it must remain + /// valid for as long as `RawSurface` object is alive. unsafe fn get_ptr(&mut self) -> *mut c_void; } diff --git a/src/dnd/state.rs b/src/dnd/state.rs index 607cdad..d90f291 100644 --- a/src/dnd/state.rs +++ b/src/dnd/state.rs @@ -1,9 +1,7 @@ -use std::borrow::Cow; use std::collections::HashMap; use std::io::{Error, ErrorKind, Read, Write}; use std::mem; use std::os::unix::io::AsRawFd; -use std::rc::Rc; use sctk::data_device_manager::data_offer::DragOffer; use sctk::data_device_manager::data_source::DragSource; @@ -17,7 +15,6 @@ use wayland_backend::client::ObjectId; use crate::mime::{AsMimeTypes, MimeType}; use crate::state::{set_non_blocking, State}; -use crate::text::Text; use super::{DndDestinationRectangle, DndEvent, DndRequest, DndSurface, OfferEvent}; @@ -30,7 +27,6 @@ pub(crate) struct DndState { selected_action: DndAction, selected_mime: Option, pub(crate) source_content: Option>, - pub(crate) source_mime_types: Rc>, accept_ctr: u32, } @@ -45,7 +41,6 @@ impl Default for DndState { selected_action: DndAction::empty(), selected_mime: None, source_content: None, - source_mime_types: Rc::new(Cow::Owned(Vec::new())), accept_ctr: 1, } }