diff options
Diffstat (limited to 'src/glibext')
-rw-r--r-- | src/glibext/buffercache.c | 32 | ||||
-rw-r--r-- | src/glibext/buffercache.h | 3 |
2 files changed, 34 insertions, 1 deletions
diff --git a/src/glibext/buffercache.c b/src/glibext/buffercache.c index 169c75e..2913409 100644 --- a/src/glibext/buffercache.c +++ b/src/glibext/buffercache.c @@ -1433,7 +1433,7 @@ BufferLineFlags g_buffer_cache_get_line_flags(const GBufferCache *cache, size_t * * * Paramètres : cache = tampon de lignes à venir consulter. * * index = indice de la ligne visée par la consultation. * -* flag = propriété à supprimer. * +* flag = propriété à supprimer. * * * * Description : Retire une propriété particulière attachée à une ligne. * * * @@ -1469,6 +1469,36 @@ void g_buffer_cache_remove_line_flag(GBufferCache *cache, size_t index, BufferLi /****************************************************************************** * * +* Paramètres : cache = tampon de lignes à venir consulter. * +* index = indice de la ligne visée par l'opération. * +* * +* Description : Force la mise à jour du contenu d'une ligne donnée. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_buffer_cache_refresh_line(GBufferCache *cache, size_t index) +{ + cache_info *info; /* Accès direct à une ligne */ + + // TODO : check lock + + assert(index < cache->used); + + info = &cache->lines[index]; + + reset_cache_info_line(info); + + g_signal_emit_by_name(cache, "line-updated", index); + +} + + +/****************************************************************************** +* * * Paramètres : cache = tampon de lignes à consulter. * * index = indice de la ligne recherchée. * * * diff --git a/src/glibext/buffercache.h b/src/glibext/buffercache.h index 7422c76..f0f54b0 100644 --- a/src/glibext/buffercache.h +++ b/src/glibext/buffercache.h @@ -108,6 +108,9 @@ BufferLineFlags g_buffer_cache_get_line_flags(const GBufferCache *, size_t); /* Retire une propriété particulière attachée à une ligne. */ void g_buffer_cache_remove_line_flag(GBufferCache *, size_t, BufferLineFlags); +/* Force la mise à jour du contenu d'une ligne donnée. */ +void g_buffer_cache_refresh_line(GBufferCache *, size_t); + #define g_buffer_cache_lock(c) #define g_buffer_cache_unlock(c) |