view: remove server->last_raised_view

We were skipping in view_move_to_front() if the raised view is already
cached as server->last_raised_view. But this was prone to bugs that
windows cannot be raised even though they are actually not placed at the
top in the scene.

This happened when a window is mapped but view_move_to_front() is not
called in view_impl_map() for some reason. Example cases were:
- a window is minimized before being mapped (#2627)
- a window is mapped while window switcher is active (#2629)

Also, this problem was the root cause of #1640 and #2582, though they are
already fixed.

Therefore, this commit removes server->last_raised_view. In order to
eliminate unnecessary communications between labwc and xwayland (ref:
db591d1), I'll introduce another caching mechanism in the next commit.
This commit is contained in:
tokyo4j 2025-03-19 09:54:20 +09:00 committed by Hiroaki Yamamoto
parent 2404297f2d
commit de49054d75
3 changed files with 0 additions and 26 deletions

View file

@ -66,9 +66,6 @@ view_impl_unmap(struct view *view)
if (view == server->active_view) {
desktop_focus_topmost_view(server);
}
if (view == server->last_raised_view) {
server->last_raised_view = NULL;
}
}
static bool