xdg: Eliminate redundant update_x/update_y flags

struct view's pending_move_resize.update_x/update_y flags appear to
be redundant, since we can easily determine whether x/y have been
update via a simple comparison in handle_commit().

The only corner case I can think of where this change might affect
behavior, is if xdg_toplevel_view_move() is called while a resize
is still pending (e.g. after xdg_toplevel_view_configure() but
before handle_commit()). This corner case will be addressed in the
following commit.
This commit is contained in:
John Lindgren 2023-02-08 16:14:06 -05:00 committed by Johan Malm
parent a417c1c761
commit cfc3c93102
2 changed files with 2 additions and 5 deletions

View file

@ -76,12 +76,12 @@ handle_commit(struct wl_listener *listener, void *data)
uint32_t serial = view->pending_move_resize.configure_serial;
if (serial > 0 && serial >= xdg_surface->current.configure_serial) {
if (view->pending_move_resize.update_x) {
if (view->x != view->pending_move_resize.x) {
update_required = true;
view->x = view->pending_move_resize.x +
view->pending_move_resize.width - size.width;
}
if (view->pending_move_resize.update_y) {
if (view->y != view->pending_move_resize.y) {
update_required = true;
view->y = view->pending_move_resize.y +
view->pending_move_resize.height - size.height;
@ -205,8 +205,6 @@ xdg_toplevel_view_configure(struct view *view, struct wlr_box geo)
{
view_adjust_size(view, &geo.width, &geo.height);
view->pending_move_resize.update_x = geo.x != view->x;
view->pending_move_resize.update_y = geo.y != view->y;
view->pending_move_resize.x = geo.x;
view->pending_move_resize.y = geo.y;
view->pending_move_resize.width = geo.width;