summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorManuel Stoeckl <code@mstoeckl.com>2024-05-21 12:15:35 -0400
committerSimon Ser <contact@emersion.fr>2024-05-21 18:28:45 +0200
commit469d9d4d77a91d41cda517ea0a5ecca3ffd6eb20 (patch)
treef16fee9e8f2fefe7abc5585b84737d20b512b2aa /main.c
parent4262e0198957d1c1523f266beb7e79dc3d27f852 (diff)
downloadswaybg-469d9d4d77a91d41cda517ea0a5ecca3ffd6eb20.tar.gz
swaybg-469d9d4d77a91d41cda517ea0a5ecca3ffd6eb20.tar.bz2
Fix crash when new output added
Calling get_buffer_size on a newly created swaybg_output, before a config is assigned to a swaybg_output, is unnecessary and yields a null pointer dereference.
Diffstat (limited to '')
-rw-r--r--main.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/main.c b/main.c
index fc6725e..1f51cf4 100644
--- a/main.c
+++ b/main.c
@@ -653,12 +653,14 @@ int main(int argc, char **argv) {
output->configure_serial);
}
- uint32_t buffer_width, buffer_height;
- get_buffer_size(output, &buffer_width, &buffer_height);
- bool buffer_change = output->buffer_width != buffer_width ||
- output->buffer_height != buffer_height;
- if (output->dirty && output->config->image && buffer_change) {
- output->config->image->load_required = true;
+ if (output->dirty) {
+ uint32_t buffer_width, buffer_height;
+ get_buffer_size(output, &buffer_width, &buffer_height);
+ bool buffer_change = output->buffer_width != buffer_width ||
+ output->buffer_height != buffer_height;
+ if (output->config->image && buffer_change) {
+ output->config->image->load_required = true;
+ }
}
}