DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13699>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13699

PDF-Renderer Not Threadsafe





------- Additional Comments From [EMAIL PROTECTED]  2002-10-25 12:51 -------
There are other parts, where 'synchronized' should be appended: 
  public static FopImage Make(String href)   
in class  FopImageFactory. 
This method searchs the url "href" in 
  private static Hashtable m_urlMap = new Hashtable();
...
// check if already created
FopImage imageObject = (FopImage)m_urlMap.get(href);
if (imageObject != null) // Concurrently testing threads begin 
                         // work in following lines
  return imageObject;
... // following lines

I tried to find the reason for exceptions in GifImage in line *) below:

// Should take care of the ColorSpace and bitsPerPixel
if  (this.m_width == 0)
  System.err.println ("this.m_width:  0  !");
if  (this.m_height == 0)
  System.err.println ("this.m_height:  0  !");
// On Exception we didn't get a message

this.m_bitmapsSize = this.m_width * this.m_height * 3;

if  (this.m_bitmapsSize == 0)
  System.err.println ("this.m_bitmapsSize:  0  !");

this.m_bitmaps = new byte[this.m_bitmapsSize];  

int p=0;
try  {
  for (int i = 0; i < this.m_height; i++) {
    for (int j = 0; j < this.m_width; j++) {
      p = tmpMap[i * this.m_width + j];
      int r = (p >> 16) & 0xFF;
      int g = (p >> 8) & 0xFF;
      int b = (p) & 0xFF;
      this.m_bitmaps[3 * (i * this.m_width + j)] = (byte)(r & 0xFF);  // *)
      this.m_bitmaps[3 * (i * this.m_width + j) + 1] = (byte)(g & 0xFF);
      this.m_bitmaps[3 * (i * this.m_width + j) + 2] = (byte)(b & 0xFF);
    }
  }  
}
catch (Exception e) {
  System.err.println ("Bytes:" + this.m_bitmapsSize);           
  System.err.println ("p:" + p);        
  System.err.println ("width:" + this.m_width);
  System.err.println ("height:" + this.m_height);
  e.printStackTrace ();
}

Output: 
  Bytes:0  :-((
  p:-1
  width:314
  height:109

Could that be?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to