<?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>19790</bug_id>
          
          <creation_ts>2008-06-27 08:38:17 -0700</creation_ts>
          <short_desc>Canvas strokeRect() doesn&apos;t support gradients</short_desc>
          <delta_ts>2008-12-07 01:23:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://developer.mozilla.org/samples/canvas-tutorial/4_9_canvas_lineargradient.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>17269</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>quark67</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>84565</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-27 08:38:17 -0700</bug_when>
    <thetext>strokeRect() doesn&apos;t support gradients in Canvas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84566</commentid>
    <comment_count>1</comment_count>
      <attachid>21972</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-27 08:40:46 -0700</bug_when>
    <thetext>Created attachment 21972
Gradients for strokeRect()

Transformed the Rectangle to a path and let stroke() render the content of strokeRect().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84582</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-27 09:29:25 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=21972) [edit]
&gt; Gradients for strokeRect()
&gt; 
&gt; Transformed the Rectangle to a path and let stroke() render the content of
&gt; strokeRect().
&gt; 

I&apos;m unsure about lineWidth. If we let stroke() render rectangles, do we still need strokeRect(float, float, float, float, float) (5 floats)?
I believe it was used to let the rect render by GraphicsContext and isn&apos;t usefull anymore with the changes above.
Otherwise we need to call setLineWidth().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84646</commentid>
    <comment_count>3</comment_count>
      <attachid>21984</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-28 03:04:01 -0700</bug_when>
    <thetext>Created attachment 21984
strokeRect() with gradients

I spoke with olliej and we were agreed to clean up canvas first before fixing strokeRect() and look if the code could be reused later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84717</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-06-29 11:31:52 -0700</bug_when>
    <thetext>*** Bug 18463 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89752</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-08-29 12:08:14 -0700</bug_when>
    <thetext>This still fails for CG in the latest nightly:
http://builds.nightly.webkit.org/files/trunk/mac/WebKit-SVN-r35993.dmg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101553</commentid>
    <comment_count>6</comment_count>
      <attachid>25786</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-12-05 13:53:00 -0800</bug_when>
    <thetext>Created attachment 25786
strokeRect support for Cg

This should add patter and gradient-strokes for strokeRect(). I&apos;ll run layouttest and set the review-flag afterwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101650</commentid>
    <comment_count>7</comment_count>
      <attachid>25812</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-12-06 04:28:00 -0800</bug_when>
    <thetext>Created attachment 25812
strokeRect support for Cg

Added a LayoutTest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101717</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2008-12-07 01:23:51 -0800</bug_when>
    <thetext>landed in r39080.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21972</attachid>
            <date>2008-06-27 08:40:46 -0700</date>
            <delta_ts>2008-06-28 03:04:01 -0700</delta_ts>
            <desc>Gradients for strokeRect()</desc>
            <filename>CanvasStrokeRect.patch</filename>
            <type>text/plain</type>
            <size>1235</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDgzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDgtMDYtMjcgIERpcmsgU2NodWx6ZSAgPHZiczg1QGdteC5kZT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBz
