This at first appeared to be a clipping bug. Turns out it is caused by mismatched save/restore on the graphics context due to an early return.
Created attachment 15254 [details] Fix mismatched calls to cairo_save/restore
Comment on attachment 15254 [details] Fix mismatched calls to cairo_save/restore r=me
Committed revision 23800.