mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2024-11-21 14:42:25 +00:00
examples/output-layers: fix layers not included in commit
wlr_output_set_layers() attaches layers to the output's pending
state, but then uses a detached wlr_output_state in
wlr_output_state_commit(). This results in layers being left out
of the committed state.
Fixes: 8e81b4bb42
("examples: convert to new rendering API")
This commit is contained in:
parent
4339c37f99
commit
ac426c0c24
@ -82,10 +82,13 @@ static void output_handle_frame(struct wl_listener *listener, void *data) {
|
||||
};
|
||||
}
|
||||
|
||||
wlr_output_set_layers(output->wlr_output, layers_arr.data,
|
||||
layers_arr.size / sizeof(struct wlr_output_layer_state));
|
||||
struct wlr_output_state output_state = {
|
||||
.committed = WLR_OUTPUT_STATE_LAYERS,
|
||||
.layers = layers_arr.data,
|
||||
.layers_len = layers_arr.size / sizeof(struct wlr_output_layer_state),
|
||||
};
|
||||
|
||||
if (!wlr_output_test(output->wlr_output)) {
|
||||
if (!wlr_output_test_state(output->wlr_output, &output_state)) {
|
||||
wlr_log(WLR_ERROR, "wlr_output_test() failed");
|
||||
return;
|
||||
}
|
||||
@ -93,7 +96,6 @@ static void output_handle_frame(struct wl_listener *listener, void *data) {
|
||||
int width, height;
|
||||
wlr_output_effective_resolution(output->wlr_output, &width, &height);
|
||||
|
||||
struct wlr_output_state output_state = {0};
|
||||
struct wlr_render_pass *pass = wlr_output_begin_render_pass(output->wlr_output, &output_state,
|
||||
NULL, NULL);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user