diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f6a26d5..b1c7bb32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,11 +106,15 @@ auto-detection ([#1465][1465]). * Crash when `XDG_ACTIVATION_TOKEN` is set, but compositor does not support XDG activation ([#1493][1493]). +* Crash when compositor calls `fractional_scale::preferred_scale()` + when there are no monitors (for example, after a monitor has been + turned off and then back on again) ([#1498][1498]). [1436]: https://codeberg.org/dnkl/foot/issues/1436 [1464]: https://codeberg.org/dnkl/foot/issues/1464 [1465]: https://codeberg.org/dnkl/foot/issues/1465 [1493]: https://codeberg.org/dnkl/foot/pulls/1493 +[1498]: https://codeberg.org/dnkl/foot/issues/1498 ### Security diff --git a/terminal.c b/terminal.c index 1b082100..06f47685 100644 --- a/terminal.c +++ b/terminal.c @@ -826,9 +826,9 @@ get_font_dpi(const struct terminal *term) : &tll_front(term->wl->monitors); if (term_fractional_scaling(term)) - return mon->dpi.physical; + return mon != NULL ? mon->dpi.physical : 96.; else - return mon->dpi.scaled; + return mon != NULL ? mon->dpi.scaled : 96.; } static enum fcft_subpixel