[pango/threadsafe-failed-attempt: 2/11] Use threadsafe hashtable in PangoContext font cache
- From: Behdad Esfahbod <behdad src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/threadsafe-failed-attempt: 2/11] Use threadsafe hashtable in PangoContext font cache
- Date: Thu, 15 Nov 2012 19:17:45 +0000 (UTC)
commit dfc1726f91d14d4af94a8959f63a492c94ee7b32
Author: Behdad Esfahbod <behdad behdad org>
Date: Mon Oct 15 18:10:42 2012 -0500
Use threadsafe hashtable in PangoContext font cache
pango/pango-context.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
---
diff --git a/pango/pango-context.c b/pango/pango-context.c
index 341f92a..8ae0141 100644
--- a/pango/pango-context.c
+++ b/pango/pango-context.c
@@ -30,6 +30,7 @@
#include "pango-engine-private.h"
#include "pango-modules.h"
#include "pango-script-private.h"
+#include "pango-threadsafe.h"
struct _PangoContext
{
@@ -560,7 +561,7 @@ advance_attr_iterator_to (PangoAttrIterator *iterator,
***************************************************************************/
typedef struct {
- GHashTable *hash;
+ PHashTable *hash;
} ShaperFontCache;
typedef struct {
@@ -571,7 +572,7 @@ typedef struct {
static void
shaper_font_cache_destroy (ShaperFontCache *cache)
{
- g_hash_table_destroy (cache->hash);
+ p_hash_table_destroy (cache->hash);
g_slice_free (ShaperFontCache, cache);
}
@@ -599,7 +600,7 @@ retry:
if (G_UNLIKELY (!cache))
{
cache = g_slice_new (ShaperFontCache);
- cache->hash = g_hash_table_new_full (g_direct_hash, NULL,
+ cache->hash = p_hash_table_new_full (g_direct_hash, NULL,
NULL, (GDestroyNotify)shaper_font_element_destroy);
if (!g_object_replace_qdata (G_OBJECT (fontset), cache_quark, NULL,
cache, (GDestroyNotify)shaper_font_cache_destroy,
@@ -621,7 +622,7 @@ shaper_font_cache_get (ShaperFontCache *cache,
{
ShaperFontElement *element;
- element = g_hash_table_lookup (cache->hash, GUINT_TO_POINTER (wc));
+ element = p_hash_table_lookup (cache->hash, GUINT_TO_POINTER (wc));
if (element)
{
*shape_engine = element->shape_engine;
@@ -643,7 +644,7 @@ shaper_font_cache_insert (ShaperFontCache *cache,
element->shape_engine = shape_engine ? g_object_ref (shape_engine) : NULL;
element->font = font ? g_object_ref (font) : NULL;
- g_hash_table_insert (cache->hash, GUINT_TO_POINTER (wc), element);
+ p_hash_table_insert (cache->hash, GUINT_TO_POINTER (wc), element);
}
/**********************************************************************/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]