desktop.layer: Send output enter/leave events to popups
This commit is contained in:
parent
98da5fe467
commit
f18ebd6405
|
@ -107,6 +107,23 @@ impl LayerMap {
|
||||||
},
|
},
|
||||||
|_, _, _| true,
|
|_, _, _| true,
|
||||||
);
|
);
|
||||||
|
for (popup, _) in PopupManager::popups_for_surface(surface)
|
||||||
|
.ok()
|
||||||
|
.into_iter()
|
||||||
|
.flatten()
|
||||||
|
{
|
||||||
|
if let Some(surface) = popup.get_surface() {
|
||||||
|
with_surface_tree_downward(
|
||||||
|
surface,
|
||||||
|
(),
|
||||||
|
|_, _, _| TraversalAction::DoChildren(()),
|
||||||
|
|wl_surface, _, _| {
|
||||||
|
output_leave(&output, &mut self.surfaces, wl_surface, &self.logger);
|
||||||
|
},
|
||||||
|
|_, _, _| true,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,6 +215,23 @@ impl LayerMap {
|
||||||
},
|
},
|
||||||
|_, _, _| true,
|
|_, _, _| true,
|
||||||
);
|
);
|
||||||
|
for (popup, _) in PopupManager::popups_for_surface(surface)
|
||||||
|
.ok()
|
||||||
|
.into_iter()
|
||||||
|
.flatten()
|
||||||
|
{
|
||||||
|
if let Some(surface) = popup.get_surface() {
|
||||||
|
with_surface_tree_downward(
|
||||||
|
surface,
|
||||||
|
(),
|
||||||
|
|_, _, _| TraversalAction::DoChildren(()),
|
||||||
|
|wl_surface, _, _| {
|
||||||
|
output_enter(&output, surfaces_ref, wl_surface, logger_ref);
|
||||||
|
},
|
||||||
|
|_, _, _| true,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let data = with_states(surface, |states| {
|
let data = with_states(surface, |states| {
|
||||||
*states.cached_state.current::<LayerSurfaceCachedState>()
|
*states.cached_state.current::<LayerSurfaceCachedState>()
|
||||||
|
|
Loading…
Reference in New Issue