dHJva2UoKSBmdW5jdGlvbmFsaXR5IHRvIHN0cm9rZVJlY3QoKSBpbiBDYW52YXMKKworICAgICAg
ICAqIGh0bWwvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c3Ryb2tlUmVjdCk6CisKIDIwMDgtMDYtMjcgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlci4KSW5kZXg6IFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShy
ZXZpc2lvbiAzNDgyNikKKysrIFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NTMsMTUgKzc1Myw5IEBAIHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpzdHJva2VSZWMKIAogICAgIEZsb2F0UmVjdCByZWN0KHgsIHksIHdpZHRo
LCBoZWlnaHQpOwogCi0gICAgRmxvYXRSZWN0IGJvdW5kaW5nUmVjdCA9IHJlY3Q7Ci0gICAgYm91
bmRpbmdSZWN0LmluZmxhdGUobGluZVdpZHRoIC8gMik7Ci0gICAgd2lsbERyYXcoYm91bmRpbmdS
ZWN0KTsKLQotICAgIC8vIEZJWE1FOiBObyBzdXBwb3J0IGZvciBncmFkaWVudHMhCi0gICAgaWYg
KHN0YXRlKCkubV9zdHJva2VTdHlsZS0+cGF0dGVybigpKQotICAgICAgICBhcHBseVN0cm9rZVBh
dHRlcm4oKTsKLQotICAgIGMtPnN0cm9rZVJlY3QocmVjdCwgbGluZVdpZHRoKTsKKyAgICBQYXRo
IHBhdGggPSBwYXRoLmNyZWF0ZVJlY3RhbmdsZShyZWN0KTsKKyAgICBtX3BhdGggPSBwYXRoOwor
ICAgIHN0cm9rZSgpOwogfQogCiAjaWYgUExBVEZPUk0oQ0cpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21984</attachid>
            <date>2008-06-28 03:04:01 -0700</date>
            <delta_ts>2008-12-05 13:53:00 -0800</delta_ts>
            <desc>strokeRect() with gradients</desc>
            <filename>CanvasStrokeRect.patch</filename>
            <type>text/plain</type>
            <size>4012</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lv
