Added a temporary work-around to lift the FreeType problem we're seeing a bit:

Turns out we are using a single FT_Face object for a given font size throughout the
app_server - but the FT_Face object is not designed for a multi-threaded access, AFAICT.
For example, it only has a single glyph slot, that we were using from different threads.
This fix does not cover the renderer, however, which also uses that shared object; IOW
even though it will crash less often it will still crash because of this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14543 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2005-10-27 16:33:35 +00:00
parent 0b3dc403c8
commit c2a52d2836
2 changed files with 47 additions and 11 deletions
+2 -1
View File
@@ -31,6 +31,7 @@
#include <Rect.h>
#include <Font.h>
#include <List.h>
#include <Locker.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include "SharedObject.h"
@@ -83,7 +84,7 @@ typedef struct
FontStyle objects help abstract a lot of the font engine details while
still offering plenty of information the style in question.
*/
class FontStyle : public SharedObject {
class FontStyle : public SharedObject, public BLocker {
public:
FontStyle(const char* filepath,
FT_Face face);