aboutsummaryrefslogtreecommitdiff
path: root/rootston/output.c
diff options
context:
space:
mode:
authorTony Crisci <tony@dubstepdish.com>2018-03-17 10:00:54 -0400
committerGitHub <noreply@github.com>2018-03-17 10:00:54 -0400
commit09413aa7f1eab176c12675217a17ebe367fa7d8f (patch)
treed97059ac24cefd144db7c7789461106a1f70b9c5 /rootston/output.c
parent9cc875429b40e2567b219f8e9ffd23316d136204 (diff)
parent303883ce49b81438c8653991f40e72b0481e27cf (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.c10
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;
}