aboutsummaryrefslogtreecommitdiff
path: root/fontconfig/src
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-01-11 08:22:46 +0100
committermarha <marha@users.sourceforge.net>2013-01-11 08:22:46 +0100
commit0e1adc84d471955eaabe26486154e8ec44e91dd4 (patch)
treee2363fb022bfa7b730b0032b4c35379aa2a997d6 /fontconfig/src
parente59b1896b907c5ecfe184723d4c6adc2c20fa678 (diff)
parentddc05759f098f06bd93253a7bffe38640963dfb3 (diff)
downloadvcxsrv-0e1adc84d471955eaabe26486154e8ec44e91dd4.tar.gz
vcxsrv-0e1adc84d471955eaabe26486154e8ec44e91dd4.tar.bz2
vcxsrv-0e1adc84d471955eaabe26486154e8ec44e91dd4.zip
Merge remote-tracking branch 'origin/released'
* origin/released: fontconfig libX11 mesa mkfontscale xserver git update 11 jan 2013 Conflicts: mesalib/src/glsl/.gitignore mesalib/src/glsl/glcpp/.gitignore mesalib/src/mapi/glapi/gen/.gitignore mesalib/src/mesa/program/.gitignore
Diffstat (limited to 'fontconfig/src')
-rw-r--r--fontconfig/src/fcatomic.h12
-rw-r--r--fontconfig/src/fcint.h3
-rw-r--r--fontconfig/src/fcstr.c13
3 files changed, 24 insertions, 4 deletions
diff --git a/fontconfig/src/fcatomic.h b/fontconfig/src/fcatomic.h
index 72ae37280..a76431139 100644
--- a/fontconfig/src/fcatomic.h
+++ b/fontconfig/src/fcatomic.h
@@ -87,6 +87,18 @@ typedef int fc_atomic_int_t;
#define fc_atomic_ptr_cmpexch(P,O,N) __sync_bool_compare_and_swap ((P), (O), (N))
+#elif !defined(FC_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS)
+
+#include <atomic.h>
+#include <mbarrier.h>
+
+typedef unsigned int fc_atomic_int_t;
+#define fc_atomic_int_add(AI, V) ( ({__machine_rw_barrier ();}), atomic_add_int_nv (&(AI), (V)) - (V))
+
+#define fc_atomic_ptr_get(P) ( ({__machine_rw_barrier ();}), (void *) *(P))
+#define fc_atomic_ptr_cmpexch(P,O,N) ( ({__machine_rw_barrier ();}), atomic_cas_ptr ((P), (O), (N)) == (void *) (O) ? FcTrue : FcFalse)
+
+
#elif !defined(FC_NO_MT)
#define FC_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */
diff --git a/fontconfig/src/fcint.h b/fontconfig/src/fcint.h
index 3883bc96e..512926797 100644
--- a/fontconfig/src/fcint.h
+++ b/fontconfig/src/fcint.h
@@ -817,9 +817,6 @@ FcPrivate FcLangSet *
FcFreeTypeLangSet (const FcCharSet *charset,
const FcChar8 *exclusiveLang);
-FcPrivate FcChar8 *
-FcLangNormalize (const FcChar8 *lang);
-
FcPrivate FcLangResult
FcLangCompare (const FcChar8 *s1, const FcChar8 *s2);
diff --git a/fontconfig/src/fcstr.c b/fontconfig/src/fcstr.c
index cdab38397..414d6dd6b 100644
--- a/fontconfig/src/fcstr.c
+++ b/fontconfig/src/fcstr.c
@@ -1217,6 +1217,17 @@ FcStrSetDel (FcStrSet *set, const FcChar8 *s)
return FcFalse;
}
+/* TODO Make public */
+static FcStrSet *
+FcStrSetReference (FcStrSet *set)
+{
+ if (FcRefIsConst (&set->ref))
+ return set;
+
+ FcRefInc (&set->ref);
+ return set;
+}
+
void
FcStrSetDestroy (FcStrSet *set)
{
@@ -1245,7 +1256,7 @@ FcStrListCreate (FcStrSet *set)
if (!list)
return 0;
list->set = set;
- FcRefInc (&set->ref);
+ FcStrSetReference (set);
list->n = 0;
return list;
}