diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2018-03-03 16:36:05 +0100 |
---|---|---|
committer | Dominique Martinet <asmadeus@codewreck.org> | 2018-03-03 16:37:14 +0100 |
commit | 95963e4a1fa714858e3ff640945f015a8ba4795d (patch) | |
tree | 7c35e6101237e133904ff16e44af82cc6c66ac9f /sway | |
parent | Merge pull request #1611 from acrisci/ipc-new-window (diff) | |
download | sway-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')
-rw-r--r-- | sway/desktop/xwayland.c | 4 |
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); |