<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>15449</bug_id>
          
          <creation_ts>2007-10-09 21:59:46 -0700</creation_ts>
          <short_desc>[CAIRO] SVG gradients do not work properly</short_desc>
          <delta_ts>2008-04-20 17:25:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Cairo</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>krit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>58209</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-10-09 21:59:46 -0700</bug_when>
    <thetext>Linear gradients are often wrong and radial gradients are not implemented at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77562</commentid>
    <comment_count>1</comment_count>
      <attachid>20532</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-14 07:50:30 -0700</bug_when>
    <thetext>Created attachment 20532
Correct colors of gradients

This only correct the colors of gradients in svg. There are still problems with displaying linear gradients.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77598</commentid>
    <comment_count>2</comment_count>
      <attachid>20535</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-14 11:15:07 -0700</bug_when>
    <thetext>Created attachment 20535
Add RadialGradient to Cairo

Add basic radialGradient for SVG to Cairo. Don&apos;t inclued boundingBoxMode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77699</commentid>
    <comment_count>3</comment_count>
      <attachid>20558</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-15 09:45:41 -0700</bug_when>
    <thetext>Created attachment 20558
Fixed colors and drawing of Gradients in Cairo

Fixed colors and drawing of Gradients in Cairo. boundingBoxMode is still missing for radian gradients. (This patch includes previous patches)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77773</commentid>
    <comment_count>4</comment_count>
      <attachid>20578</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-16 01:18:22 -0700</bug_when>
    <thetext>Created attachment 20578
Fixed gradients for SVG in Cairo

This Patch fixes problems with color-set and drawing of radial and linear gradients (fixed problems with boundingBoxMode too).

Have problems with animation and gradients (but I have problems with animation all the time). Should be fixed in another bug-report. I don&apos;t believe that it is related to SVGPaintServerGradientCairo.

Why should boundingBoxMode use strokeBBox? The qt-port uses something like that and the source-code is bigger with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77809</commentid>
    <comment_count>5</comment_count>
      <attachid>20590</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-16 10:17:21 -0700</bug_when>
    <thetext>Created attachment 20590
Fixed gradients for SVG in Cairo

(forgot a focal-test in radialGradient)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77828</commentid>
    <comment_count>6</comment_count>
      <attachid>20593</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-16 11:37:11 -0700</bug_when>
    <thetext>Created attachment 20593
Fixed colors and drawing

minor changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77886</commentid>
    <comment_count>7</comment_count>
      <attachid>20593</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-04-16 21:41:11 -0700</bug_when>
    <thetext>Comment on attachment 20593
Fixed colors and drawing

The patch in general looks fine.

We don&apos;t generally pre-declare variables at the top of a block.  That&apos;s C-style and this is C++.
double cx, fx, cy, fy, radius, fradius; // one example

These are extra braces according to our style guidelines:
if ((fx + cx) &lt;  cx) {
+                fx = int(cos(angle) * radius) + 1;
+            }

Otherwise it looks fine.

Why are there no test changes?  Does the GTK build still not have pixel tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77890</commentid>
    <comment_count>8</comment_count>
      <attachid>20611</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-16 22:34:20 -0700</bug_when>
    <thetext>Created attachment 20611
Fixed gradients for SVG in Cairo

Fixes to match coding-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77980</commentid>
    <comment_count>9</comment_count>
      <attachid>20635</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-04-17 13:08:03 -0700</bug_when>
    <thetext>Created attachment 20635
Fixed gradients for SVG in Cairo

It uses RenderPathCairo&apos;s strokeBBox now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78352</commentid>
    <comment_count>10</comment_count>
      <attachid>20635</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-04-20 17:24:32 -0700</bug_when>
    <thetext>Comment on attachment 20635
Fixed gradients for SVG in Cairo

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78353</commentid>
    <comment_count>11</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-04-20 17:25:03 -0700</bug_when>
    <thetext>Landed in r32284.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20532</attachid>
            <date>2008-04-14 07:50:30 -0700</date>
            <delta_ts>2008-04-16 10:17:21 -0700</delta_ts>
            <desc>Correct colors of gradients</desc>
            <filename>correctGradientColors.patch</filename>
            <type>text/plain</type>
            <size>1338</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTg2MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMDQtMTQgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5H
OiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKworICAgICAgICBDb3JyZWN0ZWQgY29s
b3JzIG9uIEdyYWRpZW50cyBmb3IgY2Fpcm8KKworICAgICAgICAqIENoYW5nZUxvZzoKKyAgICAg
ICAgKiBzdmcvZ3JhcGhpY3MvY2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudENhaXJvLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKToKKwogMjAw
OC0wNC0xNCAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBcC4KSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NW
R1BhaW50U2VydmVyR3JhZGllbnRDYWlyby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
Z3JhcGhpY3MvY2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudENhaXJvLmNwcAkocmV2aXNpb24g
MzE4NjApCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRp
ZW50Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw3ICs5Nyw3IEBAIGJvb2wgU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3JhcGgKICAgICAgICAgZmxvYXQgb2Zmc2V0ID0gc3Rv
cHNbaV0uZmlyc3Q7CiAgICAgICAgIENvbG9yIGNvbG9yID0gc3RvcHNbaV0uc2Vjb25kOwogCi0g
ICAgICAgIGNhaXJvX3BhdHRlcm5fYWRkX2NvbG9yX3N0b3BfcmdiYShwYXR0ZXJuLCBvZmZzZXQs
IGNvbG9yLnJlZCgpLCBjb2xvci5ncmVlbigpLCBjb2xvci5ibHVlKCksIGNvbG9yLmFscGhhKCkp
OworICAgICAgICBjYWlyb19wYXR0ZXJuX2FkZF9jb2xvcl9zdG9wX3JnYmEocGF0dGVybiwgb2Zm
c2V0LCBjb2xvci5yZWQoKSAvIDI1NS4wLCBjb2xvci5ncmVlbigpIC8gMjU1LjAsIGNvbG9yLmJs
dWUoKSAvIDI1NS4wLCBjb2xvci5hbHBoYSgpIC8gMjU1LjApOwogICAgIH0KIAogICAgIGNhaXJv
X3NldF9zb3VyY2UoY3IsIHBhdHRlcm4pOwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20535</attachid>
            <date>2008-04-14 11:15:07 -0700</date>
            <delta_ts>2008-04-16 10:17:21 -0700</delta_ts>
            <desc>Add RadialGradient to Cairo</desc>
            <filename>radialGradientCairo.patch</filename>
            <type>text/plain</type>
            <size>1997</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTg2OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDgtMDQtMTQgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5H
OiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKworICAgICAgICBBZGQgc3VwcG9ydCBm
b3IgcmFkaWFsIGdyYWRpZW50IGZvciBTVkcgaW4gQ2Fpcm8uCisKKyAgICAgICAgKiBzdmcvZ3Jh
cGhpY3MvY2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudENhaXJvLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKToKKwogMjAwOC0wNC0xNCAgVGlt
b3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIGNoYW5naW5nIHRoZSBzb3J0IG9yZGVyIG9mIHRoZSByZXNvdXJjZXMuIFRoZSB0d28gc29y
dGluZwpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvY2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9jYWlyby9T
VkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8uY3BwCShyZXZpc2lvbiAzMTg2MCkKKysrIFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NWR1BhaW50U2VydmVyR3JhZGllbnRDYWlyby5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY1LDkgKzY1LDIyIEBAIGJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVu
dDo6c2V0dXAoR3JhcGgKICAgICAgICAgcGF0dGVybiA9IGNhaXJvX3BhdHRlcm5fY3JlYXRlX2xp
bmVhcih4MCwgeTAsIHgxLCB5MSk7CiAKICAgICB9IGVsc2UgaWYgKHRoaXMtPnR5cGUoKSA9PSBS
YWRpYWxHcmFkaWVudFBhaW50U2VydmVyKSB7Ci0gICAgICAgIC8vIGNvbnN0IFNWR1BhaW50U2Vy
dmVyUmFkaWFsR3JhZGllbnQqIHJhZGlhbCA9IHN0YXRpY19jYXN0PGNvbnN0IFNWR1BhaW50U2Vy
dmVyUmFkaWFsR3JhZGllbnQqPih0aGlzKTsKLSAgICAgICAgLy8gVE9ETzogcGF0dGVybiA9IGNh
aXJvX3BhdHRlcm5fY3JlYXRlX3JhZGlhbCgpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIGNvbnN0IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQqIHJhZGlhbCA9IHN0YXRpY19j
YXN0PGNvbnN0IFNWR1BhaW50U2VydmVyUmFkaWFsR3JhZGllbnQqPih0aGlzKTsKKyAgICAgICAg
CisgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICAgICAgLy8gVE9ETzog
d2hhdCB0byBkbyB3aXRoIGJvdW5kaW5nQm94TW9kZT8KKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZG91YmxlIGN4MCwgY3gxLCBjeTAsIGN5
MSwgcmFkaXVzMCwgcmFkaXVzMTsKKyAgICAgICAgY3gwID0gcmFkaWFsLT5ncmFkaWVudENlbnRl
cigpLngoKTsKKyAgICAgICAgY3kwID0gcmFkaWFsLT5ncmFkaWVudENlbnRlcigpLnkoKTsKKyAg
ICAgICAgcmFkaXVzMCA9IHJhZGlhbC0+Z3JhZGllbnRSYWRpdXMoKTsKKyAgICAgICAgY3gxID0g
cmFkaWFsLT5ncmFkaWVudEZvY2FsKCkueCgpOworICAgICAgICBjeTEgPSByYWRpYWwtPmdyYWRp
ZW50Rm9jYWwoKS55KCk7CisgICAgICAgIHJhZGl1czEgPSAwLjA7CisgICAgICAgIHBhdHRlcm4g
PSBjYWlyb19wYXR0ZXJuX2NyZWF0ZV9yYWRpYWwoY3gxLCBjeTEsIHJhZGl1czEsIGN4MCwgY3kw
LCByYWRpdXMwKTsKKwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20558</attachid>
            <date>2008-04-15 09:45:41 -0700</date>
            <delta_ts>2008-04-16 10:17:21 -0700</delta_ts>
            <desc>Fixed colors and drawing of Gradients in Cairo</desc>
            <filename>Gradients.patch</filename>
            <type>text/plain</type>
            <size>3729</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTkwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMDQtMTUgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5H
OiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKworICAgICAgICBGaXhlZCBjb2xvcnMg
YW5kIGRyYXdpbmcgb2YgR3JhZGllbnRzIGluIENhaXJvLgorCisgICAgICAgICogQ2hhbmdlTG9n
OgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fp
cm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAp
OgorCiAyMDA4LTA0LTE1ICBPbGl2aWVyIEdvZmZhcnQgIDxvZ29mZmFydEB0cm9sbHRlY2guY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uLgpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvY2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudENhaXJvLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8uY3Bw
CShyZXZpc2lvbiAzMTg2MCkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NWR1BhaW50
U2VydmVyR3JhZGllbnRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAg
Ym9vbCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXR1cChHcmFwaAogICAgIGlmICh0aGlzLT50
eXBlKCkgPT0gTGluZWFyR3JhZGllbnRQYWludFNlcnZlcikgewogICAgICAgICBjb25zdCBTVkdQ
YWludFNlcnZlckxpbmVhckdyYWRpZW50KiBsaW5lYXIgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdQ
YWludFNlcnZlckxpbmVhckdyYWRpZW50Kj4odGhpcyk7CiAKKyAgICAgICAgZG91YmxlIHgwLCB4
MSwgeTAsIHkxOwogICAgICAgICBpZiAoYm91bmRpbmdCb3hNb2RlKCkpIHsKICAgICAgICAgICAg
IC8vIFRPRE86IHVzZSBSZW5kZXJQYXRoQ2Fpcm8ncyBzdHJva2VCQm94PwogICAgICAgICAgICAg
ZG91YmxlIHgxLCB5MSwgeDIsIHkyOwpAQCAtNTUsMTkgKzU2LDMzIEBAIGJvb2wgU1ZHUGFpbnRT
ZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3JhcGgKICAgICAgICAgICAgIGNhaXJvX21hdHJpeF9zY2Fs
ZSgmbWF0cml4LCB4MiAtIHgxLCB5MiAtIHkxKTsKICAgICAgICAgICAgIGNhaXJvX21hdHJpeF9t
dWx0aXBseSgmbWF0cml4LCAmbWF0cml4LCAmZ3JhZGllbnRfbWF0cml4KTsKICAgICAgICAgICAg
IGNhaXJvX21hdHJpeF9pbnZlcnQoJm1hdHJpeCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICB4MCA9IGxpbmVhci0+Z3JhZGllbnRTdGFydCgpLngoKTsKKyAgICAgICAgICAgIHkwID0g
bGluZWFyLT5ncmFkaWVudFN0YXJ0KCkueSgpOworICAgICAgICAgICAgeDEgPSBsaW5lYXItPmdy
YWRpZW50RW5kKCkueCgpOworICAgICAgICAgICAgeTEgPSBsaW5lYXItPmdyYWRpZW50RW5kKCku
eSgpOwogICAgICAgICB9CiAKLSAgICAgICAgZG91YmxlIHgwLCB4MSwgeTAsIHkxOwotICAgICAg
ICB4MCA9IGxpbmVhci0+Z3JhZGllbnRTdGFydCgpLngoKTsKLSAgICAgICAgeTAgPSBsaW5lYXIt
PmdyYWRpZW50U3RhcnQoKS55KCk7Ci0gICAgICAgIHgxID0gbGluZWFyLT5ncmFkaWVudEVuZCgp
LngoKTsKLSAgICAgICAgeTEgPSBsaW5lYXItPmdyYWRpZW50RW5kKCkueSgpOwogICAgICAgICBw
YXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9jcmVhdGVfbGluZWFyKHgwLCB5MCwgeDEsIHkxKTsKIAog
ICAgIH0gZWxzZSBpZiAodGhpcy0+dHlwZSgpID09IFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXIp
IHsKLSAgICAgICAgLy8gY29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFkaWFs
ID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRoaXMp
OwotICAgICAgICAvLyBUT0RPOiBwYXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9jcmVhdGVfcmFkaWFs
KCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgY29uc3QgU1ZHUGFpbnRTZXJ2ZXJS
YWRpYWxHcmFkaWVudCogcmFkaWFsID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJS
YWRpYWxHcmFkaWVudCo+KHRoaXMpOworICAgICAgICAKKyAgICAgICAgZG91YmxlIGN4MCwgY3gx
LCBjeTAsIGN5MSwgcmFkaXVzMCwgcmFkaXVzMTsKKyAgICAgICAgaWYgKGJvdW5kaW5nQm94TW9k
ZSgpKSB7CisgICAgICAgICAgICAvLyBUT0RPOiB3aGF0IHRvIGRvIHdpdGggYm91bmRpbmdCb3hN
b2RlPworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgY3gwID0gcmFkaWFsLT5ncmFkaWVudENlbnRlcigpLngoKTsKKyAgICAgICAgICAgIGN5
MCA9IHJhZGlhbC0+Z3JhZGllbnRDZW50ZXIoKS55KCk7CisgICAgICAgICAgICByYWRpdXMwID0g
cmFkaWFsLT5ncmFkaWVudFJhZGl1cygpOworICAgICAgICAgICAgY3gxID0gcmFkaWFsLT5ncmFk
aWVudEZvY2FsKCkueCgpOworICAgICAgICAgICAgY3kxID0gcmFkaWFsLT5ncmFkaWVudEZvY2Fs
KCkueSgpOworICAgICAgICAgICAgcmFkaXVzMSA9IDAuMDsKKyAgICAgICAgfQorCisgICAgICAg
IHBhdHRlcm4gPSBjYWlyb19wYXR0ZXJuX2NyZWF0ZV9yYWRpYWwoY3gxLCBjeTEsIHJhZGl1czEs
IGN4MCwgY3kwLCByYWRpdXMwKTsKKwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CkBAIC04OSw2ICsxMDQsOCBAQCBib29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6
OnNldHVwKEdyYXBoCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYWlyb19tYXRy
aXhfbXVsdGlwbHkoJm1hdHJpeCwgJm1hdHJpeCwgJmdyYWRpZW50X21hdHJpeCk7CisgICAgY2Fp
cm9fbWF0cml4X2ludmVydCgmbWF0cml4KTsKICAgICBjYWlyb19wYXR0ZXJuX3NldF9tYXRyaXgo
cGF0dGVybiwgJm1hdHJpeCk7CiAKICAgICBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYg
c3RvcHMgPSBncmFkaWVudFN0b3BzKCk7CkBAIC05Nyw3ICsxMTQsNyBAQCBib29sIFNWR1BhaW50
U2VydmVyR3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgICAgIGZsb2F0IG9mZnNldCA9IHN0b3Bz
W2ldLmZpcnN0OwogICAgICAgICBDb2xvciBjb2xvciA9IHN0b3BzW2ldLnNlY29uZDsKIAotICAg
ICAgICBjYWlyb19wYXR0ZXJuX2FkZF9jb2xvcl9zdG9wX3JnYmEocGF0dGVybiwgb2Zmc2V0LCBj
b2xvci5yZWQoKSwgY29sb3IuZ3JlZW4oKSwgY29sb3IuYmx1ZSgpLCBjb2xvci5hbHBoYSgpKTsK
KyAgICAgICAgY2Fpcm9fcGF0dGVybl9hZGRfY29sb3Jfc3RvcF9yZ2JhKHBhdHRlcm4sIG9mZnNl
dCwgY29sb3IucmVkKCkgLyAyNTUuMCwgY29sb3IuZ3JlZW4oKSAvIDI1NS4wLCBjb2xvci5ibHVl
KCkgLyAyNTUuMCwgY29sb3IuYWxwaGEoKSAvIDI1NS4wKTsKICAgICB9CiAKICAgICBjYWlyb19z
ZXRfc291cmNlKGNyLCBwYXR0ZXJuKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20578</attachid>
            <date>2008-04-16 01:18:22 -0700</date>
            <delta_ts>2008-04-16 22:34:20 -0700</delta_ts>
            <desc>Fixed gradients for SVG in Cairo</desc>
            <filename>Gradients.patch</filename>
            <type>text/plain</type>
            <size>3894</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTkzMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDgtMDQtMTUgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5H
OiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKyAKKyAgICAgICAgRml4ZWQgY29sb3Jz
IGFuZCBkcmF3aW5nIG9mIHJhZGlhbCBhbmQgbGluZWFyIGdyYWRpZW50cyBpbiBDYWlyby4KKwor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXApOgor
CiAyMDA4LTA0LTE1ICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyLgpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
Y2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8uY3BwCShy
ZXZpc2lvbiAzMTkzMikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NWR1BhaW50U2Vy
dmVyR3JhZGllbnRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDMxICs0Myw0NiBAQCBi
b29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgY2Fpcm9fbWF0cml4
X2luaXRfaWRlbnRpdHkgKCZtYXRyaXgpOwogICAgIGNvbnN0IGNhaXJvX21hdHJpeF90IGdyYWRp
ZW50X21hdHJpeCA9IGdyYWRpZW50VHJhbnNmb3JtKCk7CiAKLSAgICAvLyBUT0RPOiByZXZpc2Ug
dGhpcyBjb2RlLCBpdCBpcyBrbm93biBub3QgdG8gd29yayBpbiBtYW55IGNhc2VzCiAgICAgaWYg
KHRoaXMtPnR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFBhaW50U2VydmVyKSB7CiAgICAgICAgIGNv
bnN0IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQqIGxpbmVhciA9IHN0YXRpY19jYXN0PGNv
bnN0IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQqPih0aGlzKTsKIAorICAgICAgICBkb3Vi
bGUgeDAsIHgxLCB5MCwgeTE7CiAgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgewogICAg
ICAgICAgICAgLy8gVE9ETzogdXNlIFJlbmRlclBhdGhDYWlybydzIHN0cm9rZUJCb3g/CiAgICAg
ICAgICAgICBkb3VibGUgeDEsIHkxLCB4MiwgeTI7CiAgICAgICAgICAgICBjYWlyb19maWxsX2V4
dGVudHMoY3IsICZ4MSwgJnkxLCAmeDIsICZ5Mik7CiAgICAgICAgICAgICBjYWlyb19tYXRyaXhf
dHJhbnNsYXRlKCZtYXRyaXgsIHgxLCB5MSk7CiAgICAgICAgICAgICBjYWlyb19tYXRyaXhfc2Nh
bGUoJm1hdHJpeCwgeDIgLSB4MSwgeTIgLSB5MSk7Ci0gICAgICAgICAgICBjYWlyb19tYXRyaXhf
bXVsdGlwbHkoJm1hdHJpeCwgJm1hdHJpeCwgJmdyYWRpZW50X21hdHJpeCk7Ci0gICAgICAgICAg
ICBjYWlyb19tYXRyaXhfaW52ZXJ0KCZtYXRyaXgpOwogICAgICAgICB9Ci0KLSAgICAgICAgZG91
YmxlIHgwLCB4MSwgeTAsIHkxOworICAgICAgICAKICAgICAgICAgeDAgPSBsaW5lYXItPmdyYWRp
ZW50U3RhcnQoKS54KCk7CiAgICAgICAgIHkwID0gbGluZWFyLT5ncmFkaWVudFN0YXJ0KCkueSgp
OwogICAgICAgICB4MSA9IGxpbmVhci0+Z3JhZGllbnRFbmQoKS54KCk7CiAgICAgICAgIHkxID0g
bGluZWFyLT5ncmFkaWVudEVuZCgpLnkoKTsKKwogICAgICAgICBwYXR0ZXJuID0gY2Fpcm9fcGF0
dGVybl9jcmVhdGVfbGluZWFyKHgwLCB5MCwgeDEsIHkxKTsKIAogICAgIH0gZWxzZSBpZiAodGhp
cy0+dHlwZSgpID09IFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgLy8gY29u
c3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFkaWFsID0gc3RhdGljX2Nhc3Q8Y29u
c3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRoaXMpOwotICAgICAgICAvLyBUT0RP
OiBwYXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9jcmVhdGVfcmFkaWFsKCk7Ci0gICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgY29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFk
aWFsID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRo
aXMpOworICAgICAgICAKKyAgICAgICAgZG91YmxlIGN4LCBmeCwgY3ksIGZ5LCByYWRpdXMsIGZy
YWRpdXM7CisgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICAgICAgLy8g
VE9ETzogdXNlIFJlbmRlclBhdGhDYWlybydzIHN0cm9rZUJCb3g/CisgICAgICAgICAgICBkb3Vi
bGUgeDEsIHkxLCB4MiwgeTI7CisgICAgICAgICAgICBjYWlyb19maWxsX2V4dGVudHMoY3IsICZ4
MSwgJnkxLCAmeDIsICZ5Mik7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfdHJhbnNsYXRlKCZt
YXRyaXgsIHgxLCB5MSk7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfc2NhbGUoJm1hdHJpeCwg
eDIgLSB4MSwgeTIgLSB5MSk7CisgICAgICAgIH0KKworICAgICAgICBjeCA9IHJhZGlhbC0+Z3Jh
ZGllbnRDZW50ZXIoKS54KCk7CisgICAgICAgIGN5ID0gcmFkaWFsLT5ncmFkaWVudENlbnRlcigp
LnkoKTsKKyAgICAgICAgcmFkaXVzID0gcmFkaWFsLT5ncmFkaWVudFJhZGl1cygpOworICAgICAg
ICBmeCA9IHJhZGlhbC0+Z3JhZGllbnRGb2NhbCgpLngoKTsKKyAgICAgICAgZnkgPSByYWRpYWwt
PmdyYWRpZW50Rm9jYWwoKS55KCk7CisgICAgICAgIGZyYWRpdXMgPSAwLjA7CisKKyAgICAgICAg
cGF0dGVybiA9IGNhaXJvX3BhdHRlcm5fY3JlYXRlX3JhZGlhbChmeCwgZnksIGZyYWRpdXMsIGN4
LCBjeSwgcmFkaXVzKTsKKwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CkBAIC04OSw2ICsxMDQsOCBAQCBib29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVw
KEdyYXBoCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYWlyb19tYXRyaXhfbXVs
dGlwbHkoJm1hdHJpeCwgJm1hdHJpeCwgJmdyYWRpZW50X21hdHJpeCk7CisgICAgY2Fpcm9fbWF0
cml4X2ludmVydCgmbWF0cml4KTsKICAgICBjYWlyb19wYXR0ZXJuX3NldF9tYXRyaXgocGF0dGVy
biwgJm1hdHJpeCk7CiAKICAgICBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgc3RvcHMg
PSBncmFkaWVudFN0b3BzKCk7CkBAIC05Nyw3ICsxMTQsNyBAQCBib29sIFNWR1BhaW50U2VydmVy
R3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgICAgIGZsb2F0IG9mZnNldCA9IHN0b3BzW2ldLmZp
cnN0OwogICAgICAgICBDb2xvciBjb2xvciA9IHN0b3BzW2ldLnNlY29uZDsKIAotICAgICAgICBj
YWlyb19wYXR0ZXJuX2FkZF9jb2xvcl9zdG9wX3JnYmEocGF0dGVybiwgb2Zmc2V0LCBjb2xvci5y
ZWQoKSwgY29sb3IuZ3JlZW4oKSwgY29sb3IuYmx1ZSgpLCBjb2xvci5hbHBoYSgpKTsKKyAgICAg
ICAgY2Fpcm9fcGF0dGVybl9hZGRfY29sb3Jfc3RvcF9yZ2JhKHBhdHRlcm4sIG9mZnNldCwgY29s
b3IucmVkKCkgLyAyNTUuMCwgY29sb3IuZ3JlZW4oKSAvIDI1NS4wLCBjb2xvci5ibHVlKCkgLyAy
NTUuMCwgY29sb3IuYWxwaGEoKSAvIDI1NS4wKTsKICAgICB9CiAKICAgICBjYWlyb19zZXRfc291
cmNlKGNyLCBwYXR0ZXJuKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20590</attachid>
            <date>2008-04-16 10:17:21 -0700</date>
            <delta_ts>2008-04-16 22:34:20 -0700</delta_ts>
            <desc>Fixed gradients for SVG in Cairo</desc>
            <filename>Gradients.patch</filename>
            <type>text/plain</type>
            <size>4145</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTkzMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDgtMDQtMTUgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5H
OiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKyAKKyAgICAgICAgRml4ZWQgY29sb3Jz
IGFuZCBkcmF3aW5nIG9mIHJhZGlhbCBhbmQgbGluZWFyIGdyYWRpZW50cyBpbiBDYWlyby4KKwor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXApOgor
CiAyMDA4LTA0LTE1ICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyLgpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
Y2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8uY3BwCShy
ZXZpc2lvbiAzMTkzMikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NWR1BhaW50U2Vy
dmVyR3JhZGllbnRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDMxICs0Myw1NSBAQCBi
b29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgY2Fpcm9fbWF0cml4
X2luaXRfaWRlbnRpdHkgKCZtYXRyaXgpOwogICAgIGNvbnN0IGNhaXJvX21hdHJpeF90IGdyYWRp
ZW50X21hdHJpeCA9IGdyYWRpZW50VHJhbnNmb3JtKCk7CiAKLSAgICAvLyBUT0RPOiByZXZpc2Ug
dGhpcyBjb2RlLCBpdCBpcyBrbm93biBub3QgdG8gd29yayBpbiBtYW55IGNhc2VzCiAgICAgaWYg
KHRoaXMtPnR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFBhaW50U2VydmVyKSB7CiAgICAgICAgIGNv
bnN0IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQqIGxpbmVhciA9IHN0YXRpY19jYXN0PGNv
bnN0IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQqPih0aGlzKTsKIAorICAgICAgICBkb3Vi
bGUgeDAsIHgxLCB5MCwgeTE7CiAgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgewogICAg
ICAgICAgICAgLy8gVE9ETzogdXNlIFJlbmRlclBhdGhDYWlybydzIHN0cm9rZUJCb3g/CiAgICAg
ICAgICAgICBkb3VibGUgeDEsIHkxLCB4MiwgeTI7CiAgICAgICAgICAgICBjYWlyb19maWxsX2V4
dGVudHMoY3IsICZ4MSwgJnkxLCAmeDIsICZ5Mik7CiAgICAgICAgICAgICBjYWlyb19tYXRyaXhf
dHJhbnNsYXRlKCZtYXRyaXgsIHgxLCB5MSk7CiAgICAgICAgICAgICBjYWlyb19tYXRyaXhfc2Nh
bGUoJm1hdHJpeCwgeDIgLSB4MSwgeTIgLSB5MSk7Ci0gICAgICAgICAgICBjYWlyb19tYXRyaXhf
bXVsdGlwbHkoJm1hdHJpeCwgJm1hdHJpeCwgJmdyYWRpZW50X21hdHJpeCk7Ci0gICAgICAgICAg
ICBjYWlyb19tYXRyaXhfaW52ZXJ0KCZtYXRyaXgpOwogICAgICAgICB9Ci0KLSAgICAgICAgZG91
YmxlIHgwLCB4MSwgeTAsIHkxOworICAgICAgICAKICAgICAgICAgeDAgPSBsaW5lYXItPmdyYWRp
ZW50U3RhcnQoKS54KCk7CiAgICAgICAgIHkwID0gbGluZWFyLT5ncmFkaWVudFN0YXJ0KCkueSgp
OwogICAgICAgICB4MSA9IGxpbmVhci0+Z3JhZGllbnRFbmQoKS54KCk7CiAgICAgICAgIHkxID0g
bGluZWFyLT5ncmFkaWVudEVuZCgpLnkoKTsKKwogICAgICAgICBwYXR0ZXJuID0gY2Fpcm9fcGF0
dGVybl9jcmVhdGVfbGluZWFyKHgwLCB5MCwgeDEsIHkxKTsKIAogICAgIH0gZWxzZSBpZiAodGhp
cy0+dHlwZSgpID09IFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgLy8gY29u
c3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFkaWFsID0gc3RhdGljX2Nhc3Q8Y29u
c3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRoaXMpOwotICAgICAgICAvLyBUT0RP
OiBwYXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9jcmVhdGVfcmFkaWFsKCk7Ci0gICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgY29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFk
aWFsID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRo
aXMpOworICAgICAgICAKKyAgICAgICAgZG91YmxlIGN4LCBmeCwgY3ksIGZ5LCByYWRpdXMsIGZy
YWRpdXM7CisgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICAgICAgLy8g
VE9ETzogdXNlIFJlbmRlclBhdGhDYWlybydzIHN0cm9rZUJCb3g/CisgICAgICAgICAgICBkb3Vi
bGUgeDEsIHkxLCB4MiwgeTI7CisgICAgICAgICAgICBjYWlyb19maWxsX2V4dGVudHMoY3IsICZ4
MSwgJnkxLCAmeDIsICZ5Mik7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfdHJhbnNsYXRlKCZt
YXRyaXgsIHgxLCB5MSk7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfc2NhbGUoJm1hdHJpeCwg
eDIgLSB4MSwgeTIgLSB5MSk7CisgICAgICAgIH0KKworICAgICAgICBjeCA9IHJhZGlhbC0+Z3Jh
ZGllbnRDZW50ZXIoKS54KCk7CisgICAgICAgIGN5ID0gcmFkaWFsLT5ncmFkaWVudENlbnRlcigp
LnkoKTsKKyAgICAgICAgcmFkaXVzID0gcmFkaWFsLT5ncmFkaWVudFJhZGl1cygpOworICAgICAg
ICBmeCA9IHJhZGlhbC0+Z3JhZGllbnRGb2NhbCgpLngoKTsKKyAgICAgICAgZnkgPSByYWRpYWwt
PmdyYWRpZW50Rm9jYWwoKS55KCk7CisKKyAgICAgICAgZnggLT0gY3g7CisgICAgICAgIGZ5IC09
IGN5OworICAgICAgICBmcmFkaXVzID0gMC4wOworCisgICAgICAgIGlmIChzcXJ0KGZ4ICogZngg
KyBmeSAqIGZ5KSA+IHJhZGl1cykgeworICAgICAgICAgICAgZG91YmxlIGFuZ2xlID0gYXRhbjIo
ZnksIGZ4KTsKKyAgICAgICAgICAgIGZ4ID0gaW50KGNvcyhhbmdsZSkgKiByYWRpdXMpIC0gMTsK
KyAgICAgICAgICAgIGZ5ID0gaW50KHNpbihhbmdsZSkgKiByYWRpdXMpIC0gMTsKKyAgICAgICAg
fQorCisgICAgICAgIHBhdHRlcm4gPSBjYWlyb19wYXR0ZXJuX2NyZWF0ZV9yYWRpYWwoZnggKyBj
eCwgZnkgKyBjeSwgZnJhZGl1cywgY3gsIGN5LCByYWRpdXMpOworCiAgICAgfSBlbHNlIHsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTg5LDYgKzExMyw4IEBAIGJvb2wgU1ZHUGFp
bnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3JhcGgKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0K
IAorICAgIGNhaXJvX21hdHJpeF9tdWx0aXBseSgmbWF0cml4LCAmbWF0cml4LCAmZ3JhZGllbnRf
bWF0cml4KTsKKyAgICBjYWlyb19tYXRyaXhfaW52ZXJ0KCZtYXRyaXgpOwogICAgIGNhaXJvX3Bh
dHRlcm5fc2V0X21hdHJpeChwYXR0ZXJuLCAmbWF0cml4KTsKIAogICAgIGNvbnN0IFZlY3RvcjxT
VkdHcmFkaWVudFN0b3A+JiBzdG9wcyA9IGdyYWRpZW50U3RvcHMoKTsKQEAgLTk3LDcgKzEyMyw3
IEBAIGJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3JhcGgKICAgICAgICAgZmxv
YXQgb2Zmc2V0ID0gc3RvcHNbaV0uZmlyc3Q7CiAgICAgICAgIENvbG9yIGNvbG9yID0gc3RvcHNb
aV0uc2Vjb25kOwogCi0gICAgICAgIGNhaXJvX3BhdHRlcm5fYWRkX2NvbG9yX3N0b3BfcmdiYShw
YXR0ZXJuLCBvZmZzZXQsIGNvbG9yLnJlZCgpLCBjb2xvci5ncmVlbigpLCBjb2xvci5ibHVlKCks
IGNvbG9yLmFscGhhKCkpOworICAgICAgICBjYWlyb19wYXR0ZXJuX2FkZF9jb2xvcl9zdG9wX3Jn
YmEocGF0dGVybiwgb2Zmc2V0LCBjb2xvci5yZWQoKSAvIDI1NS4wLCBjb2xvci5ncmVlbigpIC8g
MjU1LjAsIGNvbG9yLmJsdWUoKSAvIDI1NS4wLCBjb2xvci5hbHBoYSgpIC8gMjU1LjApOwogICAg
IH0KIAogICAgIGNhaXJvX3NldF9zb3VyY2UoY3IsIHBhdHRlcm4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20593</attachid>
            <date>2008-04-16 11:37:11 -0700</date>
            <delta_ts>2008-04-16 22:34:20 -0700</delta_ts>
            <desc>Fixed colors and drawing</desc>
            <filename>Gradients.patch</filename>
            <type>text/plain</type>
            <size>4404</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTkzMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDgtMDQtMTUgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5H
OiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKyAKKyAgICAgICAgRml4ZWQgY29sb3Jz
IGFuZCBkcmF3aW5nIG9mIHJhZGlhbCBhbmQgbGluZWFyIGdyYWRpZW50cyBpbiBDYWlyby4KKwor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXApOgor
CiAyMDA4LTA0LTE1ICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyLgpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
Y2Fpcm8vU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9ncmFwaGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8uY3BwCShy
ZXZpc2lvbiAzMTkzMikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NWR1BhaW50U2Vy
dmVyR3JhZGllbnRDYWlyby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDMxICs0Myw2MyBAQCBi
b29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgY2Fpcm9fbWF0cml4
X2luaXRfaWRlbnRpdHkgKCZtYXRyaXgpOwogICAgIGNvbnN0IGNhaXJvX21hdHJpeF90IGdyYWRp
ZW50X21hdHJpeCA9IGdyYWRpZW50VHJhbnNmb3JtKCk7CiAKLSAgICAvLyBUT0RPOiByZXZpc2Ug
dGhpcyBjb2RlLCBpdCBpcyBrbm93biBub3QgdG8gd29yayBpbiBtYW55IGNhc2VzCiAgICAgaWYg
KHRoaXMtPnR5cGUoKSA9PSBMaW5lYXJHcmFkaWVudFBhaW50U2VydmVyKSB7CiAgICAgICAgIGNv
bnN0IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQqIGxpbmVhciA9IHN0YXRpY19jYXN0PGNv
bnN0IFNWR1BhaW50U2VydmVyTGluZWFyR3JhZGllbnQqPih0aGlzKTsKIAorICAgICAgICBkb3Vi
bGUgeDAsIHgxLCB5MCwgeTE7CiAgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgewogICAg
ICAgICAgICAgLy8gVE9ETzogdXNlIFJlbmRlclBhdGhDYWlybydzIHN0cm9rZUJCb3g/CiAgICAg
ICAgICAgICBkb3VibGUgeDEsIHkxLCB4MiwgeTI7CiAgICAgICAgICAgICBjYWlyb19maWxsX2V4
dGVudHMoY3IsICZ4MSwgJnkxLCAmeDIsICZ5Mik7CiAgICAgICAgICAgICBjYWlyb19tYXRyaXhf
dHJhbnNsYXRlKCZtYXRyaXgsIHgxLCB5MSk7CiAgICAgICAgICAgICBjYWlyb19tYXRyaXhfc2Nh
bGUoJm1hdHJpeCwgeDIgLSB4MSwgeTIgLSB5MSk7Ci0gICAgICAgICAgICBjYWlyb19tYXRyaXhf
bXVsdGlwbHkoJm1hdHJpeCwgJm1hdHJpeCwgJmdyYWRpZW50X21hdHJpeCk7Ci0gICAgICAgICAg
ICBjYWlyb19tYXRyaXhfaW52ZXJ0KCZtYXRyaXgpOwogICAgICAgICB9Ci0KLSAgICAgICAgZG91
YmxlIHgwLCB4MSwgeTAsIHkxOworICAgICAgICAKICAgICAgICAgeDAgPSBsaW5lYXItPmdyYWRp
ZW50U3RhcnQoKS54KCk7CiAgICAgICAgIHkwID0gbGluZWFyLT5ncmFkaWVudFN0YXJ0KCkueSgp
OwogICAgICAgICB4MSA9IGxpbmVhci0+Z3JhZGllbnRFbmQoKS54KCk7CiAgICAgICAgIHkxID0g
bGluZWFyLT5ncmFkaWVudEVuZCgpLnkoKTsKKwogICAgICAgICBwYXR0ZXJuID0gY2Fpcm9fcGF0
dGVybl9jcmVhdGVfbGluZWFyKHgwLCB5MCwgeDEsIHkxKTsKIAogICAgIH0gZWxzZSBpZiAodGhp
cy0+dHlwZSgpID09IFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgLy8gY29u
c3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFkaWFsID0gc3RhdGljX2Nhc3Q8Y29u
c3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRoaXMpOwotICAgICAgICAvLyBUT0RP
OiBwYXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9jcmVhdGVfcmFkaWFsKCk7Ci0gICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgY29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFk
aWFsID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRo
aXMpOworICAgICAgICAKKyAgICAgICAgZG91YmxlIGN4LCBmeCwgY3ksIGZ5LCByYWRpdXMsIGZy
YWRpdXM7CisgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICAgICAgLy8g
VE9ETzogdXNlIFJlbmRlclBhdGhDYWlybydzIHN0cm9rZUJCb3g/CisgICAgICAgICAgICBkb3Vi
bGUgeDEsIHkxLCB4MiwgeTI7CisgICAgICAgICAgICBjYWlyb19maWxsX2V4dGVudHMoY3IsICZ4
MSwgJnkxLCAmeDIsICZ5Mik7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfdHJhbnNsYXRlKCZt
YXRyaXgsIHgxLCB5MSk7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfc2NhbGUoJm1hdHJpeCwg
eDIgLSB4MSwgeTIgLSB5MSk7CisgICAgICAgIH0KKworICAgICAgICBjeCA9IHJhZGlhbC0+Z3Jh
ZGllbnRDZW50ZXIoKS54KCk7CisgICAgICAgIGN5ID0gcmFkaWFsLT5ncmFkaWVudENlbnRlcigp
LnkoKTsKKyAgICAgICAgcmFkaXVzID0gcmFkaWFsLT5ncmFkaWVudFJhZGl1cygpOworICAgICAg
ICBmeCA9IHJhZGlhbC0+Z3JhZGllbnRGb2NhbCgpLngoKTsKKyAgICAgICAgZnkgPSByYWRpYWwt
PmdyYWRpZW50Rm9jYWwoKS55KCk7CisKKyAgICAgICAgZnggLT0gY3g7CisgICAgICAgIGZ5IC09
IGN5OworICAgICAgICBmcmFkaXVzID0gMC4wOworCisgICAgICAgIGlmIChzcXJ0KGZ4ICogZngg
KyBmeSAqIGZ5KSA+IHJhZGl1cykgeworICAgICAgICAgICAgZG91YmxlIGFuZ2xlID0gYXRhbjIo
ZnksIGZ4KTsKKyAgICAgICAgICAgIGlmICgoZnggKyBjeCkgPCAgY3gpIHsKKyAgICAgICAgICAg
ICAgICBmeCA9IGludChjb3MoYW5nbGUpICogcmFkaXVzKSArIDE7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGZ4ID0gaW50KGNvcyhhbmdsZSkgKiByYWRpdXMpIC0gMTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoZnkgKyBjeSkgPCAgY3kpIHsKKyAgICAg
ICAgICAgICAgICBmeSA9IGludChzaW4oYW5nbGUpICogcmFkaXVzKSArIDE7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZ5ID0gaW50KHNpbihhbmdsZSkgKiByYWRpdXMp
IC0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIHBhdHRlcm4gPSBjYWly
b19wYXR0ZXJuX2NyZWF0ZV9yYWRpYWwoZnggKyBjeCwgZnkgKyBjeSwgZnJhZGl1cywgY3gsIGN5
LCByYWRpdXMpOworCiAgICAgfSBlbHNlIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
QEAgLTg5LDYgKzEyMSw4IEBAIGJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3Jh
cGgKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIGNhaXJvX21hdHJpeF9tdWx0aXBs
eSgmbWF0cml4LCAmbWF0cml4LCAmZ3JhZGllbnRfbWF0cml4KTsKKyAgICBjYWlyb19tYXRyaXhf
aW52ZXJ0KCZtYXRyaXgpOwogICAgIGNhaXJvX3BhdHRlcm5fc2V0X21hdHJpeChwYXR0ZXJuLCAm
bWF0cml4KTsKIAogICAgIGNvbnN0IFZlY3RvcjxTVkdHcmFkaWVudFN0b3A+JiBzdG9wcyA9IGdy
YWRpZW50U3RvcHMoKTsKQEAgLTk3LDcgKzEzMSw3IEBAIGJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudDo6c2V0dXAoR3JhcGgKICAgICAgICAgZmxvYXQgb2Zmc2V0ID0gc3RvcHNbaV0uZmlyc3Q7
CiAgICAgICAgIENvbG9yIGNvbG9yID0gc3RvcHNbaV0uc2Vjb25kOwogCi0gICAgICAgIGNhaXJv
X3BhdHRlcm5fYWRkX2NvbG9yX3N0b3BfcmdiYShwYXR0ZXJuLCBvZmZzZXQsIGNvbG9yLnJlZCgp
LCBjb2xvci5ncmVlbigpLCBjb2xvci5ibHVlKCksIGNvbG9yLmFscGhhKCkpOworICAgICAgICBj
YWlyb19wYXR0ZXJuX2FkZF9jb2xvcl9zdG9wX3JnYmEocGF0dGVybiwgb2Zmc2V0LCBjb2xvci5y
ZWQoKSAvIDI1NS4wLCBjb2xvci5ncmVlbigpIC8gMjU1LjAsIGNvbG9yLmJsdWUoKSAvIDI1NS4w
LCBjb2xvci5hbHBoYSgpIC8gMjU1LjApOwogICAgIH0KIAogICAgIGNhaXJvX3NldF9zb3VyY2Uo
Y3IsIHBhdHRlcm4pOwoK
</data>
<flag name="review"
          id="8980"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20611</attachid>
            <date>2008-04-16 22:34:20 -0700</date>
            <delta_ts>2008-04-17 13:08:03 -0700</delta_ts>
            <desc>Fixed gradients for SVG in Cairo</desc>
            <filename>Gradients.patch</filename>
            <type>text/plain</type>
            <size>4347</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTk5MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDgtMDQtMTYgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBT
