[gnome-font-viewer] font-model: avoid unneeded memory allocations
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-font-viewer] font-model: avoid unneeded memory allocations
- Date: Thu, 4 Jul 2019 23:10:00 +0000 (UTC)
commit fddd46a94262f9ee092c2789b8352663a95b4351
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Thu Jul 4 14:35:24 2019 -0700
font-model: avoid unneeded memory allocations
Store the match name upfront instead of re-allocating it every time.
src/font-model.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/src/font-model.c b/src/font-model.c
index 210e4f4..2d56125 100644
--- a/src/font-model.c
+++ b/src/font-model.c
@@ -84,7 +84,7 @@ G_DEFINE_TYPE_WITH_PRIVATE (FontViewModel, font_view_model,
typedef struct {
const gchar *file;
- FT_Face face;
+ gchar *match_name;
GtkTreeIter iter;
gboolean found;
} IterForFaceData;
@@ -96,17 +96,14 @@ iter_for_face_foreach (GtkTreeModel *model,
gpointer user_data)
{
IterForFaceData *data = user_data;
- gchar *font_name, *match_name;
+ gchar *font_name;
gboolean retval;
gtk_tree_model_get (GTK_TREE_MODEL (model), iter,
COLUMN_NAME, &font_name,
-1);
- match_name = font_utils_get_font_name (data->face);
- retval = (g_strcmp0 (font_name, match_name) == 0);
-
- g_free (match_name);
+ retval = (g_strcmp0 (font_name, data->match_name) == 0);
g_free (font_name);
if (retval) {
@@ -125,7 +122,7 @@ font_view_model_get_iter_for_face (FontViewModel *self,
IterForFaceData *data = g_slice_new0 (IterForFaceData);
gboolean found;
- data->face = face;
+ data->match_name = font_utils_get_font_name (face);
data->found = FALSE;
gtk_tree_model_foreach (GTK_TREE_MODEL (self),
@@ -136,6 +133,7 @@ font_view_model_get_iter_for_face (FontViewModel *self,
if (found && iter)
*iter = data->iter;
+ g_free (data->match_name);
g_slice_free (IterForFaceData, data);
return found;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]