diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-04-07 11:53:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-07 11:53:10 -0400 |
commit | c47b4d4edb7714612ec7236fafda5ca54cb92ce4 (patch) | |
tree | 9a7f991e9c3da20351b58c53e0b6dbe376f12dca /sway/desktop/xwayland.c | |
parent | f5a9bd5cb75b37376b98eadbff2facb7e0021d57 (diff) | |
parent | 0c627918bb1d4c056744157b8c37fb1f62c5ca8e (diff) | |
download | sway-c47b4d4edb7714612ec7236fafda5ca54cb92ce4.tar.xz |
Merge pull request #1756 from emersion/output-damage
Fine-grained damage tracking
Diffstat (limited to 'sway/desktop/xwayland.c')
-rw-r--r-- | sway/desktop/xwayland.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 10bfcc89..6de1365d 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c @@ -32,15 +32,15 @@ static void unmanaged_handle_commit(struct wl_listener *listener, void *data) { if (xsurface->x != surface->lx || xsurface->y != surface->ly) { // Surface has moved - desktop_damage_whole_surface(xsurface->surface, - surface->lx, surface->ly); + desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, + true); surface->lx = xsurface->x; surface->ly = xsurface->y; - desktop_damage_whole_surface(xsurface->surface, - surface->lx, surface->ly); + desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, + true); } else { - desktop_damage_from_surface(xsurface->surface, - xsurface->x, xsurface->y); + desktop_damage_surface(xsurface->surface, xsurface->x, xsurface->y, + false); } } @@ -57,7 +57,7 @@ static void unmanaged_handle_map(struct wl_listener *listener, void *data) { surface->lx = xsurface->x; surface->ly = xsurface->y; - desktop_damage_whole_surface(xsurface->surface, surface->lx, surface->ly); + desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, true); // TODO: we don't send surface enter/leave events to xwayland unmanaged // surfaces, but xwayland doesn't support HiDPI anyway @@ -67,7 +67,7 @@ static void unmanaged_handle_unmap(struct wl_listener *listener, void *data) { struct sway_xwayland_unmanaged *surface = wl_container_of(listener, surface, unmap); struct wlr_xwayland_surface *xsurface = surface->wlr_xwayland_surface; - desktop_damage_whole_surface(xsurface->surface, xsurface->x, xsurface->y); + desktop_damage_surface(xsurface->surface, xsurface->x, xsurface->y, true); wl_list_remove(&surface->link); wl_list_remove(&surface->commit.link); } @@ -209,7 +209,7 @@ static void handle_commit(struct wl_listener *listener, void *data) { // TODO: Let floating views do whatever view_update_size(view, xwayland_view->pending_width, xwayland_view->pending_height); - view_damage_from(view); + view_damage(view, false); } static void handle_unmap(struct wl_listener *listener, void *data) { |