subsurface_widget: Sort parent WlSurface, not ObjectId
This commit is contained in:
parent
9f07d15617
commit
02bd5d17ef
5 changed files with 18 additions and 19 deletions
|
|
@ -34,7 +34,7 @@ impl KeyboardHandler for SctkState {
|
|||
|
||||
let surface = if let Some(subsurface) =
|
||||
self.subsurfaces.iter().find(|s| {
|
||||
s.steals_keyboard_focus && s.instance.parent == surface.id()
|
||||
s.steals_keyboard_focus && s.instance.parent == *surface
|
||||
}) {
|
||||
&subsurface.instance.wl_surface
|
||||
} else {
|
||||
|
|
@ -53,7 +53,7 @@ impl KeyboardHandler for SctkState {
|
|||
self.request_redraw(&surface);
|
||||
|
||||
let surfaces = self.subsurfaces.iter().filter_map(|s| {
|
||||
(s.instance.parent == surface.id()).then(|| &s.instance.wl_surface)
|
||||
(s.instance.parent == *surface).then(|| &s.instance.wl_surface)
|
||||
});
|
||||
for surface in surfaces.chain(std::iter::once(surface)) {
|
||||
if is_active {
|
||||
|
|
@ -104,7 +104,7 @@ impl KeyboardHandler for SctkState {
|
|||
(is_active, seat, kbd)
|
||||
};
|
||||
let surfaces = self.subsurfaces.iter().filter_map(|s| {
|
||||
(s.instance.parent == surface.id()).then(|| &s.instance.wl_surface)
|
||||
(s.instance.parent == *surface).then(|| &s.instance.wl_surface)
|
||||
});
|
||||
for surface in surfaces.chain(std::iter::once(surface)) {
|
||||
if is_active {
|
||||
|
|
@ -169,7 +169,7 @@ impl KeyboardHandler for SctkState {
|
|||
if let Some(surface) = my_seat.kbd_focus.clone() {
|
||||
self.request_redraw(&surface);
|
||||
let surfaces = self.subsurfaces.iter().filter_map(|s| {
|
||||
(s.instance.parent == surface.id())
|
||||
(s.instance.parent == surface)
|
||||
.then(|| &s.instance.wl_surface)
|
||||
});
|
||||
for surface in surfaces.chain(std::iter::once(&surface)) {
|
||||
|
|
@ -210,7 +210,7 @@ impl KeyboardHandler for SctkState {
|
|||
if let Some(surface) = my_seat.kbd_focus.clone() {
|
||||
self.request_redraw(&surface);
|
||||
let surfaces = self.subsurfaces.iter().filter_map(|s| {
|
||||
(s.instance.parent == surface.id())
|
||||
(s.instance.parent == surface)
|
||||
.then(|| &s.instance.wl_surface)
|
||||
});
|
||||
for surface in surfaces.chain(std::iter::once(&surface)) {
|
||||
|
|
@ -252,7 +252,7 @@ impl KeyboardHandler for SctkState {
|
|||
if let Some(surface) = my_seat.kbd_focus.clone() {
|
||||
self.request_redraw(&surface);
|
||||
let surfaces = self.subsurfaces.iter().filter_map(|s| {
|
||||
(s.instance.parent == surface.id())
|
||||
(s.instance.parent == surface)
|
||||
.then(|| &s.instance.wl_surface)
|
||||
});
|
||||
for surface in surfaces.chain(std::iter::once(&surface)) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue