Author: lehmi
Date: Fri May 27 16:54:02 2016
New Revision: 1745774

URL: http://svn.apache.org/viewvc?rev=1745774&view=rev
Log:
PDFBOX-3267: synchronize render operation for thread safety

Modified:
    
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java

Modified: 
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java?rev=1745774&r1=1745773&r2=1745774&view=diff
==============================================================================
--- 
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java 
(original)
+++ 
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/Type1CharString.java 
Fri May 27 16:54:02 2016
@@ -87,9 +87,12 @@ public class Type1CharString
      */
     public Rectangle2D getBounds()
     {
-        if (path == null)
+        synchronized (fontName)
         {
-            render();
+            if (path == null)
+            {
+                render();
+            }
         }
         return path.getBounds2D();
     }
@@ -100,9 +103,12 @@ public class Type1CharString
      */
     public int getWidth()
     {
-        if (path == null)
+        synchronized (fontName)
         {
-          render();
+            if (path == null)
+            {
+                render();
+            }
         }
         return width;
     }
@@ -113,9 +119,12 @@ public class Type1CharString
      */
     public GeneralPath getPath()
     {
-        if (path == null)
+        synchronized (fontName)
         {
-          render();
+            if (path == null)
+            {
+                render();
+            }
         }
         return path;
     }


Reply via email to