diff options
| author | Kenny Levinsen <kl@kl.wtf> | 2024-11-17 21:43:31 +0100 |
|---|---|---|
| committer | Alexander Orzechowski <alex@ozal.ski> | 2024-11-17 16:03:35 -0500 |
| commit | 5312376077254d6431bb92ba22de3840b9933f67 (patch) | |
| tree | 868e6e7f2291ebd8363a606d41bcf25c9b2b4202 /common/stringop.c | |
| parent | fec3da7d58c06421355e4b3dd1dcf291fd20627c (diff) | |
desktop/output: Clear repaint timer earlier in destroy
The teardown of a sway_output is split in two: begin_destroy and
output_destroy. The former clears some state such as NULL'ing the
reference to wlr_output, while the latter frees the struct and its
remaining resources.
If an output is destroyed while a repaint timer is pending, future frame
callbacks will no longer occur as the listener is torn down in
begin_destroy, but the repaint timer is not torn down and may still
fire until output_destroy is hit. As begin_destroy cleared the reference
to wlr_output, this leads to a NULL-pointer dereference.
Tear down the repaint timer in begin_destroy as there is no need for it.
Fixes: fdc4318ac66d ("desktop/output: Clear frame_pending even output is disabled")
Diffstat (limited to 'common/stringop.c')
0 files changed, 0 insertions, 0 deletions
