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

@ -292,11 +292,6 @@ struct server {
* Note that active_view is synced with foreign-toplevel clients.
*/
struct view *active_view;
/*
* Most recently raised view. Used to avoid unnecessarily
* raising the same view over and over.
*/
struct view *last_raised_view;
struct ssd_hover_state *ssd_hover_state;