biAzNDgzMykKKysrIFdlYkNvcmUvaHRtbC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01ODIsMTcgKzU4MiwyNiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6ZmlsbCgpCiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzdHJva2Uo
KQogeworICAgIHN0cm9rZShtX3BhdGgsIHN0YXRlKCkubV9saW5lV2lkdGgpOworfQorCit2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c3Ryb2tlKGNvbnN0IFBhdGgmIHN0cm9rZVBhdGgs
IGZsb2F0IGxpbmVXaWR0aCkKK3sKICAgICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29u
dGV4dCgpOwogICAgIGlmICghYykKICAgICAgICAgcmV0dXJuOworCisgICAgLy8gc3Ryb2tlUmVj
dCgpIGNvdWxkIGhhdmUgaXQncyBvd24gbGluZVdpZHRoIAorICAgIGZsb2F0IHNhdmVkTGluZVdp
ZHRoID0gc3RhdGUoKS5tX2xpbmVXaWR0aDsKKyAgICBzZXRMaW5lV2lkdGgobGluZVdpZHRoKTsg
ICAgICAgIAorCiAgICAgYy0+YmVnaW5QYXRoKCk7Ci0gICAgYy0+YWRkUGF0aChtX3BhdGgpOwor
ICAgIGMtPmFkZFBhdGgoc3Ryb2tlUGF0aCk7CiAKLSAgICBpZiAoIW1fcGF0aC5pc0VtcHR5KCkp
IHsKKyAgICBpZiAoIXN0cm9rZVBhdGguaXNFbXB0eSgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBU
aGlzIGlzIGluc3VmZmljaWVudCwgbmVlZCB0byB1c2UgQ0dDb250ZXh0UmVwbGFjZVBhdGhXaXRo
U3Ryb2tlZFBhdGggdG8gZXhwYW5kIHRvIHJlcXVpcmVkIGJvdW5kcwotICAgICAgICBmbG9hdCBs
aW5lV2lkdGggPSBzdGF0ZSgpLm1fbGluZVdpZHRoOwogICAgICAgICBmbG9hdCBpbnNldCA9IGxp
bmVXaWR0aCAvIDI7Ci0gICAgICAgIEZsb2F0UmVjdCBib3VuZGluZ1JlY3QgPSBtX3BhdGguYm91
bmRpbmdSZWN0KCk7CisgICAgICAgIEZsb2F0UmVjdCBib3VuZGluZ1JlY3QgPSBzdHJva2VQYXRo
LmJvdW5kaW5nUmVjdCgpOwogICAgICAgICBib3VuZGluZ1JlY3QuaW5mbGF0ZShpbnNldCk7CiAg
ICAgICAgIHdpbGxEcmF3KGJvdW5kaW5nUmVjdCk7CiAgICAgfQpAQCAtNjEyLDcgKzYyMSw3IEBA
IHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzdHJva2UoKQogICAgICAgICBDR0NvbnRl
eHRTdHJva2VQYXRoKGMtPnBsYXRmb3JtQ29udGV4dCgpKTsKICAgICB9CiAjZWxpZiBQTEFURk9S
TShRVCkKLSAgICBRUGFpbnRlclBhdGgqIHBhdGggPSBtX3BhdGgucGxhdGZvcm1QYXRoKCk7Cisg
ICAgUVBhaW50ZXJQYXRoKiBwYXRoID0gc3Ryb2tlUGF0aC5wbGF0Zm9ybVBhdGgoKTsKICAgICBR
UGFpbnRlciogcCA9IHN0YXRpY19jYXN0PFFQYWludGVyKj4oYy0+cGxhdGZvcm1Db250ZXh0KCkp
OwogICAgIGlmIChzdGF0ZSgpLm1fc3Ryb2tlU3R5bGUtPmNhbnZhc0dyYWRpZW50KCkpIHsKICAg
ICAgICAgcC0+c2F2ZSgpOwpAQCAtNjI5LDE3ICs2MzgsMTkgQEAgdm9pZCBDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQ6OnN0cm9rZSgpCiAgICAgY2Fpcm9fc2F2ZShjcik7CiAgICAgaWYgKHN0YXRl
KCkubV9zdHJva2VTdHlsZS0+Y2FudmFzR3JhZGllbnQoKSkgewogICAgICAgICBjYWlyb19zZXRf
c291cmNlKGNyLCBzdGF0ZSgpLm1fc3Ryb2tlU3R5bGUtPmNhbnZhc0dyYWRpZW50KCktPmdyYWRp
ZW50KCkucGxhdGZvcm1HcmFkaWVudCgpKTsKLSAgICAgICAgYy0+YWRkUGF0aChtX3BhdGgpOwor
ICAgICAgICBjLT5hZGRQYXRoKHN0cm9rZVBhdGgpOwogICAgICAgICBjYWlyb19zdHJva2UoY3Ip
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChzdGF0ZSgpLm1fc3Ryb2tlU3R5bGUtPnBhdHRl
cm4oKSkKICAgICAgICAgICAgIGFwcGx5U3Ryb2tlUGF0dGVybigpOwotICAgICAgICBjLT5hZGRQ
YXRoKG1fcGF0aCk7CisgICAgICAgIGMtPmFkZFBhdGgoc3Ryb2tlUGF0aCk7CiAgICAgICAgIGNh
aXJvX3N0cm9rZShjcik7CiAgICAgfQogICAgIGNhaXJvX3Jlc3RvcmUoY3IpOwogI2VuZGlmCiAK
KyAgICBzZXRMaW5lV2lkdGgoc2F2ZWRMaW5lV2lkdGgpOworCiAjaWYgRU5BQkxFKERBU0hCT0FS
RF9TVVBQT1JUKQogICAgIGNsZWFyUGF0aEZvckRhc2hib2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0
eU1vZGUoKTsKICNlbmRpZgpAQCAtNzQzLDcgKzc1NCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpzdHJva2VSZWMKIHsKICAgICBpZiAoIXZhbGlkYXRlUmVjdEZvckNhbnZhcyh4
LCB5LCB3aWR0aCwgaGVpZ2h0KSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYgKCEo
bGluZVdpZHRoID49IDApKQogICAgICAgICByZXR1cm47CiAKQEAgLTc1MywxNSArNzY0LDIwIEBA
IHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzdHJva2VSZWMKIAogICAgIEZsb2F0UmVj
dCByZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOwogCi0gICAgRmxvYXRSZWN0IGJvdW5kaW5nUmVj
dCA9IHJlY3Q7Ci0gICAgYm91bmRpbmdSZWN0LmluZmxhdGUobGluZVdpZHRoIC8gMik7Ci0gICAg
d2lsbERyYXcoYm91bmRpbmdSZWN0KTsKLQotICAgIC8vIEZJWE1FOiBObyBzdXBwb3J0IGZvciBn
cmFkaWVudHMhCi0gICAgaWYgKHN0YXRlKCkubV9zdHJva2VTdHlsZS0+cGF0dGVybigpKQotICAg
ICAgICBhcHBseVN0cm9rZVBhdHRlcm4oKTsKKyAgICBpZiAoc3RhdGUoKS5tX3N0cm9rZVN0eWxl
LT5jYW52YXNHcmFkaWVudCgpKSB7CisgICAgICAgIFBhdGggcGF0aDsKKyAgICAgICAgc3Ryb2tl
KHBhdGguY3JlYXRlUmVjdGFuZ2xlKHJlY3QpLCBsaW5lV2lkdGgpOworICAgIH0KKyAgICBlbHNl
IHsKKyAgICAgICAgRmxvYXRSZWN0IGJvdW5kaW5nUmVjdCA9IHJlY3Q7CisgICAgICAgIGJvdW5k
aW5nUmVjdC5pbmZsYXRlKGxpbmVXaWR0aCAvIDIpOworICAgICAgICB3aWxsRHJhdyhib3VuZGlu
Z1JlY3QpOwogCi0gICAgYy0+c3Ryb2tlUmVjdChyZWN0LCBsaW5lV2lkdGgpOworICAgICAgICBp
ZiAoc3RhdGUoKS5tX3N0cm9rZVN0eWxlLT5wYXR0ZXJuKCkpCisgICAgICAgICAgICBhcHBseVN0
cm9rZVBhdHRlcm4oKTsKKworICAgICAgICBjLT5zdHJva2VSZWN0KHJlY3QsIGxpbmVXaWR0aCk7
CisgICAgfQogfQogCiAjaWYgUExBVEZPUk0oQ0cpCkluZGV4OiBXZWJDb3JlL2h0bWwvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5oCShyZXZpc2lvbiAzNDgzMykKKysrIFdlYkNvcmUvaHRtbC9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDYgKzE0MCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzdHJva2VSZWN0KGZsb2F0IHgsIGZs
b2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOwogICAgICAgICB2b2lkIHN0cm9rZVJl
Y3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgbGlu
ZVdpZHRoKTsKIAorICAgICAgICB2b2lkIHN0cm9rZShjb25zdCBQYXRoJiBzdHJva2VQYXRoLCBm
bG9hdCBsaW5lV2lkdGgpOworCiAgICAgICAgIHZvaWQgc2V0U2hhZG93KGZsb2F0IHdpZHRoLCBm
bG9hdCBoZWlnaHQsIGZsb2F0IGJsdXIpOwogICAgICAgICB2b2lkIHNldFNoYWRvdyhmbG9hdCB3
aWR0aCwgZmxvYXQgaGVpZ2h0LCBmbG9hdCBibHVyLCBjb25zdCBTdHJpbmcmIGNvbG9yKTsKICAg
ICAgICAgdm9pZCBzZXRTaGFkb3coZmxvYXQgd2lkdGgsIGZsb2F0IGhlaWdodCwgZmxvYXQgYmx1
ciwgZmxvYXQgZ3JheUxldmVsKTsKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25786</attachid>
            <date>2008-12-05 13:53:00 -0800</date>
            <delta_ts>2008-12-06 04:28:00 -0800</delta_ts>
            <desc>strokeRect support for Cg</desc>
            <filename>cg-strokerect.patch</filename>
            <type>text/plain</type>
            <size>1314</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwCShyZXZpc2lvbiAzOTAzMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjIsNyArNzYyLDI3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzdHJva2VSZWN0KGNvbnN0IEYKIHsKICAgICBpZiAo
cGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47Ci0gICAgQ0dDb250ZXh0U3Ryb2tl
UmVjdFdpdGhXaWR0aChwbGF0Zm9ybUNvbnRleHQoKSwgciwgbGluZVdpZHRoKTsKKworICAgIENH
Q29udGV4dFJlZiBjb250ZXh0ID0gcGxhdGZvcm1Db250ZXh0KCk7CisgICAgc3dpdGNoIChtX2Nv
bW1vbi0+c3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSkgeworICAgIGNhc2UgU29saWRDb2xvclNwYWNl
OgorICAgICAgICBpZiAoc3Ryb2tlQ29sb3IoKS5hbHBoYSgpKQorICAgICAgICAgICAgQ0dDb250
ZXh0U3Ryb2tlUmVjdFdpdGhXaWR0aChjb250ZXh0LCByLCBsaW5lV2lkdGgpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFBhdHRlcm5Db2xvclNwYWNlOgorICAgICAgICBhcHBseVN0cm9rZVBh
dHRlcm4odGhpcywgbV9jb21tb24tPnN0YXRlLnN0cm9rZVBhdHRlcm4uZ2V0KCkpOworICAgICAg
ICBDR0NvbnRleHRTdHJva2VSZWN0V2l0aFdpZHRoKGNvbnRleHQsIHIsIGxpbmVXaWR0aCk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhZGllbnRDb2xvclNwYWNlOgorICAgICAgICBDR0Nv
bnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOworICAgICAgICBzZXRTdHJva2VUaGlja25lc3MobGlu
ZVdpZHRoKTsKKyAgICAgICAgQ0dDb250ZXh0QWRkUmVjdChjb250ZXh0LCByKTsKKyAgICAgICAg
Q0dDb250ZXh0UmVwbGFjZVBhdGhXaXRoU3Ryb2tlZFBhdGgoY29udGV4dCk7CisgICAgICAgIENH
Q29udGV4dENsaXAoY29udGV4dCk7CisgICAgICAgIENHQ29udGV4dERyYXdTaGFkaW5nKGNvbnRl
eHQsIG1fY29tbW9uLT5zdGF0ZS5zdHJva2VHcmFkaWVudC0+cGxhdGZvcm1HcmFkaWVudCgpKTsK
KyAgICAgICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0TGluZUNhcChMaW5lQ2FwIGNh
cCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25812</attachid>
            <date>2008-12-06 04:28:00 -0800</date>
            <delta_ts>2008-12-07 01:08:12 -0800</delta_ts>
            <desc>strokeRect support for Cg</desc>
            <filename>cg-strokerect.patch</filename>
            <type>text/plain</type>
            <size>5684</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTA2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDgtMTItMDYgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
