diff options
author | Simon Ser <contact@emersion.fr> | 2023-06-22 15:48:35 +0200 |
---|---|---|
committer | Alexander Orzechowski <alex@ozal.ski> | 2023-06-23 18:07:26 +0000 |
commit | be050979684ae8779a56e4b0166cfb21d1935d35 (patch) | |
tree | c4a77ff1363875abb59508b3b3a5cdff28dbb895 /examples/output-layout.c | |
parent | 8a5b5e6f28dae650df36a271213655b8bdf52dbf (diff) |
output: add wlr_output_state_init()
This changes the semantics of wlr_output_state. Instead of having
fields with uninitialized memory when missing from the committed
bitflag, all fields are always initialized (and maybe NULL/empty),
just like we do in wlr_surface_state. This reduces the chances of
footguns when reading a field, and removes the need to check for
the committed bitfield everywhere.
A new wlr_output_state_init() function takes care of initializing
the Pixman region.
Diffstat (limited to 'examples/output-layout.c')
-rw-r--r-- | examples/output-layout.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/examples/output-layout.c b/examples/output-layout.c index ee45c9c2..1cd7d6e9 100644 --- a/examples/output-layout.c +++ b/examples/output-layout.c @@ -114,7 +114,8 @@ static void output_frame_notify(struct wl_listener *listener, void *data) { struct sample_state *sample = output->sample; struct wlr_output *wlr_output = output->output; - struct wlr_output_state output_state = {0}; + struct wlr_output_state output_state; + wlr_output_state_init(&output_state); struct wlr_render_pass *pass = wlr_output_begin_render_pass(wlr_output, &output_state, NULL, NULL); wlr_render_pass_add_rect(pass, &(struct wlr_render_rect_options){ @@ -178,7 +179,8 @@ static void new_output_notify(struct wl_listener *listener, void *data) { struct wlr_output_mode *mode = wlr_output_preferred_mode(output); if (mode != NULL) { - struct wlr_output_state state = {0}; + struct wlr_output_state state; + wlr_output_state_init(&state); wlr_output_state_set_mode(&state, mode); wlr_output_commit_state(output, &state); wlr_output_state_finish(&state); |