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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user