diff --git a/eek/eek-renderer.c b/eek/eek-renderer.c index 9a9f3a98..7d2aa981 100644 --- a/eek/eek-renderer.c +++ b/eek/eek-renderer.c @@ -276,14 +276,12 @@ calculate_font_size_key_callback (EekElement *element, gpointer user_data) gdouble size; EekSymbol *symbol; EekBounds bounds; - gchar *label = NULL; + gchar *label = "M"; symbol = eek_key_get_symbol (EEK_KEY(element)); if (symbol && eek_symbol_get_category (symbol) == EEK_SYMBOL_CATEGORY_LETTER) label = eek_symbol_get_label (symbol); - if (!label) - label = g_strdup ("M"); base_font = pango_context_get_font_description (priv->pcontext); font = pango_font_description_copy (base_font); @@ -296,7 +294,6 @@ calculate_font_size_key_callback (EekElement *element, gpointer user_data) pango_font_description_free (font); pango_layout_set_text (layout, label, -1); - g_free (label); pango_layout_get_extents (layout, NULL, &extents); g_object_unref (layout); @@ -495,7 +492,6 @@ eek_renderer_real_render_key_label (EekRenderer *self, pango_font_description_set_size (font, size * priv->scale * scale); pango_layout_set_font_description (layout, font); pango_layout_set_text (layout, label, -1); - g_free (label); pango_layout_set_width (layout, PANGO_SCALE * bounds.width * priv->scale * scale); pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END); diff --git a/eek/eek-symbol.c b/eek/eek-symbol.c index 78f16077..b53b610c 100644 --- a/eek/eek-symbol.c +++ b/eek/eek-symbol.c @@ -277,7 +277,7 @@ eek_symbol_set_label (EekSymbol *symbol, priv->label = g_strdup (label); } -gchar * +G_CONST_RETURN gchar * eek_symbol_get_label (EekSymbol *symbol) { EekSymbolPrivate *priv; @@ -287,7 +287,7 @@ eek_symbol_get_label (EekSymbol *symbol) priv = EEK_SYMBOL_GET_PRIVATE(symbol); if (priv->label == NULL || *priv->label == '\0') return NULL; - return g_strdup (priv->label); + return priv->label; } /** diff --git a/eek/eek-symbol.h b/eek/eek-symbol.h index 24fd8f1b..5ff4d852 100644 --- a/eek/eek-symbol.h +++ b/eek/eek-symbol.h @@ -93,7 +93,7 @@ void eek_symbol_set_name (EekSymbol *symbol, G_CONST_RETURN gchar *eek_symbol_get_name (EekSymbol *symbol); void eek_symbol_set_label (EekSymbol *symbol, const gchar *label); -gchar *eek_symbol_get_label (EekSymbol *symbol); +G_CONST_RETURN gchar *eek_symbol_get_label (EekSymbol *symbol); void eek_symbol_set_category (EekSymbol *symbol, EekSymbolCategory category); EekSymbolCategory eek_symbol_get_category (EekSymbol *symbol);