subsurface_widget: Sort parent WlSurface, not ObjectId

This commit is contained in:
Ian Douglas Scott 2025-03-27 12:10:32 -07:00 • committed by Ashley Wulber
parent 9f07d15617
commit 02bd5d17ef
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
5 changed files with 18 additions and 19 deletions

View file

@ -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)) {