[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/FreetypeGlyphsProvider.c...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/FreetypeGlyphsProvider.c... |
Date: |
Mon, 26 May 2008 21:41:36 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/05/26 21:41:36
Modified files:
. : ChangeLog
server : FreetypeGlyphsProvider.cpp
FreetypeGlyphsProvider.h
Log message:
mutex-protect access to static Freetype lib.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6712&r2=1.6713
http://cvs.savannah.gnu.org/viewcvs/gnash/server/FreetypeGlyphsProvider.cpp?cvsroot=gnash&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/gnash/server/FreetypeGlyphsProvider.h?cvsroot=gnash&r1=1.9&r2=1.10
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6712
retrieving revision 1.6713
diff -u -b -r1.6712 -r1.6713
--- ChangeLog 26 May 2008 21:40:20 -0000 1.6712
+++ ChangeLog 26 May 2008 21:41:35 -0000 1.6713
@@ -1,5 +1,10 @@
2008-05-26 Sandro Santilli <address@hidden>
+ * server/FreetypeGlyphsProvider.{cpp,h}: mutex-protect access to
+ static Freetype lib.
+
+2008-05-26 Sandro Santilli <address@hidden>
+
* libmedia/ffmpeg/sound_handler_sdl.cpp: add some missing lockings.
* server/asobj/NetStreamFfmpeg.cpp (seek): seek time is given in
second, not milliseconds...
Index: server/FreetypeGlyphsProvider.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/FreetypeGlyphsProvider.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- server/FreetypeGlyphsProvider.cpp 29 Apr 2008 11:29:02 -0000 1.24
+++ server/FreetypeGlyphsProvider.cpp 26 May 2008 21:41:35 -0000 1.25
@@ -181,12 +181,17 @@
};
-// static
-FT_Library FreetypeGlyphsProvider::m_lib;
+// statics
+FT_Library FreetypeGlyphsProvider::m_lib = 0;
+boost::mutex FreetypeGlyphsProvider::m_lib_mutex;
// static private
void FreetypeGlyphsProvider::init()
{
+ boost::mutex::scoped_lock lock(m_lib_mutex);
+
+ if ( m_lib ) return; // nothing to do
+
int error = FT_Init_FreeType(&m_lib);
if (error)
{
Index: server/FreetypeGlyphsProvider.h
===================================================================
RCS file: /sources/gnash/gnash/server/FreetypeGlyphsProvider.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/FreetypeGlyphsProvider.h 17 Apr 2008 16:24:07 -0000 1.9
+++ server/FreetypeGlyphsProvider.h 26 May 2008 21:41:35 -0000 1.10
@@ -24,6 +24,7 @@
#include <string>
#include <memory> // for auto_ptr
+#include <boost/thread/mutex.hpp>
#ifdef USE_FREETYPE
# include <ft2build.h>
@@ -151,6 +152,7 @@
bool getFontFilename(const std::string& name, bool bold, bool italic,
std::string& filename);
+ /// Initialize the FreeType library if not done so yet
static void init();
static void close();
@@ -162,7 +164,12 @@
std::auto_ptr<image::alpha> draw_bitmap(const FT_Bitmap& bitmap);
+ /// Mutex protecting FreeType library (for initialization basically)
+ static boost::mutex m_lib_mutex;
+
+ /// FreeType library
static FT_Library m_lib;
+
FT_Face m_face;
#endif // USE_FREETYPE
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/FreetypeGlyphsProvider.c...,
Sandro Santilli <=