aboutsummaryrefslogtreecommitdiff
path: root/examples/touch.c
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2023-06-22 15:48:35 +0200
committerAlexander Orzechowski <alex@ozal.ski>2023-06-23 18:07:26 +0000
commitbe050979684ae8779a56e4b0166cfb21d1935d35 (patch)
treec4a77ff1363875abb59508b3b3a5cdff28dbb895 /examples/touch.c
parent8a5b5e6f28dae650df36a271213655b8bdf52dbf (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/touch.c')
-rw-r--r--examples/touch.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/examples/touch.c b/examples/touch.c
index ab2e80ce..c054fea9 100644
--- a/examples/touch.c
+++ b/examples/touch.c
@@ -76,7 +76,8 @@ static void output_frame_notify(struct wl_listener *listener, void *data) {
int32_t width, height;
wlr_output_effective_resolution(wlr_output, &width, &height);
- 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){
.box = { .width = width, .height = height },
@@ -184,7 +185,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);