summaryrefslogtreecommitdiff
path: root/cogl/cogl-pango
diff options
context:
space:
mode:
authorRobert Mader <robert.mader@posteo.de>2020-10-18 13:46:08 +0200
committerRobert Mader <robert.mader@posteo.de>2021-02-22 13:51:30 +0100
commitdf4508e8cf990762a6f3d1bbc8fe2256efb7c533 (patch)
tree64fb825c916f6e8c0fe0ffd86595b09d620b3087 /cogl/cogl-pango
parentddca606b58dad442fc3267c8c5148a2397cd3ad0 (diff)
downloadmutter-df4508e8cf990762a6f3d1bbc8fe2256efb7c533.tar.gz
cogl: Stop using GSlice
It has been inofficially deprecated for years, is known to cause issues with valgrind and potentially hides memory corruption. Lets stop using it. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1512>
Diffstat (limited to 'cogl/cogl-pango')
-rw-r--r--cogl/cogl-pango/cogl-pango-display-list.c12
-rw-r--r--cogl/cogl-pango/cogl-pango-glyph-cache.c8
-rw-r--r--cogl/cogl-pango/cogl-pango-pipeline-cache.c8
-rw-r--r--cogl/cogl-pango/cogl-pango-render.c4
4 files changed, 16 insertions, 16 deletions
diff --git a/cogl/cogl-pango/cogl-pango-display-list.c b/cogl/cogl-pango/cogl-pango-display-list.c
index 2e5b6414f..44db4c472 100644
--- a/cogl/cogl-pango/cogl-pango-display-list.c
+++ b/cogl/cogl-pango/cogl-pango-display-list.c
@@ -100,7 +100,7 @@ struct _CoglPangoDisplayListNode
CoglPangoDisplayList *
_cogl_pango_display_list_new (CoglPangoPipelineCache *pipeline_cache)
{
- CoglPangoDisplayList *dl = g_slice_new0 (CoglPangoDisplayList);
+ CoglPangoDisplayList *dl = g_new0 (CoglPangoDisplayList, 1);
dl->pipeline_cache = pipeline_cache;
@@ -161,7 +161,7 @@ _cogl_pango_display_list_add_texture (CoglPangoDisplayList *dl,
else
{
/* Otherwise create a new node */
- node = g_slice_new (CoglPangoDisplayListNode);
+ node = g_new0 (CoglPangoDisplayListNode, 1);
node->type = COGL_PANGO_DISPLAY_LIST_TEXTURE;
node->color_override = dl->color_override;
@@ -195,7 +195,7 @@ _cogl_pango_display_list_add_rectangle (CoglPangoDisplayList *dl,
float x_1, float y_1,
float x_2, float y_2)
{
- CoglPangoDisplayListNode *node = g_slice_new (CoglPangoDisplayListNode);
+ CoglPangoDisplayListNode *node = g_new0 (CoglPangoDisplayListNode, 1);
node->type = COGL_PANGO_DISPLAY_LIST_RECTANGLE;
node->color_override = dl->color_override;
@@ -219,7 +219,7 @@ _cogl_pango_display_list_add_trapezoid (CoglPangoDisplayList *dl,
float x_22)
{
CoglContext *ctx = dl->pipeline_cache->ctx;
- CoglPangoDisplayListNode *node = g_slice_new (CoglPangoDisplayListNode);
+ CoglPangoDisplayListNode *node = g_new0 (CoglPangoDisplayListNode, 1);
CoglVertexP2 vertices[4] = {
{ x_11, y_1 },
{ x_12, y_2 },
@@ -470,7 +470,7 @@ _cogl_pango_display_list_node_free (CoglPangoDisplayListNode *node)
if (node->pipeline)
cogl_object_unref (node->pipeline);
- g_slice_free (CoglPangoDisplayListNode, node);
+ g_free (node);
}
void
@@ -486,5 +486,5 @@ void
_cogl_pango_display_list_free (CoglPangoDisplayList *dl)
{
_cogl_pango_display_list_clear (dl);
- g_slice_free (CoglPangoDisplayList, dl);
+ g_free (dl);
}
diff --git a/cogl/cogl-pango/cogl-pango-glyph-cache.c b/cogl/cogl-pango/cogl-pango-glyph-cache.c
index 10b73d752..47550491c 100644
--- a/cogl/cogl-pango/cogl-pango-glyph-cache.c
+++ b/cogl/cogl-pango/cogl-pango-glyph-cache.c
@@ -77,14 +77,14 @@ cogl_pango_glyph_cache_value_free (CoglPangoGlyphCacheValue *value)
{
if (value->texture)
cogl_object_unref (value->texture);
- g_slice_free (CoglPangoGlyphCacheValue, value);
+ g_free (value);
}
static void
cogl_pango_glyph_cache_key_free (CoglPangoGlyphCacheKey *key)
{
g_object_unref (key->font);
- g_slice_free (CoglPangoGlyphCacheKey, key);
+ g_free (key);
}
static unsigned int
@@ -326,7 +326,7 @@ cogl_pango_glyph_cache_lookup (CoglPangoGlyphCache *cache,
CoglPangoGlyphCacheKey *key;
PangoRectangle ink_rect;
- value = g_slice_new (CoglPangoGlyphCacheValue);
+ value = g_new0 (CoglPangoGlyphCacheValue, 1);
value->texture = NULL;
pango_font_get_glyph_extents (font, glyph, &ink_rect, NULL);
@@ -362,7 +362,7 @@ cogl_pango_glyph_cache_lookup (CoglPangoGlyphCache *cache,
cache->has_dirty_glyphs = TRUE;
}
- key = g_slice_new (CoglPangoGlyphCacheKey);
+ key = g_new0 (CoglPangoGlyphCacheKey, 1);
key->font = g_object_ref (font);
key->glyph = glyph;
diff --git a/cogl/cogl-pango/cogl-pango-pipeline-cache.c b/cogl/cogl-pango/cogl-pango-pipeline-cache.c
index fdc340908..566a1b079 100644
--- a/cogl/cogl-pango/cogl-pango-pipeline-cache.c
+++ b/cogl/cogl-pango/cogl-pango-pipeline-cache.c
@@ -69,7 +69,7 @@ _cogl_pango_pipeline_cache_value_destroy (void *data)
/* We don't need to unref the pipeline because it only takes a weak
reference */
- g_slice_free (CoglPangoPipelineCacheEntry, cache_entry);
+ g_free (cache_entry);
}
CoglPangoPipelineCache *
@@ -164,7 +164,7 @@ pipeline_destroy_notify_cb (void *user_data)
PipelineDestroyNotifyData *data = user_data;
g_hash_table_remove (data->cache->hash_table, data->texture);
- g_slice_free (PipelineDestroyNotifyData, data);
+ g_free (data);
}
CoglPipeline *
@@ -182,7 +182,7 @@ _cogl_pango_pipeline_cache_get (CoglPangoPipelineCache *cache,
return cogl_object_ref (entry->pipeline);
/* No existing pipeline was found so let's create another */
- entry = g_slice_new (CoglPangoPipelineCacheEntry);
+ entry = g_new0 (CoglPangoPipelineCacheEntry, 1);
if (texture)
{
@@ -207,7 +207,7 @@ _cogl_pango_pipeline_cache_get (CoglPangoPipelineCache *cache,
/* Add a weak reference to the pipeline so we can remove it from the
hash table when it is destroyed */
- destroy_data = g_slice_new (PipelineDestroyNotifyData);
+ destroy_data = g_new0 (PipelineDestroyNotifyData, 1);
destroy_data->cache = cache;
destroy_data->texture = texture;
cogl_object_set_user_data (COGL_OBJECT (entry->pipeline),
diff --git a/cogl/cogl-pango/cogl-pango-render.c b/cogl/cogl-pango/cogl-pango-render.c
index 07ba0ca4b..108925aeb 100644
--- a/cogl/cogl-pango/cogl-pango-render.c
+++ b/cogl/cogl-pango/cogl-pango-render.c
@@ -365,7 +365,7 @@ cogl_pango_render_qdata_destroy (CoglPangoLayoutQdata *qdata)
cogl_pango_layout_qdata_forget_display_list (qdata);
if (qdata->first_line)
pango_layout_line_unref (qdata->first_line);
- g_slice_free (CoglPangoLayoutQdata, qdata);
+ g_free (qdata);
}
void
@@ -389,7 +389,7 @@ cogl_pango_show_layout (CoglFramebuffer *fb,
if (qdata == NULL)
{
- qdata = g_slice_new0 (CoglPangoLayoutQdata);
+ qdata = g_new0 (CoglPangoLayoutQdata, 1);
qdata->renderer = priv;
g_object_set_qdata_full (G_OBJECT (layout),
cogl_pango_layout_get_qdata_key (),