diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-03-27 23:08:51 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-03-28 14:25:19 -0400 |
commit | 653853062f15639c97d02a8d67443506ce3af69d (patch) | |
tree | 07e8684778b2756b426ef747b985c1fa54b64c31 /swaybg | |
parent | Remove obsolete client code (diff) | |
download | sway-653853062f15639c97d02a8d67443506ce3af69d.tar.gz sway-653853062f15639c97d02a8d67443506ce3af69d.tar.zst sway-653853062f15639c97d02a8d67443506ce3af69d.zip |
Refactor configure/ack configure/commit flow
Diffstat (limited to 'swaybg')
-rw-r--r-- | swaybg/main.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/swaybg/main.c b/swaybg/main.c index 038b8ea6..62ddec6c 100644 --- a/swaybg/main.c +++ b/swaybg/main.c | |||
@@ -134,10 +134,6 @@ static void render_image(struct swaybg_state *state) { | |||
134 | } | 134 | } |
135 | 135 | ||
136 | static void render_frame(struct swaybg_state *state) { | 136 | static void render_frame(struct swaybg_state *state) { |
137 | if (!state->run_display) { | ||
138 | return; | ||
139 | } | ||
140 | |||
141 | state->current_buffer = get_next_buffer(state->shm, | 137 | state->current_buffer = get_next_buffer(state->shm, |
142 | state->buffers, state->width, state->height); | 138 | state->buffers, state->width, state->height); |
143 | cairo_t *cairo = state->current_buffer->cairo; | 139 | cairo_t *cairo = state->current_buffer->cairo; |
@@ -198,8 +194,8 @@ static void layer_surface_configure(void *data, | |||
198 | struct swaybg_state *state = data; | 194 | struct swaybg_state *state = data; |
199 | state->width = width; | 195 | state->width = width; |
200 | state->height = height; | 196 | state->height = height; |
201 | render_frame(state); | ||
202 | zwlr_layer_surface_v1_ack_configure(surface, serial); | 197 | zwlr_layer_surface_v1_ack_configure(surface, serial); |
198 | render_frame(state); | ||
203 | } | 199 | } |
204 | 200 | ||
205 | static void layer_surface_closed(void *data, | 201 | static void layer_surface_closed(void *data, |
@@ -280,6 +276,10 @@ int main(int argc, const char **argv) { | |||
280 | return 1; | 276 | return 1; |
281 | } | 277 | } |
282 | 278 | ||
279 | if (!prepare_context(&state)) { | ||
280 | return 1; | ||
281 | } | ||
282 | |||
283 | state.display = wl_display_connect(NULL); | 283 | state.display = wl_display_connect(NULL); |
284 | if (!state.display) { | 284 | if (!state.display) { |
285 | wlr_log(L_ERROR, "Failed to create display\n"); | 285 | wlr_log(L_ERROR, "Failed to create display\n"); |
@@ -323,12 +323,7 @@ int main(int argc, const char **argv) { | |||
323 | wl_surface_commit(state.surface); | 323 | wl_surface_commit(state.surface); |
324 | wl_display_roundtrip(state.display); | 324 | wl_display_roundtrip(state.display); |
325 | 325 | ||
326 | if (!prepare_context(&state)) { | ||
327 | return 1; | ||
328 | } | ||
329 | |||
330 | state.run_display = true; | 326 | state.run_display = true; |
331 | render_frame(&state); | ||
332 | while (wl_display_dispatch(state.display) != -1 && state.run_display) { | 327 | while (wl_display_dispatch(state.display) != -1 && state.run_display) { |
333 | // This space intentionally left blank | 328 | // This space intentionally left blank |
334 | } | 329 | } |