Revert "wayland/window: Correct detection whether to send configure"

It breaks more than it fixes.

After commit [1] Shell doesn't trigger the original issue [2] anymore.

[1]: ba0b9239d3
[2]: https://gitlab.gnome.org/GNOME/mutter/-/issues/1627

This reverts commit 236e9ec68f.

Fixes https://gitlab.gnome.org/GNOME/mutter/-/issues/1723

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1804>
This commit is contained in:
Aleksandr Mezin 2021-03-26 19:19:43 +06:00 committed by Jonas Ådahl
parent f92232ae4f
commit 90e3d9782d
3 changed files with 6 additions and 49 deletions

View File

@ -22,8 +22,6 @@
#include "wayland/meta-wayland-window-configuration.h" #include "wayland/meta-wayland-window-configuration.h"
#include "wayland/meta-window-wayland.h"
static uint32_t global_serial_counter = 0; static uint32_t global_serial_counter = 0;
static gboolean static gboolean
@ -53,13 +51,6 @@ meta_wayland_window_configuration_new (MetaWindow *window,
MetaGravity gravity) MetaGravity gravity)
{ {
MetaWaylandWindowConfiguration *configuration; MetaWaylandWindowConfiguration *configuration;
MetaWindowWayland *wl_window = META_WINDOW_WAYLAND (window);
int pending_width;
int pending_height;
meta_window_wayland_get_pending_size (wl_window,
&pending_width,
&pending_height);
configuration = g_new0 (MetaWaylandWindowConfiguration, 1); configuration = g_new0 (MetaWaylandWindowConfiguration, 1);
*configuration = (MetaWaylandWindowConfiguration) { *configuration = (MetaWaylandWindowConfiguration) {
@ -81,8 +72,8 @@ meta_wayland_window_configuration_new (MetaWindow *window,
if (flags & META_MOVE_RESIZE_RESIZE_ACTION || if (flags & META_MOVE_RESIZE_RESIZE_ACTION ||
is_window_size_fixed (window) || is_window_size_fixed (window) ||
pending_width != width || window->rect.width != width ||
pending_height != height) window->rect.height != height)
{ {
configuration->has_size = TRUE; configuration->has_size = TRUE;
configuration->width = width; configuration->width = width;

View File

@ -301,12 +301,6 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
} }
else else
{ {
int pending_width;
int pending_height;
meta_window_wayland_get_pending_size (wl_window,
&pending_width,
&pending_height);
if (window->placement.rule) if (window->placement.rule)
{ {
switch (window->placement.state) switch (window->placement.state)
@ -321,8 +315,8 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
if (flags & META_MOVE_RESIZE_PLACEMENT_CHANGED || if (flags & META_MOVE_RESIZE_PLACEMENT_CHANGED ||
rel_x != wl_window->last_sent_rel_x || rel_x != wl_window->last_sent_rel_x ||
rel_y != wl_window->last_sent_rel_y || rel_y != wl_window->last_sent_rel_y ||
constrained_rect.width != pending_width || constrained_rect.width != window->rect.width ||
constrained_rect.height != pending_height) constrained_rect.height != window->rect.height)
{ {
MetaWaylandWindowConfiguration *configuration; MetaWaylandWindowConfiguration *configuration;
@ -355,8 +349,8 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
break; break;
} }
} }
else if (constrained_rect.width != pending_width || else if (constrained_rect.width != window->rect.width ||
constrained_rect.height != pending_height || constrained_rect.height != window->rect.height ||
flags & META_MOVE_RESIZE_STATE_CHANGED) flags & META_MOVE_RESIZE_STATE_CHANGED)
{ {
MetaWaylandWindowConfiguration *configuration; MetaWaylandWindowConfiguration *configuration;
@ -1210,27 +1204,3 @@ meta_window_wayland_get_max_size (MetaWindow *window,
scale = 1.0 / (float) meta_window_wayland_get_geometry_scale (window); scale = 1.0 / (float) meta_window_wayland_get_geometry_scale (window);
scale_size (width, height, scale); scale_size (width, height, scale);
} }
void
meta_window_wayland_get_pending_size (MetaWindowWayland *wl_window,
int *width,
int *height)
{
MetaWindow *window = META_WINDOW (wl_window);
GList *l;
for (l = wl_window->pending_configurations; l; l = l->next)
{
MetaWaylandWindowConfiguration *configuration = l->data;
if (configuration->has_size)
{
*width = configuration->width;
*height = configuration->height;
return;
}
}
*width = window->rect.width;
*height = window->rect.height;
}

View File

@ -77,8 +77,4 @@ void meta_window_wayland_get_max_size (MetaWindow *window,
int *width, int *width,
int *height); int *height);
void meta_window_wayland_get_pending_size (MetaWindowWayland *wl_window,
int *width,
int *height);
#endif #endif