diff options
author | emersion <contact@emersion.fr> | 2018-03-31 11:30:15 -0400 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-03-31 11:30:15 -0400 |
commit | 98b67e2399df70d1e8354d5641744d1730a60189 (patch) | |
tree | 74db4df45a42e0c652b2dc98f2e9f5e2c9e7560c /sway/desktop | |
parent | Fix unmanaged views rendering on all outputs (diff) | |
download | sway-98b67e2399df70d1e8354d5641744d1730a60189.tar.gz sway-98b67e2399df70d1e8354d5641744d1730a60189.tar.zst sway-98b67e2399df70d1e8354d5641744d1730a60189.zip |
Fix xwayland configure in set_size
Diffstat (limited to 'sway/desktop')
-rw-r--r-- | sway/desktop/output.c | 10 | ||||
-rw-r--r-- | sway/desktop/xwayland.c | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 24c0bf40..0d706c52 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -247,11 +247,13 @@ static void render_output(struct sway_output *output, struct timespec *when, | |||
247 | continue; | 247 | continue; |
248 | } | 248 | } |
249 | 249 | ||
250 | struct wlr_xwayland_surface *xsurface = view->wlr_xwayland_surface; | ||
251 | |||
250 | const struct wlr_box view_box = { | 252 | const struct wlr_box view_box = { |
251 | .x = view->wlr_xwayland_surface->x, | 253 | .x = xsurface->x, |
252 | .y = view->wlr_xwayland_surface->y, | 254 | .y = xsurface->y, |
253 | .width = view->wlr_xwayland_surface->width, | 255 | .width = xsurface->width, |
254 | .height = view->wlr_xwayland_surface->height, | 256 | .height = xsurface->height, |
255 | }; | 257 | }; |
256 | struct wlr_box intersection; | 258 | struct wlr_box intersection; |
257 | if (!wlr_box_intersection(&view_box, output_box, &intersection)) { | 259 | if (!wlr_box_intersection(&view_box, output_box, &intersection)) { |
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 5f9c99a3..bbaa88c8 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c | |||
@@ -41,7 +41,7 @@ static void set_size(struct sway_view *view, int width, int height) { | |||
41 | view->sway_xwayland_surface->pending_height = height; | 41 | view->sway_xwayland_surface->pending_height = height; |
42 | 42 | ||
43 | struct wlr_xwayland_surface *xsurface = view->wlr_xwayland_surface; | 43 | struct wlr_xwayland_surface *xsurface = view->wlr_xwayland_surface; |
44 | wlr_xwayland_surface_configure(xsurface, view->swayc->x, view->swayc->y, | 44 | wlr_xwayland_surface_configure(xsurface, xsurface->x, xsurface->y, |
45 | width, height); | 45 | width, height); |
46 | } | 46 | } |
47 | 47 | ||
@@ -151,7 +151,7 @@ static void handle_map(struct wl_listener *listener, void *data) { | |||
151 | view_damage_whole(sway_surface->view); | 151 | view_damage_whole(sway_surface->view); |
152 | } | 152 | } |
153 | 153 | ||
154 | static void handle_configure_request(struct wl_listener *listener, void *data) { | 154 | static void handle_request_configure(struct wl_listener *listener, void *data) { |
155 | struct sway_xwayland_surface *sway_surface = | 155 | struct sway_xwayland_surface *sway_surface = |
156 | wl_container_of(listener, sway_surface, request_configure); | 156 | wl_container_of(listener, sway_surface, request_configure); |
157 | struct wlr_xwayland_surface_configure_event *ev = data; | 157 | struct wlr_xwayland_surface_configure_event *ev = data; |
@@ -206,7 +206,7 @@ void handle_xwayland_surface(struct wl_listener *listener, void *data) { | |||
206 | 206 | ||
207 | wl_signal_add(&xsurface->events.request_configure, | 207 | wl_signal_add(&xsurface->events.request_configure, |
208 | &sway_surface->request_configure); | 208 | &sway_surface->request_configure); |
209 | sway_surface->request_configure.notify = handle_configure_request; | 209 | sway_surface->request_configure.notify = handle_request_configure; |
210 | 210 | ||
211 | wl_signal_add(&xsurface->events.unmap, &sway_surface->unmap); | 211 | wl_signal_add(&xsurface->events.unmap, &sway_surface->unmap); |
212 | sway_surface->unmap.notify = handle_unmap; | 212 | sway_surface->unmap.notify = handle_unmap; |