VkctZ3JhZGllbnRzIGluIENhaXJvLgorCisgICAgICAgICogc3ZnL2dyYXBoaWNzL2NhaXJvL1NW
R1BhaW50U2VydmVyR3JhZGllbnRDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYWlu
dFNlcnZlckdyYWRpZW50OjpzZXR1cCk6CisKIDIwMDgtMDQtMTYgIEpvbiBIb25leWN1dHQgIDxq
aG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6
IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NWR1BhaW50U2VydmVyR3JhZGllbnRDYWlyby5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvY2Fpcm8vU1ZHUGFpbnRTZXJ2
ZXJHcmFkaWVudENhaXJvLmNwcAkocmV2aXNpb24gMzE5MzIpCisrKyBXZWJDb3JlL3N2Zy9ncmFw
aGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Myw3ICs0Myw2IEBAIGJvb2wgU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudDo6c2V0dXAoR3Jh
cGgKICAgICBjYWlyb19tYXRyaXhfaW5pdF9pZGVudGl0eSAoJm1hdHJpeCk7CiAgICAgY29uc3Qg
Y2Fpcm9fbWF0cml4X3QgZ3JhZGllbnRfbWF0cml4ID0gZ3JhZGllbnRUcmFuc2Zvcm0oKTsKIAot
ICAgIC8vIFRPRE86IHJldmlzZSB0aGlzIGNvZGUsIGl0IGlzIGtub3duIG5vdCB0byB3b3JrIGlu
IG1hbnkgY2FzZXMKICAgICBpZiAodGhpcy0+dHlwZSgpID09IExpbmVhckdyYWRpZW50UGFpbnRT
ZXJ2ZXIpIHsKICAgICAgICAgY29uc3QgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudCogbGlu
ZWFyID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJMaW5lYXJHcmFkaWVudCo+KHRo
aXMpOwogCkBAIC01MywyMSArNTIsNTAgQEAgYm9vbCBTVkdQYWludFNlcnZlckdyYWRpZW50Ojpz
ZXR1cChHcmFwaAogICAgICAgICAgICAgY2Fpcm9fZmlsbF9leHRlbnRzKGNyLCAmeDEsICZ5MSwg
JngyLCAmeTIpOwogICAgICAgICAgICAgY2Fpcm9fbWF0cml4X3RyYW5zbGF0ZSgmbWF0cml4LCB4
MSwgeTEpOwogICAgICAgICAgICAgY2Fpcm9fbWF0cml4X3NjYWxlKCZtYXRyaXgsIHgyIC0geDEs
IHkyIC0geTEpOwotICAgICAgICAgICAgY2Fpcm9fbWF0cml4X211bHRpcGx5KCZtYXRyaXgsICZt
YXRyaXgsICZncmFkaWVudF9tYXRyaXgpOwotICAgICAgICAgICAgY2Fpcm9fbWF0cml4X2ludmVy
dCgmbWF0cml4KTsKICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZG91YmxlIHgwID0gbGlu
ZWFyLT5ncmFkaWVudFN0YXJ0KCkueCgpOworICAgICAgICBkb3VibGUgeTAgPSBsaW5lYXItPmdy
YWRpZW50U3RhcnQoKS55KCk7CisgICAgICAgIGRvdWJsZSB4MSA9IGxpbmVhci0+Z3JhZGllbnRF
bmQoKS54KCk7CisgICAgICAgIGRvdWJsZSB5MSA9IGxpbmVhci0+Z3JhZGllbnRFbmQoKS55KCk7
CiAKLSAgICAgICAgZG91YmxlIHgwLCB4MSwgeTAsIHkxOwotICAgICAgICB4MCA9IGxpbmVhci0+
Z3JhZGllbnRTdGFydCgpLngoKTsKLSAgICAgICAgeTAgPSBsaW5lYXItPmdyYWRpZW50U3RhcnQo
KS55KCk7Ci0gICAgICAgIHgxID0gbGluZWFyLT5ncmFkaWVudEVuZCgpLngoKTsKLSAgICAgICAg
eTEgPSBsaW5lYXItPmdyYWRpZW50RW5kKCkueSgpOwogICAgICAgICBwYXR0ZXJuID0gY2Fpcm9f
cGF0dGVybl9jcmVhdGVfbGluZWFyKHgwLCB5MCwgeDEsIHkxKTsKIAogICAgIH0gZWxzZSBpZiAo
dGhpcy0+dHlwZSgpID09IFJhZGlhbEdyYWRpZW50UGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgLy8g
Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCogcmFkaWFsID0gc3RhdGljX2Nhc3Q8
Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+KHRoaXMpOwotICAgICAgICAvLyBU
T0RPOiBwYXR0ZXJuID0gY2Fpcm9fcGF0dGVybl9jcmVhdGVfcmFkaWFsKCk7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgY29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCog
cmFkaWFsID0gc3RhdGljX2Nhc3Q8Y29uc3QgU1ZHUGFpbnRTZXJ2ZXJSYWRpYWxHcmFkaWVudCo+
KHRoaXMpOworCisgICAgICAgIGlmIChib3VuZGluZ0JveE1vZGUoKSkgeworICAgICAgICAgICAg
Ly8gVE9ETzogdXNlIFJlbmRlclBhdGhDYWlybydzIHN0cm9rZUJCb3g/CisgICAgICAgICAgICBk
b3VibGUgeDEsIHkxLCB4MiwgeTI7CisgICAgICAgICAgICBjYWlyb19maWxsX2V4dGVudHMoY3Is
ICZ4MSwgJnkxLCAmeDIsICZ5Mik7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfdHJhbnNsYXRl
KCZtYXRyaXgsIHgxLCB5MSk7CisgICAgICAgICAgICBjYWlyb19tYXRyaXhfc2NhbGUoJm1hdHJp
eCwgeDIgLSB4MSwgeTIgLSB5MSk7CisgICAgICAgIH0KKworICAgICAgICBkb3VibGUgY3ggPSBy
YWRpYWwtPmdyYWRpZW50Q2VudGVyKCkueCgpOworICAgICAgICBkb3VibGUgY3kgPSByYWRpYWwt
PmdyYWRpZW50Q2VudGVyKCkueSgpOworICAgICAgICBkb3VibGUgcmFkaXVzID0gcmFkaWFsLT5n
cmFkaWVudFJhZGl1cygpOworICAgICAgICBkb3VibGUgZnggPSByYWRpYWwtPmdyYWRpZW50Rm9j
YWwoKS54KCk7CisgICAgICAgIGRvdWJsZSBmeSA9IHJhZGlhbC0+Z3JhZGllbnRGb2NhbCgpLnko
KTsKKworICAgICAgICBmeCAtPSBjeDsKKyAgICAgICAgZnkgLT0gY3k7CisgICAgICAgIGRvdWJs
ZSBmcmFkaXVzID0gMC4wOworCisgICAgICAgIGlmIChzcXJ0KGZ4ICogZnggKyBmeSAqIGZ5KSA+
IHJhZGl1cykgeworICAgICAgICAgICAgZG91YmxlIGFuZ2xlID0gYXRhbjIoZnksIGZ4KTsKKyAg
ICAgICAgICAgIGlmICgoZnggKyBjeCkgPCBjeCkKKyAgICAgICAgICAgICAgICBmeCA9IGludChj
b3MoYW5nbGUpICogcmFkaXVzKSArIDE7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgZnggPSBpbnQoY29zKGFuZ2xlKSAqIHJhZGl1cykgLSAxOworICAgICAgICAgICAgaWYgKChm
eSArIGN5KSA8IGN5KQorICAgICAgICAgICAgICAgIGZ5ID0gaW50KHNpbihhbmdsZSkgKiByYWRp
dXMpICsgMTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBmeSA9IGludChzaW4o
YW5nbGUpICogcmFkaXVzKSAtIDE7CisgICAgICAgIH0KKworICAgICAgICBwYXR0ZXJuID0gY2Fp
cm9fcGF0dGVybl9jcmVhdGVfcmFkaWFsKGZ4ICsgY3gsIGZ5ICsgY3ksIGZyYWRpdXMsIGN4LCBj
eSwgcmFkaXVzKTsKKwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CkBAIC04OSw2ICsxMTcsOCBAQCBib29sIFNWR1BhaW50U2VydmVyR3JhZGllbnQ6OnNldHVwKEdy
YXBoCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYWlyb19tYXRyaXhfbXVsdGlw
bHkoJm1hdHJpeCwgJm1hdHJpeCwgJmdyYWRpZW50X21hdHJpeCk7CisgICAgY2Fpcm9fbWF0cml4
X2ludmVydCgmbWF0cml4KTsKICAgICBjYWlyb19wYXR0ZXJuX3NldF9tYXRyaXgocGF0dGVybiwg
Jm1hdHJpeCk7CiAKICAgICBjb25zdCBWZWN0b3I8U1ZHR3JhZGllbnRTdG9wPiYgc3RvcHMgPSBn
cmFkaWVudFN0b3BzKCk7CkBAIC05Nyw3ICsxMjcsNyBAQCBib29sIFNWR1BhaW50U2VydmVyR3Jh
ZGllbnQ6OnNldHVwKEdyYXBoCiAgICAgICAgIGZsb2F0IG9mZnNldCA9IHN0b3BzW2ldLmZpcnN0
OwogICAgICAgICBDb2xvciBjb2xvciA9IHN0b3BzW2ldLnNlY29uZDsKIAotICAgICAgICBjYWly
b19wYXR0ZXJuX2FkZF9jb2xvcl9zdG9wX3JnYmEocGF0dGVybiwgb2Zmc2V0LCBjb2xvci5yZWQo
KSwgY29sb3IuZ3JlZW4oKSwgY29sb3IuYmx1ZSgpLCBjb2xvci5hbHBoYSgpKTsKKyAgICAgICAg
Y2Fpcm9fcGF0dGVybl9hZGRfY29sb3Jfc3RvcF9yZ2JhKHBhdHRlcm4sIG9mZnNldCwgY29sb3Iu
cmVkKCkgLyAyNTUuMCwgY29sb3IuZ3JlZW4oKSAvIDI1NS4wLCBjb2xvci5ibHVlKCkgLyAyNTUu
MCwgY29sb3IuYWxwaGEoKSAvIDI1NS4wKTsKICAgICB9CiAKICAgICBjYWlyb19zZXRfc291cmNl
KGNyLCBwYXR0ZXJuKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20635</attachid>
            <date>2008-04-17 13:08:03 -0700</date>
            <delta_ts>2008-04-20 17:24:32 -0700</delta_ts>
            <desc>Fixed gradients for SVG in Cairo</desc>
            <filename>Gradients.patch</filename>
            <type>text/plain</type>
            <size>4544</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMTk5MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDgtMDQtMTYgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBT
