Skip to content
  • Federico Mena Quintero's avatar
    (#276) - Guard against getting a cairo_t in an error state at the toplevel API · 2d8ecd19
    Federico Mena Quintero authored
    The cairo-dock program was passing a cairo_t in an error state to
    rsvg_handle_render_cairo(), and so we failed deep in the innards of
    librsvg when cairo-rs validates the cairo::Context's status.
    
    Cairo-dock was doing something like
    
      surf = cairo_image_surface_create (... an invalid size ...);
      cr = cairo_create (surf);
    
      rsvg_handle_render_cairo (handle, cr);    // we now catch the error right here
    
    We catch invalid cr's, emit a warning, and return FALSE from
    rsvg_handle_render_cairo*().
    
    #276
    2d8ecd19