Z3JhZGllbnQgYW5kIHBhdHRlcm4gc3VwcG9ydCBmb3Igc3Ryb2tlUmVjdCBvbiBjYW52YXMvQ2cu
CisKKyAgICAgICAgQ2FudmFzIHN0cm9rZVJlY3QoKSBkb2Vzbid0IHN1cHBvcnQgZ3JhZGllbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc5MAor
CisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NhbnZhcy1zdHJva2VSZWN0Lmh0bWwKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c3Ryb2tlUmVjdCk6CisKIDIwMDgtMTItMDYg
IERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWcgMjI2NjY6
IENsZWFuIHVwIGRhdGEgc3RydWN0dXJlcyB1c2VkIHdoZW4gY29sbGVjdGluZyBVUkxzIG9mIHN1
YnJlc291cmNlcyBmb3Igd2ViYXJjaGl2ZXMKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCShyZXZpc2lvbiAzOTA0NCkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NjIsNyArNzYyLDI3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzdHJv
a2VSZWN0KGNvbnN0IEYKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgQ0dDb250ZXh0U3Ryb2tlUmVjdFdpdGhXaWR0aChwbGF0Zm9ybUNvbnRleHQo
KSwgciwgbGluZVdpZHRoKTsKKworICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gcGxhdGZvcm1D
b250ZXh0KCk7CisgICAgc3dpdGNoIChtX2NvbW1vbi0+c3RhdGUuc3Ryb2tlQ29sb3JTcGFjZSkg
eworICAgIGNhc2UgU29saWRDb2xvclNwYWNlOgorICAgICAgICBpZiAoc3Ryb2tlQ29sb3IoKS5h
bHBoYSgpKQorICAgICAgICAgICAgQ0dDb250ZXh0U3Ryb2tlUmVjdFdpdGhXaWR0aChjb250ZXh0
LCByLCBsaW5lV2lkdGgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBhdHRlcm5Db2xvclNw
YWNlOgorICAgICAgICBhcHBseVN0cm9rZVBhdHRlcm4odGhpcywgbV9jb21tb24tPnN0YXRlLnN0
cm9rZVBhdHRlcm4uZ2V0KCkpOworICAgICAgICBDR0NvbnRleHRTdHJva2VSZWN0V2l0aFdpZHRo
KGNvbnRleHQsIHIsIGxpbmVXaWR0aCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhZGll
bnRDb2xvclNwYWNlOgorICAgICAgICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOworICAg
ICAgICBzZXRTdHJva2VUaGlja25lc3MobGluZVdpZHRoKTsKKyAgICAgICAgQ0dDb250ZXh0QWRk
UmVjdChjb250ZXh0LCByKTsKKyAgICAgICAgQ0dDb250ZXh0UmVwbGFjZVBhdGhXaXRoU3Ryb2tl
ZFBhdGgoY29udGV4dCk7CisgICAgICAgIENHQ29udGV4dENsaXAoY29udGV4dCk7CisgICAgICAg
IENHQ29udGV4dERyYXdTaGFkaW5nKGNvbnRleHQsIG1fY29tbW9uLT5zdGF0ZS5zdHJva2VHcmFk
aWVudC0+cGxhdGZvcm1HcmFkaWVudCgpKTsKKyAgICAgICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0
ZShjb250ZXh0KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogfQogCiB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6c2V0TGluZUNhcChMaW5lQ2FwIGNhcCkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM5MDY1KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMDgtMTItMDYgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyBzdHJva2VSZWN0IHdp
dGggcGF0dGVybnMgYW5kIGdyYWRpZW50cy4KKworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZh
cy1zdHJva2VSZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMv
Y2FudmFzLXN0cm9rZVJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvcmVz
b3VyY2VzL2NhbnZhcy1zdHJva2VSZWN0LmpzOiBBZGRlZC4KKwogMjAwOC0xMi0wNSAgQ2hyaXMg
TWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBI
eWF0dC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1zdHJva2VSZWN0LWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
c3Ryb2tlUmVjdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtc3Ryb2tlUmVjdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMTggQEAKK1NlcmllcyBvZiB0ZXN0cyB0byBlbnN1cmUgY29ycmVjdCBiZWhhdmlvdXIg
b2YgY2FudmFzLnN0cm9rZVJlY3QoKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBpbWdkYXRhWzRdIGlzIDAKK1BBU1MgaW1nZGF0YVs1XSBpcyAxMjgKK1BBU1MgaW1nZGF0
YVs2XSBpcyAwCitQQVNTIGltZ2RhdGFbNF0gaXMgMAorUEFTUyBpbWdkYXRhWzVdIGlzIDEyOAor
UEFTUyBpbWdkYXRhWzZdIGlzIDAKK1BBU1MgaW1nZGF0YVs0XSBpcyAwCitQQVNTIGltZ2RhdGFb
NV0gaXMgMTI4CitQQVNTIGltZ2RhdGFbNl0gaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY2FudmFz
L2NhbnZhcy1zdHJva2VSZWN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvY2FudmFzLXN0cm9rZVJlY3QuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy1zdHJva2VSZWN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNiBAQAorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jYW52YXMtc3Ryb2tlUmVjdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9yZXNvdXJjZXMvY2FudmFz
LXN0cm9rZVJlY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvcmVz
b3VyY2VzL2NhbnZhcy1zdHJva2VSZWN0LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvcmVzb3VyY2VzL2NhbnZhcy1zdHJva2VSZWN0LmpzCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDQ5IEBACitkZXNjcmlwdGlvbigiU2VyaWVzIG9mIHRlc3RzIHRvIGVuc3VyZSBj
b3JyZWN0IGJlaGF2aW91ciBvZiBjYW52YXMuc3Ryb2tlUmVjdCgpIik7Cit2YXIgY3R4ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJykuZ2V0Q29udGV4dCgnMmQnKTsKKworLy8gc3Ry
b2tlIHJlY3Qgd2l0aCBzb2xpZCBncmVlbgorY3R4LmJlZ2luUGF0aCgpOworY3R4LnN0cm9rZVN0
eWxlID0gJ2dyZWVuJzsKK2N0eC5zdHJva2VSZWN0KDUwLCAwLCAxMDAsIDEwMCwgMTAwKTsKKwor
dmFyIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMSwgMSwgOTgsIDk4KTsKK3ZhciBpbWdk
YXRhID0gaW1hZ2VEYXRhLmRhdGE7CitzaG91bGRCZSgiaW1nZGF0YVs0XSIsICIwIik7CitzaG91
bGRCZSgiaW1nZGF0YVs1XSIsICIxMjgiKTsKK3Nob3VsZEJlKCJpbWdkYXRhWzZdIiwgIjAiKTsK
KworY3R4LmNsZWFyUmVjdCgwLCAwLCAxMDAsIDEwMCk7CisKKy8vIHN0cm9rZSByZWN0IHdpdGgg
YSBwYXR0ZXJuCit2YXIgY2FudmFzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycp
OworY2FudmFzMi53aWR0aCA9IDEwMDsKK2NhbnZhczIuaGVpZ2h0ID0gMTAwOwordmFyIGN0eDIg
PSBjYW52YXMyLmdldENvbnRleHQoJzJkJyk7CitjdHgyLmZpbGxTdHlsZSA9ICdncmVlbic7Citj
dHgyLmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsKK3ZhciBwYXR0ZXJuID0gY3R4LmNyZWF0ZVBh
dHRlcm4oY2FudmFzMiwgJ3JlcGVhdCcpOworY3R4LnN0cm9rZVN0eWxlID0gJ3BhdHRlcm4nOwor
Y3R4LnN0cm9rZVJlY3QoNTAsIDAsIDEwMCwgMTAwLCAxMDApOworCitpbWFnZURhdGEgPSBjdHgu
Z2V0SW1hZ2VEYXRhKDEsIDEsIDk4LCA5OCk7CitpbWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7Citz
aG91bGRCZSgiaW1nZGF0YVs0XSIsICIwIik7CitzaG91bGRCZSgiaW1nZGF0YVs1XSIsICIxMjgi
KTsKK3Nob3VsZEJlKCJpbWdkYXRhWzZdIiwgIjAiKTsKKworY3R4LmNsZWFyUmVjdCgwLCAwLCAx
MDAsIDEwMCk7CisKKy8vIHN0cm9rZSByZWN0IHdpdGggZ3JhZGllbnQKK3ZhciBncmFkaWVudCA9
IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAwLCAxMDApOworZ3JhZGllbnQuYWRkQ29s
b3JTdG9wKDAsICJncmVlbiIpOworZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsICJncmVlbiIpOwor
Y3R4LnN0cm9rZVN0eWxlID0gJ2dyYWRpZW50JzsKK2N0eC5zdHJva2VSZWN0KDUwLCAwLCAxMDAs
IDEwMCwgMTAwKTsKKworaW1hZ2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgxLCAxLCA5OCwgOTgp
OworaW1nZGF0YSA9IGltYWdlRGF0YS5kYXRhOworc2hvdWxkQmUoImltZ2RhdGFbNF0iLCAiMCIp
Oworc2hvdWxkQmUoImltZ2RhdGFbNV0iLCAiMTI4Iik7CitzaG91bGRCZSgiaW1nZGF0YVs2XSIs
ICIwIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="12096"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>