VkctZ3JhZGllbnRzIGluIENhaXJvLgorCisgICAgICAgICogc3ZnL2dyYXBoaWNzL2NhaXJvL1NW
R1BhaW50U2VydmVyR3JhZGllbnRDYWlyby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYWlu
dFNlcnZlckdyYWRpZW50OjpzZXR1cCk6CisKIDIwMDgtMDQtMTYgIEpvbiBIb25leWN1dHQgIDxq
aG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6
IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2NhaXJvL1NWR1BhaW50U2VydmVyR3JhZGllbnRDYWlyby5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvY2Fpcm8vU1ZHUGFpbnRTZXJ2
ZXJHcmFkaWVudENhaXJvLmNwcAkocmV2aXNpb24gMzE5MzIpCisrKyBXZWJDb3JlL3N2Zy9ncmFw
aGljcy9jYWlyby9TVkdQYWludFNlcnZlckdyYWRpZW50Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MywzMSArNDMsNTUgQEAgYm9vbCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXR1cChH
cmFwaAogICAgIGNhaXJvX21hdHJpeF9pbml0X2lkZW50aXR5ICgmbWF0cml4KTsKICAgICBjb25z
dCBjYWlyb19tYXRyaXhfdCBncmFkaWVudF9tYXRyaXggPSBncmFkaWVudFRyYW5zZm9ybSgpOwog
Ci0gICAgLy8gVE9ETzogcmV2aXNlIHRoaXMgY29kZSwgaXQgaXMga25vd24gbm90IHRvIHdvcmsg
aW4gbWFueSBjYXNlcwogICAgIGlmICh0aGlzLT50eXBlKCkgPT0gTGluZWFyR3JhZGllbnRQYWlu
dFNlcnZlcikgewogICAgICAgICBjb25zdCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50KiBs
aW5lYXIgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdQYWludFNlcnZlckxpbmVhckdyYWRpZW50Kj4o
dGhpcyk7CiAKICAgICAgICAgaWYgKGJvdW5kaW5nQm94TW9kZSgpKSB7Ci0gICAgICAgICAgICAv
LyBUT0RPOiB1c2UgUmVuZGVyUGF0aENhaXJvJ3Mgc3Ryb2tlQkJveD8KLSAgICAgICAgICAgIGRv
dWJsZSB4MSwgeTEsIHgyLCB5MjsKLSAgICAgICAgICAgIGNhaXJvX2ZpbGxfZXh0ZW50cyhjciwg
JngxLCAmeTEsICZ4MiwgJnkyKTsKLSAgICAgICAgICAgIGNhaXJvX21hdHJpeF90cmFuc2xhdGUo
Jm1hdHJpeCwgeDEsIHkxKTsKLSAgICAgICAgICAgIGNhaXJvX21hdHJpeF9zY2FsZSgmbWF0cml4
LCB4MiAtIHgxLCB5MiAtIHkxKTsKLSAgICAgICAgICAgIGNhaXJvX21hdHJpeF9tdWx0aXBseSgm
bWF0cml4LCAmbWF0cml4LCAmZ3JhZGllbnRfbWF0cml4KTsKLSAgICAgICAgICAgIGNhaXJvX21h
dHJpeF9pbnZlcnQoJm1hdHJpeCk7CisgICAgICAgICAgICBGbG9hdFJlY3QgYmJveCA9IG9iamVj
dC0+cmVsYXRpdmVCQm94KGZhbHNlKTsKKyAgICAgICAgICAgIGNhaXJvX21hdHJpeF90cmFuc2xh
dGUoJm1hdHJpeCwgYmJveC54KCksIGJib3gueSgpKTsKKyAgICAgICAgICAgIGNhaXJvX21hdHJp
eF9zY2FsZSgmbWF0cml4LCBiYm94LndpZHRoKCksIGJib3guaGVpZ2h0KCkpOwogICAgICAgICB9
CisgICAgICAgIAorICAgICAgICBkb3VibGUgeDAgPSBsaW5lYXItPmdyYWRpZW50U3RhcnQoKS54
KCk7CisgICAgICAgIGRvdWJsZSB5MCA9IGxpbmVhci0+Z3JhZGllbnRTdGFydCgpLnkoKTsKKyAg
ICAgICAgZG91YmxlIHgxID0gbGluZWFyLT5ncmFkaWVudEVuZCgpLngoKTsKKyAgICAgICAgZG91
YmxlIHkxID0gbGluZWFyLT5ncmFkaWVudEVuZCgpLnkoKTsKIAotICAgICAgICBkb3VibGUgeDAs
IHgxLCB5MCwgeTE7Ci0gICAgICAgIHgwID0gbGluZWFyLT5ncmFkaWVudFN0YXJ0KCkueCgpOwot
ICAgICAgICB5MCA9IGxpbmVhci0+Z3JhZGllbnRTdGFydCgpLnkoKTsKLSAgICAgICAgeDEgPSBs
aW5lYXItPmdyYWRpZW50RW5kKCkueCgpOwotICAgICAgICB5MSA9IGxpbmVhci0+Z3JhZGllbnRF
bmQoKS55KCk7CiAgICAgICAgIHBhdHRlcm4gPSBjYWlyb19wYXR0ZXJuX2NyZWF0ZV9saW5lYXIo
eDAsIHkwLCB4MSwgeTEpOwogCiAgICAgfSBlbHNlIGlmICh0aGlzLT50eXBlKCkgPT0gUmFkaWFs
R3JhZGllbnRQYWludFNlcnZlcikgewotICAgICAgICAvLyBjb25zdCBTVkdQYWludFNlcnZlclJh
ZGlhbEdyYWRpZW50KiByYWRpYWwgPSBzdGF0aWNfY2FzdDxjb25zdCBTVkdQYWludFNlcnZlclJh
ZGlhbEdyYWRpZW50Kj4odGhpcyk7Ci0gICAgICAgIC8vIFRPRE86IHBhdHRlcm4gPSBjYWlyb19w
YXR0ZXJuX2NyZWF0ZV9yYWRpYWwoKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBj
b25zdCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50KiByYWRpYWwgPSBzdGF0aWNfY2FzdDxj
b25zdCBTVkdQYWludFNlcnZlclJhZGlhbEdyYWRpZW50Kj4odGhpcyk7CisKKyAgICAgICAgaWYg
KGJvdW5kaW5nQm94TW9kZSgpKSB7CisgICAgICAgICAgICBGbG9hdFJlY3QgYmJveCA9IG9iamVj
dC0+cmVsYXRpdmVCQm94KGZhbHNlKTsKKyAgICAgICAgICAgIGNhaXJvX21hdHJpeF90cmFuc2xh
dGUoJm1hdHJpeCwgYmJveC54KCksIGJib3gueSgpKTsKKyAgICAgICAgICAgIGNhaXJvX21hdHJp
eF9zY2FsZSgmbWF0cml4LCBiYm94LndpZHRoKCksIGJib3guaGVpZ2h0KCkpOworICAgICAgICB9
CisKKyAgICAgICAgZG91YmxlIGN4ID0gcmFkaWFsLT5ncmFkaWVudENlbnRlcigpLngoKTsKKyAg
ICAgICAgZG91YmxlIGN5ID0gcmFkaWFsLT5ncmFkaWVudENlbnRlcigpLnkoKTsKKyAgICAgICAg
ZG91YmxlIHJhZGl1cyA9IHJhZGlhbC0+Z3JhZGllbnRSYWRpdXMoKTsKKyAgICAgICAgZG91Ymxl
IGZ4ID0gcmFkaWFsLT5ncmFkaWVudEZvY2FsKCkueCgpOworICAgICAgICBkb3VibGUgZnkgPSBy
YWRpYWwtPmdyYWRpZW50Rm9jYWwoKS55KCk7CisKKyAgICAgICAgZnggLT0gY3g7CisgICAgICAg
IGZ5IC09IGN5OworICAgICAgICBkb3VibGUgZnJhZGl1cyA9IDAuMDsKKworICAgICAgICBpZiAo
c3FydChmeCAqIGZ4ICsgZnkgKiBmeSkgPiByYWRpdXMpIHsKKyAgICAgICAgICAgIGRvdWJsZSBh
bmdsZSA9IGF0YW4yKGZ5LCBmeCk7CisgICAgICAgICAgICBpZiAoKGZ4ICsgY3gpIDwgY3gpCisg
ICAgICAgICAgICAgICAgZnggPSBpbnQoY29zKGFuZ2xlKSAqIHJhZGl1cykgKyAxOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZ4ID0gaW50KGNvcyhhbmdsZSkgKiByYWRpdXMp
IC0gMTsKKyAgICAgICAgICAgIGlmICgoZnkgKyBjeSkgPCBjeSkKKyAgICAgICAgICAgICAgICBm
eSA9IGludChzaW4oYW5nbGUpICogcmFkaXVzKSArIDE7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgZnkgPSBpbnQoc2luKGFuZ2xlKSAqIHJhZGl1cykgLSAxOworICAgICAgICB9
CisKKyAgICAgICAgcGF0dGVybiA9IGNhaXJvX3BhdHRlcm5fY3JlYXRlX3JhZGlhbChmeCArIGN4
LCBmeSArIGN5LCBmcmFkaXVzLCBjeCwgY3ksIHJhZGl1cyk7CisKICAgICB9IGVsc2UgewogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtODksNiArMTEzLDggQEAgYm9vbCBTVkdQYWlu
dFNlcnZlckdyYWRpZW50OjpzZXR1cChHcmFwaAogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQog
CisgICAgY2Fpcm9fbWF0cml4X211bHRpcGx5KCZtYXRyaXgsICZtYXRyaXgsICZncmFkaWVudF9t
YXRyaXgpOworICAgIGNhaXJvX21hdHJpeF9pbnZlcnQoJm1hdHJpeCk7CiAgICAgY2Fpcm9fcGF0
dGVybl9zZXRfbWF0cml4KHBhdHRlcm4sICZtYXRyaXgpOwogCiAgICAgY29uc3QgVmVjdG9yPFNW
R0dyYWRpZW50U3RvcD4mIHN0b3BzID0gZ3JhZGllbnRTdG9wcygpOwpAQCAtOTcsNyArMTIzLDcg
QEAgYm9vbCBTVkdQYWludFNlcnZlckdyYWRpZW50OjpzZXR1cChHcmFwaAogICAgICAgICBmbG9h
dCBvZmZzZXQgPSBzdG9wc1tpXS5maXJzdDsKICAgICAgICAgQ29sb3IgY29sb3IgPSBzdG9wc1tp
XS5zZWNvbmQ7CiAKLSAgICAgICAgY2Fpcm9fcGF0dGVybl9hZGRfY29sb3Jfc3RvcF9yZ2JhKHBh
dHRlcm4sIG9mZnNldCwgY29sb3IucmVkKCksIGNvbG9yLmdyZWVuKCksIGNvbG9yLmJsdWUoKSwg
Y29sb3IuYWxwaGEoKSk7CisgICAgICAgIGNhaXJvX3BhdHRlcm5fYWRkX2NvbG9yX3N0b3Bfcmdi
YShwYXR0ZXJuLCBvZmZzZXQsIGNvbG9yLnJlZCgpIC8gMjU1LjAsIGNvbG9yLmdyZWVuKCkgLyAy
NTUuMCwgY29sb3IuYmx1ZSgpIC8gMjU1LjAsIGNvbG9yLmFscGhhKCkgLyAyNTUuMCk7CiAgICAg
fQogCiAgICAgY2Fpcm9fc2V0X3NvdXJjZShjciwgcGF0dGVybik7Cgo=
</data>
<flag name="review"
          id="9002"
          type_id="1"
          status="+"
          setter="alp"
    />
          </attachment>
      

    </bug>

</bugzilla>