diff options
author | Simon Ser <contact@emersion.fr> | 2023-01-20 23:11:22 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-01-21 14:16:21 +0100 |
commit | 36f627d0fadf1d00e45662359246dad9a40c7a7f (patch) | |
tree | 7d5eff0f8890edc933bf35cc06896d61228e8db6 | |
parent | focus_on_window_activation: raise if floating (diff) | |
download | sway-36f627d0fadf1d00e45662359246dad9a40c7a7f.tar.gz sway-36f627d0fadf1d00e45662359246dad9a40c7a7f.tar.zst sway-36f627d0fadf1d00e45662359246dad9a40c7a7f.zip |
Check return value of wlr_renderer_begin()
Since [1], wlr_renderer_begin() can fail. Check its return value
and bail.
This fixes an assertion error (when begin() fails and then we try
to render something) after a GPU reset.
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/a541c9510a4cf544313bc9b0503d75820b42444e
-rw-r--r-- | sway/desktop/render.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 4d242bd7..2b7214c3 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c | |||
@@ -1044,7 +1044,9 @@ void output_render(struct sway_output *output, struct timespec *when, | |||
1044 | fullscreen_con = workspace->current.fullscreen; | 1044 | fullscreen_con = workspace->current.fullscreen; |
1045 | } | 1045 | } |
1046 | 1046 | ||
1047 | wlr_renderer_begin(renderer, wlr_output->width, wlr_output->height); | 1047 | if (!wlr_renderer_begin(renderer, wlr_output->width, wlr_output->height)) { |
1048 | return; | ||
1049 | } | ||
1048 | 1050 | ||
1049 | if (debug.damage == DAMAGE_RERENDER) { | 1051 | if (debug.damage == DAMAGE_RERENDER) { |
1050 | int width, height; | 1052 | int width, height; |