libeek: fix memory leak
This commit is contained in:
@ -99,9 +99,12 @@ egf_key_callback (EekElement *element,
|
|||||||
|
|
||||||
eek_element_get_bounds (EEK_ELEMENT(key), &bounds);
|
eek_element_get_bounds (EEK_ELEMENT(key), &bounds);
|
||||||
label = eek_keysym_to_string (keysym);
|
label = eek_keysym_to_string (keysym);
|
||||||
|
if (!label)
|
||||||
|
return;
|
||||||
font_size = get_font_size (label, &bounds, data->layout);
|
font_size = get_font_size (label, &bounds, data->layout);
|
||||||
if (font_size < data->font_size && font_size >= data->minimum_font_size)
|
if (font_size < data->font_size && font_size >= data->minimum_font_size)
|
||||||
data->font_size = font_size;
|
data->font_size = font_size;
|
||||||
|
g_free (label);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -242,6 +245,7 @@ eek_draw_key_label (cairo_t *cr,
|
|||||||
(bounds.width - logical_rect.width / PANGO_SCALE) / 2,
|
(bounds.width - logical_rect.width / PANGO_SCALE) / 2,
|
||||||
(bounds.height - logical_rect.height / PANGO_SCALE) / 2);
|
(bounds.height - logical_rect.height / PANGO_SCALE) / 2);
|
||||||
pango_cairo_show_layout (cr, layout);
|
pango_cairo_show_layout (cr, layout);
|
||||||
|
g_free (label);
|
||||||
g_object_unref (layout);
|
g_object_unref (layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -302,6 +302,7 @@ on_expose_event (GtkWidget *widget,
|
|||||||
base_font = gtk_widget_get_style (priv->widget)->font_desc;
|
base_font = gtk_widget_get_style (priv->widget)->font_desc;
|
||||||
pango_layout_set_font_description (layout, base_font);
|
pango_layout_set_font_description (layout, base_font);
|
||||||
eek_get_fonts (EEK_KEYBOARD(keyboard), layout, priv->fonts);
|
eek_get_fonts (EEK_KEYBOARD(keyboard), layout, priv->fonts);
|
||||||
|
g_object_unref (layout);
|
||||||
|
|
||||||
prepare_keyboard_pixmap (keyboard);
|
prepare_keyboard_pixmap (keyboard);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user