~ubuntu-branches/ubuntu/lucid/webkit/lucid-updates

« back to all changes in this revision

Viewing changes to WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Marc Deslauriers
  • Date: 2010-10-13 13:39:02 UTC
  • mfrom: (1.6.1 upstream) (4.4.9 maverick)
  • Revision ID: james.westby@ubuntu.com-20101013133902-ytzn2sqa7y41hosl
Tags: 1.2.5-0ubuntu0.10.04.1
* SECURITY UPDATE: Rebuilt new stable release 1.2.5 for lucid to fix
  multiple security issues. (LP: #660075)
   - CVE-2010-1386, CVE-2010-1392, CVE-2010-1405, CVE-2010-1407
   - CVE-2010-1412, CVE-2010-1416, CVE-2010-1417, CVE-2010-1418
   - CVE-2010-1419, CVE-2010-1421, CVE-2010-1422, CVE-2010-1501
   - CVE-2010-1664, CVE-2010-1665, CVE-2010-1758, CVE-2010-1759
   - CVE-2010-1760, CVE-2010-1761, CVE-2010-1762, CVE-2010-1767
   - CVE-2010-1770, CVE-2010-1771, CVE-2010-1772, CVE-2010-1773
   - CVE-2010-1774, CVE-2010-1780, CVE-2010-1781, CVE-2010-1782
   - CVE-2010-1783, CVE-2010-1784, CVE-2010-1785, CVE-2010-1786
   - CVE-2010-1787, CVE-2010-1788, CVE-2010-1790, CVE-2010-1792
   - CVE-2010-1793, CVE-2010-1807, CVE-2010-1812, CVE-2010-1814
   - CVE-2010-1815, CVE-2010-2264, CVE-2010-2647, CVE-2010-2648
   - CVE-2010-3113, CVE-2010-3114, CVE-2010-3115, CVE-2010-3116
   - CVE-2010-3248, CVE-2010-3257, CVE-2010-3259
* debian/patches/ubuntu-gir-version.patch: removed for lucid
* debian/control: add gir-repository-dev back to build-depends for lucid

Show diffs side-by-side

added added

removed removed

Lines of Context:
75
75
 
76
76
static inline void setPlatformFill(GraphicsContext* context, cairo_t* cr, GraphicsContextPrivate* gcp)
77
77
{
 
78
    cairo_pattern_t* pattern = 0;
78
79
    cairo_save(cr);
79
80
    if (gcp->state.fillPattern) {
80
81
        AffineTransform affine;
81
 
        cairo_set_source(cr, gcp->state.fillPattern->createPlatformPattern(affine));
 
82
        pattern = gcp->state.fillPattern->createPlatformPattern(affine);
 
83
        cairo_set_source(cr, pattern);
82
84
    } else if (gcp->state.fillGradient)
83
85
        cairo_set_source(cr, gcp->state.fillGradient->platformGradient());
84
86
    else
86
88
    cairo_clip_preserve(cr);
87
89
    cairo_paint_with_alpha(cr, gcp->state.globalAlpha);
88
90
    cairo_restore(cr);
 
91
    if (pattern)
 
92
        cairo_pattern_destroy(pattern);
89
93
}
90
94
 
91
95
static inline void setPlatformStroke(GraphicsContext* context, cairo_t* cr, GraphicsContextPrivate* gcp)
92
96
{
 
97
    cairo_pattern_t* pattern = 0;
93
98
    cairo_save(cr);
94
99
    if (gcp->state.strokePattern) {
95
100
        AffineTransform affine;
96
 
        cairo_set_source(cr, gcp->state.strokePattern->createPlatformPattern(affine));
 
101
        pattern = gcp->state.strokePattern->createPlatformPattern(affine);
 
102
        cairo_set_source(cr, pattern);
97
103
    } else if (gcp->state.strokeGradient)
98
104
        cairo_set_source(cr, gcp->state.strokeGradient->platformGradient());
99
105
    else  {
107
113
    }
108
114
    cairo_stroke_preserve(cr);
109
115
    cairo_restore(cr);
 
116
    if (pattern)
 
117
        cairo_pattern_destroy(pattern);
110
118
}
111
119
 
112
120
// A fillRect helper