aboutsummaryrefslogtreecommitdiff
path: root/rootston/output.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-01-28 15:05:31 -0500
committerGitHub <noreply@github.com>2018-01-28 15:05:31 -0500
commitf0b3a71fbc72eeccf44bc6a6f6c39a80af918463 (patch)
tree6671170c37e00ffd1fb67994a55ccf5ba760be90 /rootston/output.c
parentfacc5ef93a705b4c4cbe4acb6ebd44b256db5d3e (diff)
parent41ec686693821d6d436dae193e675a9b2746a369 (diff)
Merge pull request #590 from pks-t/pks/rootston-wo-xwayland
Fix building rootston without XWayland
Diffstat (limited to 'rootston/output.c')
-rw-r--r--rootston/output.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/rootston/output.c b/rootston/output.c
index 689956ad..1fb848b9 100644
--- a/rootston/output.c
+++ b/rootston/output.c
@@ -137,6 +137,7 @@ static void render_wl_shell_surface(struct wlr_wl_shell_surface *surface,
}
}
+#ifdef WLR_HAS_XWAYLAND
static void render_xwayland_children(struct wlr_xwayland_surface *surface,
struct roots_desktop *desktop, struct wlr_output *wlr_output,
struct timespec *when) {
@@ -149,6 +150,7 @@ static void render_xwayland_children(struct wlr_xwayland_surface *surface,
render_xwayland_children(child, desktop, wlr_output, when);
}
}
+#endif
static void render_decorations(struct roots_view *view,
struct roots_desktop *desktop, struct wlr_output *output) {
@@ -198,10 +200,12 @@ static void render_view(struct roots_view *view, struct roots_desktop *desktop,
render_wl_shell_surface(view->wl_shell_surface, desktop, wlr_output,
when, view->x, view->y, view->rotation, false);
break;
+#ifdef WLR_HAS_XWAYLAND
case ROOTS_XWAYLAND_VIEW:
render_surface(view->wlr_surface, desktop, wlr_output, when,
view->x, view->y, view->rotation);
break;
+#endif
}
}
@@ -215,8 +219,10 @@ static bool has_standalone_surface(struct roots_view *view) {
return wl_list_empty(&view->xdg_surface_v6->popups);
case ROOTS_WL_SHELL_VIEW:
return wl_list_empty(&view->wl_shell_surface->popups);
+#ifdef WLR_HAS_XWAYLAND
case ROOTS_XWAYLAND_VIEW:
return wl_list_empty(&view->xwayland_surface->children);
+#endif
}
return true;
}
@@ -264,10 +270,12 @@ static void output_frame_notify(struct wl_listener *listener, void *data) {
// During normal rendering the xwayland window tree isn't traversed
// because all windows are rendered. Here we only want to render
// the fullscreen window's children so we have to traverse the tree.
+#ifdef WLR_HAS_XWAYLAND
if (view->type == ROOTS_XWAYLAND_VIEW) {
render_xwayland_children(view->xwayland_surface, desktop,
wlr_output, &now);
}
+#endif
}
wlr_renderer_end(server->renderer);
wlr_output_swap_buffers(wlr_output);