swaynag: fix NULL font description

The font description was only set if provided on the CLI. It was
left NULL for the defaults and when reading from the config file.

Closes: https://github.com/swaywm/sway/issues/7186
This commit is contained in:
Simon Ser 2022-12-21 11:22:21 +01:00
parent 1ade0ce753
commit fd0af78e43

View File

@ -33,6 +33,8 @@ struct swaynag_type *swaynag_type_new(const char *name) {
void swaynag_types_add_default(list_t *types) { void swaynag_types_add_default(list_t *types) {
struct swaynag_type *type_defaults = swaynag_type_new("<defaults>"); struct swaynag_type *type_defaults = swaynag_type_new("<defaults>");
type_defaults->font = strdup("pango:Monospace 10"); type_defaults->font = strdup("pango:Monospace 10");
type_defaults->font_description =
pango_font_description_from_string(type_defaults->font);
type_defaults->anchors = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP type_defaults->anchors = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP
| ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT
| ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
@ -94,6 +96,10 @@ void swaynag_type_merge(struct swaynag_type *dest, struct swaynag_type *src) {
dest->font = strdup(src->font); dest->font = strdup(src->font);
} }
if (src->font_description) {
dest->font_description = pango_font_description_copy(src->font_description);
}
if (src->output) { if (src->output) {
dest->output = strdup(src->output); dest->output = strdup(src->output);
} }
@ -173,6 +179,7 @@ void swaynag_type_merge(struct swaynag_type *dest, struct swaynag_type *src) {
void swaynag_type_free(struct swaynag_type *type) { void swaynag_type_free(struct swaynag_type *type) {
free(type->name); free(type->name);
free(type->font); free(type->font);
pango_font_description_free(type->font_description);
free(type->output); free(type->output);
free(type); free(type);
} }