summaryrefslogtreecommitdiff
path: root/src/glibext
diff options
context:
space:
mode:
Diffstat (limited to 'src/glibext')
-rw-r--r--src/glibext/buffercache.c32
-rw-r--r--src/glibext/buffercache.h3
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)