fix(winit): cleanup layer surface dnd surface

This commit is contained in:
Ashley Wulber 2024-12-02 20:31:56 -05:00
parent 8e08ceb25c
commit dbbaa4f442
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820

View file

@ -669,16 +669,14 @@ impl SctkEvent {
LayerSurfaceEventVariant::Done => {
if let Some(id) = surface_ids.remove(&surface.id()) {
if let Some(w) = window_manager.remove(id.inner()) {
clipboard.register_dnd_destination(
DndSurface(Arc::new(Box::new(w.raw.clone()))),
Vec::new(),
);
if clipboard
.window_id()
.is_some_and(|id| w.raw.id() == id)
{
clipboard.register_dnd_destination(
DndSurface(Arc::new(Box::new(
w.raw.clone(),
))),
Vec::new(),
);
*clipboard = Clipboard::unconnected();
}
}