diff options
author | Tony Crisci <tony@dubstepdish.com> | 2018-03-17 10:00:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-17 10:00:54 -0400 |
commit | 09413aa7f1eab176c12675217a17ebe367fa7d8f (patch) | |
tree | d97059ac24cefd144db7c7789461106a1f70b9c5 /rootston/output.c | |
parent | 9cc875429b40e2567b219f8e9ffd23316d136204 (diff) | |
parent | 303883ce49b81438c8653991f40e72b0481e27cf (diff) |
Merge pull request #711 from emersion/map-unmap
Add map/unmap to xdg-shell
Diffstat (limited to 'rootston/output.c')
-rw-r--r-- | rootston/output.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/rootston/output.c b/rootston/output.c index 4d0a9c05..f772ea24 100644 --- a/rootston/output.c +++ b/rootston/output.c @@ -433,7 +433,8 @@ static void render_output(struct roots_output *output) { float clear_color[] = {0.25f, 0.25f, 0.25f, 1.0f}; // Check if we can delegate the fullscreen surface to the output - if (output->fullscreen_view != NULL) { + if (output->fullscreen_view != NULL && + output->fullscreen_view->wlr_surface != NULL) { struct roots_view *view = output->fullscreen_view; // Make sure the view is centered on screen @@ -501,7 +502,9 @@ static void render_output(struct roots_output *output) { goto renderer_end; } - view_for_each_surface(view, render_surface, &data); + if (view->wlr_surface != NULL) { + view_for_each_surface(view, render_surface, &data); + } // During normal rendering the xwayland window tree isn't traversed // because all windows are rendered. Here we only want to render @@ -570,6 +573,9 @@ void output_damage_whole(struct roots_output *output) { static bool view_accept_damage(struct roots_output *output, struct roots_view *view) { + if (view->wlr_surface == NULL) { + return false; + } if (output->fullscreen_view == NULL) { return true; } |