diff --git a/src/text_font_freetype2.c b/src/text_font_freetype2.c index 1fb133b..f21d987 100644 --- a/src/text_font_freetype2.c +++ b/src/text_font_freetype2.c @@ -495,7 +495,6 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) } } - memcpy(attr, &face->real_attr, sizeof(*attr)); kmscon_dlist_link(&manager__list, &face->list); *out = face; ret = 0; @@ -578,6 +577,7 @@ static int kmscon_font_freetype2_init(struct kmscon_font *out, ret = manager_get_face(&face, &out->attr); if (ret) return ret; + memcpy(&out->attr, &face->real_attr, sizeof(out->attr)); out->baseline = face->baseline; /* Shrinking is done to get a better width-value for fonts. As not all diff --git a/src/text_font_pango.c b/src/text_font_pango.c index 1265f4d..2108487 100644 --- a/src/text_font_pango.c +++ b/src/text_font_pango.c @@ -320,7 +320,6 @@ static int manager_get_face(struct face **out, struct kmscon_font_attr *attr) } } - memcpy(attr, &face->real_attr, sizeof(*attr)); kmscon_dlist_link(&manager__list, &face->list); *out = face; ret = 0; @@ -370,6 +369,7 @@ static int kmscon_font_pango_init(struct kmscon_font *out, ret = manager_get_face(&face, &out->attr); if (ret) return ret; + memcpy(&out->attr, &face->real_attr, sizeof(out->attr)); out->baseline = face->baseline; out->data = face;