[cairo-bugs] [Bug 29501] New: cairo_restore does not undo a clip done on a DirectFB surface

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Aug 11 03:29:22 PDT 2010


https://bugs.freedesktop.org/show_bug.cgi?id=29501

           Summary: cairo_restore does not undo a clip done on a DirectFB
                    surface
           Product: cairo
           Version: 1.8.4
          Platform: Other
        OS/Version: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: directfb backend
        AssignedTo: cairo-bugs at cairographics.org
        ReportedBy: allison.newman at sfr.com
         QAContact: cairo-bugs at cairographics.org


Take the following code:


    cairo_save(pCairo);
    cairo_rectangle(pCairo, x, y, w, h);
    cairo_clip(pCairo);
    cairo_translate(pCairo, x, y);
    pango_cairo_show_layout(pCairo, pLayout);
    cairo_restore(pCairo);


After the cairo_restore(), if I try to do a DirectFB drawing operation on the
surface outside the region specified for the cairo clip, there is no drawing
done.

I'm not sure exactly where the bug is though, it may be in pango.  If I remove
either the cairo_clip() or the pango_cairo_show_layout(), I can still draw
correctly on the surface, but if I have both, the clip remains in effect.

Adding:
    pFBSurface->SetClip(pFBSurface, NULL);

after the cairo_restore() allows me to draw correctly to the surface again.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the cairo-bugs mailing list