title: CGContextSetFillColorWithColor: invalid context 0x0
body: <p>CGContextSetFillColorWithColor: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context  and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.</p>
  
  <p>I'm getting the error from the [color setFill] line of this method.  Any ideas on how I can resolve it?</p>
  
  <pre><code>+ (UIImage *)fillImage:(UIImage*)image withColor:(UIColor *)color
  {
  
      // begin a new image context, to draw our colored image onto
      UIGraphicsBeginImageContextWithOptions(image.size, NO, [[UIScreen mainScreen] scale]);
  
      // get a reference to that context we created
      CGContextRef context = UIGraphicsGetCurrentContext();
  
      // set the fill color
      [color setFill];
  
      // translate/flip the graphics context (for transforming from CG* coords to UI* coords
      CGContextTranslateCTM(context, 0, image.size.height);
      CGContextScaleCTM(context, 1.0, -1.0);
  
      // set the blend mode to overlay, and the original image
      CGContextSetBlendMode(context, kCGBlendModeOverlay);
      CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);
      //if(overlay) CGContextDrawImage(context, rect, img.CGImage);
  
      // set a mask that matches the shape of the image, then draw (overlay) a colored rectangle
      CGContextClipToMask(context, rect, image.CGImage);
      CGContextAddRect(context, rect);
      CGContextDrawPath(context,kCGPathFill);
  
      // generate a new UIImage from the graphics context we drew onto
      UIImage *coloredImg = UIGraphicsGetImageFromCurrentImageContext();
      UIGraphicsEndImageContext();
  
      //return the color-burned image
      return coloredImg;
  }
  </code></pre>