diff options
author | Hugo Osvaldo Barrera <hugo@barrera.io> | 2022-06-29 21:38:24 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2022-07-01 13:05:58 +0200 |
commit | 75605491a54f8647740fdba75dd2ad7bae9e0ca7 (patch) | |
tree | f1d7476fbc893517ea01ed0f92841219f8b4808a /include/sway | |
parent | 9e8866ae20b0999b54fda9a52644ac937fedc0a1 (diff) | |
download | sway-75605491a54f8647740fdba75dd2ad7bae9e0ca7.tar.xz |
Reject font values that are invalid for pango
Use pango to parse font configuration early, and reject the command as
invalid if the value is invalid for pango. Since we're already parsing
the font into a `PangoFontDescription`, keep that instance around and
avoid re-parsing the font each time we render text.
Fixes: https://github.com/swaywm/sway/issues/6805
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/config.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/sway/config.h b/include/sway/config.h index 05678c33..8939af00 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -17,6 +17,7 @@ #include "sway/input/tablet.h" #include "sway/tree/root.h" #include "wlr-layer-shell-unstable-v1-protocol.h" +#include <pango/pangocairo.h> // TODO: Refactor this shit @@ -504,7 +505,8 @@ struct sway_config { char *floating_scroll_right_cmd; enum sway_container_layout default_orientation; enum sway_container_layout default_layout; - char *font; + char *font; // Use mostly for IPC. + PangoFontDescription *font_description; // Used internally for rendering and validating. int font_height; int font_baseline; bool pango_markup; |