libbluray | branch: master | hpi1 <[email protected]> | Tue Apr 7 09:47:46 2015 +0300| [5879ed9627ce068355a4f2460b2dd0b1f398113f] | committer: hpi1
BDFontMetrics: fix crash in stringWidth() Calling this function from multiple threads caused crash in freetype. > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=5879ed9627ce068355a4f2460b2dd0b1f398113f --- src/libbluray/bdj/java/java/awt/BDFontMetrics.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libbluray/bdj/java/java/awt/BDFontMetrics.java b/src/libbluray/bdj/java/java/awt/BDFontMetrics.java index 217c0a2..d2a91dc 100644 --- a/src/libbluray/bdj/java/java/awt/BDFontMetrics.java +++ b/src/libbluray/bdj/java/java/awt/BDFontMetrics.java @@ -282,7 +282,12 @@ public class BDFontMetrics extends sun.font.FontDesignMetrics { * Return the width of the specified string in this Font. */ public synchronized int stringWidth(String string) { - return stringWidthN(ftFace, string); + /* Allow only one call at time. + * (calling this function from multiple threads caused crashes in freetype) + */ + synchronized (BDFontMetrics.class) { + return stringWidthN(ftFace, string); + } } /** _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
