Branch: Tag:

2000-12-11

2000-12-11 12:49:58 by Per Hedbor <ph@opera.com>

Better lock handling

Rev: server/font_handlers/builtin.pike:1.7

4:   #else   inherit "ttf";   #endif - constant cvs_version = "$Id: builtin.pike,v 1.6 2000/12/11 10:44:34 per Exp $"; + constant cvs_version = "$Id: builtin.pike,v 1.7 2000/12/11 12:49:58 per Exp $";      constant name = "Builtin fonts";   constant doc = "Fonts included in pike (and roxen)";
65:    switch( replace(lower_case(name)," ","_")-"_" )    {    case "roxenbuiltin": -  object key; +    #if constant(__rbf) && constant(grbf) -  +  object key = lock->lock();   #if constant(Image.FreeType.Face) -  if( !roxenbuiltin ) -  { - #ifdef THREADS -  key = lock->lock(); - #endif -  catch(roxenbuiltin = grbf()); -  } -  if( roxenbuiltin ) -  return FTFont( roxenbuiltin, size, "-" ); +  if( !roxenbuiltin ) catch(roxenbuiltin = grbf()); +  if( roxenbuiltin ) return FTFont( roxenbuiltin, size, "-" );   #else -  if( !roxenbuiltin ) -  catch(roxenbuiltin = grbf()); -  if( roxenbuiltin ) -  return TTFWrapper( roxenbuiltin(), size, "-" ); +  if( !roxenbuiltin ) catch(roxenbuiltin = grbf()); +  if( roxenbuiltin ) return TTFWrapper( roxenbuiltin(), size, "-" );   #endif   #endif    case "pikebuiltin":    return Image.Font();    }   }