aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop
diff options
context:
space:
mode:
authorLibravatar Dominique Martinet <asmadeus@codewreck.org>2018-03-03 16:36:05 +0100
committerLibravatar Dominique Martinet <asmadeus@codewreck.org>2018-03-03 16:37:14 +0100
commit95963e4a1fa714858e3ff640945f015a8ba4795d (patch)
tree7c35e6101237e133904ff16e44af82cc6c66ac9f /sway/desktop
parentMerge pull request #1611 from acrisci/ipc-new-window (diff)
downloadsway-95963e4a1fa714858e3ff640945f015a8ba4795d.tar.gz
sway-95963e4a1fa714858e3ff640945f015a8ba4795d.tar.zst
sway-95963e4a1fa714858e3ff640945f015a8ba4795d.zip
xwayland: do not send surface configure when no width/height
The code in apply_horiz_layout systematically does `set_position` then `set_size`, so for new windows there is an invalid call. For old windows there are two calls when only one is needed, with the current code set_position could not send any surface configure without impact, but in the future it might be needed? Native wayland surfaces do not need to know where they are (the set_position handled only updates the sway internal view variable), why does X11 window need that?
Diffstat (limited to 'sway/desktop')
-rw-r--r--sway/desktop/xwayland.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c
index 519c050e..6b5e03f9 100644
--- a/sway/desktop/xwayland.c
+++ b/sway/desktop/xwayland.c
@@ -67,6 +67,10 @@ static void set_position(struct sway_view *view, double ox, double oy) {
67 view->swayc->x = ox; 67 view->swayc->x = ox;
68 view->swayc->y = oy; 68 view->swayc->y = oy;
69 69
70 if (view->width == 0 || view->height == 0) {
71 return;
72 }
73
70 wlr_xwayland_surface_configure(view->wlr_xwayland_surface, 74 wlr_xwayland_surface_configure(view->wlr_xwayland_surface,
71 ox + loutput->x, oy + loutput->y, 75 ox + loutput->x, oy + loutput->y,
72 view->width, view->height); 76 view->width, view->height);