Merge pull request #485 from mahkoh/jorth/get-pointer-enter
seat: send wl_pointer.enter in get_pointer
This commit is contained in:
commit
c5b7c44000
1 changed files with 20 additions and 1 deletions
|
|
@ -1156,7 +1156,26 @@ impl WlSeatRequestHandler for WlSeat {
|
|||
let p = Rc::new(WlPointer::new(req.id, slf));
|
||||
track!(self.client, p);
|
||||
self.client.add_client_obj(&p)?;
|
||||
self.pointers.set(req.id, p);
|
||||
self.pointers.set(req.id, p.clone());
|
||||
let surface = self
|
||||
.global
|
||||
.pointer_node()
|
||||
.and_then(|n| n.node_into_surface());
|
||||
if let Some(surface) = surface {
|
||||
if surface.client.id == self.client.id {
|
||||
let (x, y) = self.global.pointer_cursor.position();
|
||||
let (x_int, y_int) = surface
|
||||
.buffer_abs_pos
|
||||
.get()
|
||||
.translate(x.round_down(), y.round_down());
|
||||
p.send_enter(
|
||||
self.client.next_serial(),
|
||||
surface.id,
|
||||
x.apply_fract(x_int),
|
||||
y.apply_fract(y_int),
|
||||
);
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue