Skip to content

Commit b362a38

Browse files
committed
server: raise windows to top on touch
1 parent c7d96d5 commit b362a38

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

src/server/event.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -934,16 +934,20 @@ impl Event for client::wl_touch::Event {
934934
} => {
935935
let mut cmd = CommandBuffer::new();
936936
{
937+
let connection = &mut state.connection;
938+
let world = &mut state.inner.world;
937939
let s_entity = surface.data().copied();
938940
let mut s_query = s_entity.and_then(|key| {
939-
state
940-
.world
941-
.query_one::<(&WlSurface, &SurfaceScaleFactor)>(key)
941+
world
942+
.query_one::<(&WlSurface, &SurfaceScaleFactor, &x::Window)>(key)
942943
.ok()
943944
});
944-
if let Some((s_surface, s_factor)) = s_query.as_mut().and_then(|q| q.get()) {
945+
if let Some((s_surface, s_factor, window)) =
946+
s_query.as_mut().and_then(|q| q.get())
947+
{
945948
cmd.insert_one(target, *s_factor);
946-
let touch = state.world.get::<&WlTouch>(target).unwrap();
949+
connection.raise_to_top(*window);
950+
let touch = world.get::<&WlTouch>(target).unwrap();
947951
touch.down(serial, time, s_surface, id, x * s_factor.0, y * s_factor.0);
948952
} else if let Some(&DecorationMarker { parent }) = surface.data() {
949953
drop(s_query);

0 commit comments

Comments
 (0)