[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 5962d3c1b: * src/cache/ftccache.c (FTC_Cache_RemoveFa
From: |
Werner Lemberg |
Subject: |
[freetype2] master 5962d3c1b: * src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Remove nodes instantly. |
Date: |
Mon, 29 Apr 2024 22:38:15 -0400 (EDT) |
branch: master
commit 5962d3c1b928fa49980e795590c2263f949b8a07
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
* src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Remove nodes instantly.
---
src/cache/ftccache.c | 33 +++++++++------------------------
1 file changed, 9 insertions(+), 24 deletions(-)
diff --git a/src/cache/ftccache.c b/src/cache/ftccache.c
index 33a03486d..8a3d887f9 100644
--- a/src/cache/ftccache.c
+++ b/src/cache/ftccache.c
@@ -544,7 +544,6 @@
FTC_FaceID face_id )
{
FTC_Manager manager = cache->manager;
- FTC_Node frees = NULL;
FT_UFast count = cache->p;
FT_UFast i;
@@ -557,41 +556,27 @@
for (;;)
{
FTC_Node node = *pnode;
- FT_Bool list_changed = FALSE;
if ( !node )
break;
- if ( cache->clazz.node_remove_faceid( node, face_id,
- cache, &list_changed ) )
+ if ( cache->clazz.node_remove_faceid( node, face_id, cache, NULL ) )
{
- *pnode = node->link;
- node->link = frees;
- frees = node;
+ *pnode = node->link;
+
+ manager->cur_weight -= cache->clazz.node_weight( node, cache );
+ ftc_node_mru_unlink( node, manager );
+
+ cache->clazz.node_free( node, cache );
+
+ cache->slack++;
}
else
pnode = &node->link;
}
}
- /* remove all nodes in the free list */
- while ( frees )
- {
- FTC_Node node;
-
-
- node = frees;
- frees = node->link;
-
- manager->cur_weight -= cache->clazz.node_weight( node, cache );
- ftc_node_mru_unlink( node, manager );
-
- cache->clazz.node_free( node, cache );
-
- cache->slack++;
- }
-
ftc_cache_resize( cache );
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 5962d3c1b: * src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Remove nodes instantly.,
Werner Lemberg <=