grabs: Fix ssd not updating during move grab
This commit is contained in:
parent
3d58ec062d
commit
4652a23294
1 changed files with 18 additions and 2 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
use calloop::LoopHandle;
|
use calloop::LoopHandle;
|
||||||
|
use grabs::SeatMoveGrabState;
|
||||||
use indexmap::IndexMap;
|
use indexmap::IndexMap;
|
||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
|
|
@ -1137,8 +1138,23 @@ impl Common {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn on_commit(&mut self, surface: &WlSurface) {
|
pub fn on_commit(&mut self, surface: &WlSurface) {
|
||||||
if let Some(mapped) = self.shell.read().unwrap().element_for_surface(surface) {
|
{
|
||||||
mapped.on_commit(surface);
|
let shell = self.shell.read().unwrap();
|
||||||
|
|
||||||
|
for seat in shell.seats.iter() {
|
||||||
|
if let Some(move_grab) = seat.user_data().get::<SeatMoveGrabState>() {
|
||||||
|
if let Some(grab_state) = move_grab.lock().unwrap().as_ref() {
|
||||||
|
let mapped = grab_state.element();
|
||||||
|
if mapped.active_window().wl_surface().as_deref() == Some(surface) {
|
||||||
|
mapped.on_commit(surface);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if let Some(mapped) = shell.element_for_surface(surface) {
|
||||||
|
mapped.on_commit(surface);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
self.popups.commit(surface);
|
self.popups.commit(surface);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue