<?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>14142</bug_id>
          
          <creation_ts>2007-06-14 12:21:51 -0700</creation_ts>
          <short_desc>SVG text gradients are busted on feature-branch</short_desc>
          <delta_ts>2007-06-14 15:38:29 -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>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>7546</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-06-14 12:21:51 -0700</bug_when>
    <thetext>SVG text gradients are busted on feature-branch

This happened due to my adding painting outline support.  The one-line fix is thus:

Index: rendering/SVGRootInlineBox.cpp
===================================================================
--- rendering/SVGRootInlineBox.cpp      (revision 23529)
+++ rendering/SVGRootInlineBox.cpp      (working copy)
@@ -112,7 +113,7 @@
 
 void SVGRootInlineBox::paint(RenderObject::PaintInfo&amp; paintInfo, int tx, int ty)
 {
-    if (paintInfo.context-&gt;paintingDisabled())
+    if (paintInfo.context-&gt;paintingDisabled() || paintInfo.phase != PaintPhaseForeground)
         return;
 
     FloatRect boundingBox;

I don&apos;t think the root inline box needs to ever paint in any other phase.

I also did a small amount of clenaup in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7542</commentid>
    <comment_count>1</comment_count>
      <attachid>15027</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-06-14 12:23:22 -0700</bug_when>
    <thetext>Created attachment 15027
the fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7543</commentid>
    <comment_count>2</comment_count>
      <attachid>15027</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-06-14 12:26:31 -0700</bug_when>
    <thetext>Comment on attachment 15027
the fix

Looks good. Nice work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7510</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-06-14 15:38:29 -0700</bug_when>
    <thetext>Landed in r23533.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15027</attachid>
            <date>2007-06-14 12:23:22 -0700</date>
            <delta_ts>2007-06-14 12:26:31 -0700</delta_ts>
            <desc>the fix</desc>
            <filename>text.patch</filename>
            <type>text/plain</type>
            <size>10878</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIzNTMx
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDctMDYt
MTQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5pa28uCisKKyAgICAgICAgVGV4dCBncmFkaWVudHMgYXJlIGJyb2tlbiBvbiBmZWF0dXJlIGJy
YW5jaAorICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDE0
MgorCisgICAgICAgICogcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6cHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudCk6CisgICAgICAgICogcmVuZGVyaW5n
L1NWR1Jvb3RJbmxpbmVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlcGFyZVRleHRSZW5k
ZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveDo6cGFpbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUm9vdElubGluZUJveDo6cGFpbnRJbmxpbmVCb3hlcyk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94OjpwYWludENoaWxkSW5saW5lVGV4dEJveCk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdSb290SW5saW5lQm94OjpwYWludENoaWxkSW5saW5lRmxv
d0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaDoKKwogMjAwNy0w
Ni0xNCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJp
Yy4KSW5kZXg6IHJlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBy
ZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDIzNTI5KQorKysgcmVuZGVy
aW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw5IEBA
IHZvaWQgcHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudChSZW5kZXJPYmoKICAgICBTVkdTdHlsZWRF
bGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5bGVkRWxlbWVudCo+KHN2
Z0VsZW1lbnQpOwogICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IG9iamVjdC0+
c3R5bGUoKS0+c3ZnU3R5bGUoKTsKICAgICAKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykKICAgICBBdG9taWNTdHJpbmcgZmlsdGVySWQoU1ZHVVJJUmVmZXJlbmNlOjpnZXRU
YXJnZXQoc3ZnU3R5bGUtPmZpbHRlcigpKSk7CisjZW5kaWYKICAgICBBdG9taWNTdHJpbmcgY2xp
cHBlcklkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN2Z1N0eWxlLT5jbGlwUGF0aCgpKSk7
CiAgICAgQXRvbWljU3RyaW5nIG1hc2tlcklkKFNWR1VSSVJlZmVyZW5jZTo6Z2V0VGFyZ2V0KHN2
Z1N0eWxlLT5tYXNrRWxlbWVudCgpKSk7CiAgICAgCkluZGV4OiByZW5kZXJpbmcvU1ZHUm9vdElu
bGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3Bw
CShyZXZpc2lvbiAyMzUyOSkKKysrIHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlVGV4dFJlbmRl
cmluZyhSZW5kZXJPCiBzdGF0aWMgdm9pZCBwcmVwYXJlVGV4dFJlbmRlcmluZyhSZW5kZXJPYmpl
Y3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxvd0JveCog
Zmxvd0JveCwgRmxvYXRSZWN0JiBib3VuZGluZ0JveCwgdm9pZCogZmlsdGVyKQogI2VuZGlmCiB7
CisgICAgQVNTRVJUKHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlRm9yZWdyb3VuZCk7CiAg
ICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSBmbG93Qm94LT5vYmplY3QoKTsKIAogICAgIHBhaW50
SW5mby5jb250ZXh0LT5zYXZlKCk7CkBAIC0xMTIsNyArMTEzLDcgQEAgRmxvYXRQb2ludCB0b3BM
ZWZ0UG9zaXRpb25PZkNoYXJhY3RlclJhbgogCiB2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50
KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8sIGludCB0eCwgaW50IHR5KQogewot
ICAgIGlmIChwYWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpKQorICAgIGlmIChw
YWludEluZm8uY29udGV4dC0+cGFpbnRpbmdEaXNhYmxlZCgpIHx8IHBhaW50SW5mby5waGFzZSAh
PSBQYWludFBoYXNlRm9yZWdyb3VuZCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRmxvYXRSZWN0
IGJvdW5kaW5nQm94OwpAQCAtOTY5LDEwMSArOTcwLDEwNyBAQCB2b2lkIFNWR1Jvb3RJbmxpbmVC
b3g6OnBhaW50U2VsZWN0aW9uRm9yCiB2b2lkIFNWR1Jvb3RJbmxpbmVCb3g6OnBhaW50SW5saW5l
Qm94ZXMoUmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHks
IElubGluZUZsb3dCb3gqIHN0YXJ0LCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJiBpdCkKIHsK
ICAgICBmb3IgKElubGluZUJveCogY3VyciA9IHN0YXJ0LT5maXJzdENoaWxkKCk7IGN1cnI7IGN1
cnIgPSBjdXJyLT5uZXh0T25MaW5lKCkpIHsKLSAgICAgICAgaWYgKGN1cnItPm9iamVjdCgpLT5p
c1RleHQoKSkgewotICAgICAgICAgICAgSW5saW5lVGV4dEJveCogdGV4dEJveCA9IHN0YXRpY19j
YXN0PElubGluZVRleHRCb3gqPihjdXJyKTsKLQotICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gdGV4dEJveC0+bGVuKCk7Ci0gICAgICAgICAgICBpZiAoIWxlbmd0aCkKLSAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRCb3gt
PnRleHRPYmplY3QoKTsKLSAgICAgICAgICAgIEFTU0VSVCh0ZXh0KTsKLQotICAgICAgICAgICAg
Ly8gUGFpbnQgYWxsIGNvbnRhaW5lZCBjaGFyYWN0ZXJzLCBvbmUtYnktb25lIGFzIHdvcnN0IGNh
c2UuCi0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgICAgICBBU1NFUlQoaXQgIT0gbV9zdmdDaGFycy5lbmQoKSk7Ci0KLSAgICAg
ICAgICAgICAgICBpZiAoISgqaXQpLnZpc2libGUpIHsKLSAgICAgICAgICAgICAgICAgICAgaXQr
KzsKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIGhvdyBtYW55IGNoYXJhY3RlcnMgLSBzdGFydGlu
ZyBmcm9tIHRoZSBjdXJyZW50IC0gY2FuIGJlIGRyYXduIGF0IG9uY2UuCi0gICAgICAgICAgICAg
ICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSBpICsgMSwgcnVuID0gMTsKLSAgICAgICAgICAgICAg
ICB3aGlsZSAoc3RhcnRPZmZzZXQgPCBsZW5ndGgpIHsKLSAgICAgICAgICAgICAgICAgICAgU1ZH
Q2hhciBjaHVuayA9ICooaXQgKyBzdGFydE9mZnNldCAtIGkpOwotICAgICAgICAgICAgICAgICAg
ICBpZiAoY2h1bmsuZHJhd25TZXBlcmF0ZWQpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKLQotICAgICAgICAgICAgICAgICAgICBydW4rKzsKLSAgICAgICAgICAgICAgICAgICAgc3Rh
cnRPZmZzZXQrKzsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBwYWludENo
YXJhY3RlclJhbmdlRm9yVGV4dEJveChwYWludEluZm8sIHR4LCB0eSwgdGV4dEJveCwgKml0LCB0
ZXh0LT5jaGFyYWN0ZXJzKCkgKyB0ZXh0Qm94LT5zdGFydCgpICsgaSwgcnVuKTsKLQotICAgICAg
ICAgICAgICAgIGkgKz0gcnVuIC0gMTsKLSAgICAgICAgICAgICAgICBpdCArPSBydW47Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChjdXJyLT5vYmplY3QoKS0+
aXNUZXh0KCkpCisgICAgICAgICAgICBwYWludENoaWxkSW5saW5lVGV4dEJveChwYWludEluZm8s
IHR4LCB0eSwgc3RhdGljX2Nhc3Q8SW5saW5lVGV4dEJveCo+KGN1cnIpLCBpdCk7CisgICAgICAg
IGVsc2UgewogICAgICAgICAgICAgQVNTRVJUKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKTsKLSAg
ICAgICAgICAgIElubGluZUZsb3dCb3gqIGZsb3dCb3ggPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93
Qm94Kj4oY3Vycik7CisgICAgICAgICAgICBwYWludENoaWxkSW5saW5lRmxvd0JveChwYWludElu
Zm8sIHR4LCB0eSwgc3RhdGljX2Nhc3Q8SW5saW5lRmxvd0JveCo+KGN1cnIpLCBpdCk7CisgICAg
ICAgIH0KKyAgICB9Cit9CiAKLSAgICAgICAgICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveDsKK3Zv
aWQgU1ZHUm9vdElubGluZUJveDo6cGFpbnRDaGlsZElubGluZVRleHRCb3goUmVuZGVyT2JqZWN0
OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElubGluZVRleHRCb3gqIHRl
eHRCb3gsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0KQoreworICAgIHVuc2lnbmVkIGxl
bmd0aCA9IHRleHRCb3gtPmxlbigpOworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm47
CisgICAgCisgICAgUmVuZGVyVGV4dCogdGV4dCA9IHRleHRCb3gtPnRleHRPYmplY3QoKTsKKyAg
ICBBU1NFUlQodGV4dCk7CisgICAgCisgICAgLy8gUGFpbnQgYWxsIGNvbnRhaW5lZCBjaGFyYWN0
ZXJzLCBvbmUtYnktb25lIGFzIHdvcnN0IGNhc2UuCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgIEFTU0VSVChpdCAhPSBtX3N2Z0NoYXJzLmVuZCgp
KTsKKyAgICAgICAgCisgICAgICAgIGlmICghKCppdCkudmlzaWJsZSkgeworICAgICAgICAgICAg
aXQrKzsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICAvLyBEZXRlcm1pbmUgaG93IG1hbnkgY2hhcmFjdGVycyAtIHN0YXJ0aW5nIGZyb20gdGhlIGN1
cnJlbnQgLSBjYW4gYmUgZHJhd24gYXQgb25jZS4KKyAgICAgICAgdW5zaWduZWQgc3RhcnRPZmZz
ZXQgPSBpICsgMSwgcnVuID0gMTsKKyAgICAgICAgd2hpbGUgKHN0YXJ0T2Zmc2V0IDwgbGVuZ3Ro
KSB7CisgICAgICAgICAgICBTVkdDaGFyIGNodW5rID0gKihpdCArIHN0YXJ0T2Zmc2V0IC0gaSk7
CisgICAgICAgICAgICBpZiAoY2h1bmsuZHJhd25TZXBlcmF0ZWQpCisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJ1bisrOworICAgICAgICAgICAgc3Rh
cnRPZmZzZXQrKzsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcGFpbnRDaGFyYWN0ZXJS
YW5nZUZvclRleHRCb3gocGFpbnRJbmZvLCB0eCwgdHksIHRleHRCb3gsICppdCwgdGV4dC0+Y2hh
cmFjdGVycygpICsgdGV4dEJveC0+c3RhcnQoKSArIGksIHJ1bik7CisgICAgICAgIAorICAgICAg
ICBpICs9IHJ1biAtIDE7CisgICAgICAgIGl0ICs9IHJ1bjsKKyAgICB9Cit9CiAKK3ZvaWQgU1ZH
Um9vdElubGluZUJveDo6cGFpbnRDaGlsZElubGluZUZsb3dCb3goUmVuZGVyT2JqZWN0OjpQYWlu
dEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElubGluZUZsb3dCb3gqIGZsb3dCb3gs
IFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0KQoreworICAgIEZsb2F0UmVjdCBib3VuZGlu
Z0JveDsKKyAgICAKICNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykKLSAgICAg
ICAgICAgIFNWR1Jlc291cmNlRmlsdGVyKiBmaWx0ZXIgPSAwOworICAgIFNWR1Jlc291cmNlRmls
dGVyKiBmaWx0ZXIgPSAwOwogI2Vsc2UKLSAgICAgICAgICAgIHZvaWQqIGZpbHRlciA9IDA7Cisg
ICAgdm9pZCogZmlsdGVyID0gMDsKICNlbmRpZgotICAgICAgICAgICAgcHJlcGFyZVRleHRSZW5k
ZXJpbmcocGFpbnRJbmZvLCB0eCwgdHksIGZsb3dCb3gsIGJvdW5kaW5nQm94LCBmaWx0ZXIpOwot
Ci0gICAgICAgICAgICBSZW5kZXJPYmplY3QqIG9iamVjdCA9IGZsb3dCb3gtPm9iamVjdCgpOwot
ICAgICAgICAgICAgUmVuZGVyT2JqZWN0OjpQYWludEluZm8gcGkocGFpbnRJbmZvKTsKLQotICAg
ICAgICAgICAgaWYgKCFmbG93Qm94LT5pc1Jvb3RJbmxpbmVCb3goKSkKLSAgICAgICAgICAgICAg
ICBwaS5yZWN0ID0gKG9iamVjdC0+bG9jYWxUcmFuc2Zvcm0oKSkuaW52ZXJzZSgpLm1hcFJlY3Qo
cGkucmVjdCk7Ci0KLSAgICAgICAgICAgIGZsb2F0IG9wYWNpdHkgPSBvYmplY3QtPnN0eWxlKCkt
Pm9wYWNpdHkoKTsKLSAgICAgICAgICAgIGlmIChvcGFjaXR5IDwgMS4wZikgewotICAgICAgICAg
ICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGlwKGVuY2xvc2luZ0ludFJlY3QoYm91bmRpbmdC
b3gpKTsKLSAgICAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+YmVnaW5UcmFuc3BhcmVu
Y3lMYXllcihvcGFjaXR5KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgYm9vbCBwYWlu
dGVkID0gZmFsc2U7Ci0gICAgICAgICAgICBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yIHNhdmVk
SXQgPSBpdDsKKyAgICBwcmVwYXJlVGV4dFJlbmRlcmluZyhwYWludEluZm8sIHR4LCB0eSwgZmxv
d0JveCwgYm91bmRpbmdCb3gsIGZpbHRlcik7CiAgICAgCi0gICAgICAgICAgICBTVkdQYWludFNl
cnZlciogZmlsbFBhaW50U2VydmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OmZpbGxQYWludFNlcnZlcihv
YmplY3QtPnN0eWxlKCksIG9iamVjdCk7Ci0gICAgICAgICAgICBpZiAoZmlsbFBhaW50U2VydmVy
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZpbGxQYWludFNlcnZlci0+c2V0dXAocGkuY29udGV4
dCwgb2JqZWN0LCBBcHBseVRvRmlsbFRhcmdldFR5cGUsIHRydWUpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIHBhaW50ZWQgPSB0cnVlOwotCi0gICAgICAgICAgICAgICAgICAgIHBhaW50SW5saW5l
Qm94ZXMocGksIHR4LCB0eSwgZmxvd0JveCwgaXQpOwotICAgICAgICAgICAgICAgICAgICBmaWxs
UGFpbnRTZXJ2ZXItPnRlYXJkb3duKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb0ZpbGxUYXJn
ZXRUeXBlLCB0cnVlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIFNWR1BhaW50U2VydmVyKiBzdHJva2VQYWludFNlcnZlciA9IFNWR1BhaW50U2VydmVy
OjpzdHJva2VQYWludFNlcnZlcihvYmplY3QtPnN0eWxlKCksIG9iamVjdCk7Ci0gICAgICAgICAg
ICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKLSAgICAgICAgICAgICAgICBpZiAoc3Ryb2tlUGFp
bnRTZXJ2ZXItPnNldHVwKHBpLmNvbnRleHQsIG9iamVjdCwgQXBwbHlUb1N0cm9rZVRhcmdldFR5
cGUsIHRydWUpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChwYWludGVkKQotICAgICAgICAg
ICAgICAgICAgICAgICAgaXQgPSBzYXZlZEl0OwotCi0gICAgICAgICAgICAgICAgICAgIHBhaW50
SW5saW5lQm94ZXMocGksIHR4LCB0eSwgZmxvd0JveCwgaXQpOwotICAgICAgICAgICAgICAgICAg
ICBzdHJva2VQYWludFNlcnZlci0+dGVhcmRvd24ocGkuY29udGV4dCwgb2JqZWN0LCBBcHBseVRv
U3Ryb2tlVGFyZ2V0VHlwZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotCi0jaWYgRU5BQkxFKFNWR19FWFBFUklNRU5UQUxfRkVBVFVSRVMpCi0gICAgICAgICAgICBp
ZiAoZmlsdGVyKQotICAgICAgICAgICAgICAgIGZpbHRlci0+YXBwbHlGaWx0ZXIocGFpbnRJbmZv
LmNvbnRleHQsIGJvdW5kaW5nQm94KTsKLSNlbmRpZgotCi0gICAgICAgICAgICBpZiAob3BhY2l0
eSA8IDEuMGYpCi0gICAgICAgICAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmVuZFRyYW5zcGFy
ZW5jeUxheWVyKCk7Ci0KLSAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7
CisgICAgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSBmbG93Qm94LT5vYmplY3QoKTsKKyAgICBSZW5k
ZXJPYmplY3Q6OlBhaW50SW5mbyBwaShwYWludEluZm8pOworICAgIAorICAgIGlmICghZmxvd0Jv
eC0+aXNSb290SW5saW5lQm94KCkpCisgICAgICAgIHBpLnJlY3QgPSAob2JqZWN0LT5sb2NhbFRy
YW5zZm9ybSgpKS5pbnZlcnNlKCkubWFwUmVjdChwaS5yZWN0KTsKKyAgICAKKyAgICBmbG9hdCBv
cGFjaXR5ID0gb2JqZWN0LT5zdHlsZSgpLT5vcGFjaXR5KCk7CisgICAgaWYgKG9wYWNpdHkgPCAx
LjBmKSB7CisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGlwKGVuY2xvc2luZ0ludFJlY3Qo
Ym91bmRpbmdCb3gpKTsKKyAgICAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmJlZ2luVHJhbnNwYXJl
bmN5TGF5ZXIob3BhY2l0eSk7CisgICAgfQorICAgIAorICAgIGJvb2wgcGFpbnRlZCA9IGZhbHNl
OworICAgIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3Igc2F2ZWRJdCA9IGl0OworICAgIAorICAg
IFNWR1BhaW50U2VydmVyKiBmaWxsUGFpbnRTZXJ2ZXIgPSBTVkdQYWludFNlcnZlcjo6ZmlsbFBh
aW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwgb2JqZWN0KTsKKyAgICBpZiAoZmlsbFBhaW50U2Vy
dmVyKSB7CisgICAgICAgIGlmIChmaWxsUGFpbnRTZXJ2ZXItPnNldHVwKHBpLmNvbnRleHQsIG9i
amVjdCwgQXBwbHlUb0ZpbGxUYXJnZXRUeXBlLCB0cnVlKSkgeworICAgICAgICAgICAgcGFpbnRl
ZCA9IHRydWU7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHBhaW50SW5saW5lQm94ZXMocGks
IHR4LCB0eSwgZmxvd0JveCwgaXQpOworICAgICAgICAgICAgZmlsbFBhaW50U2VydmVyLT50ZWFy
ZG93bihwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9GaWxsVGFyZ2V0VHlwZSwgdHJ1ZSk7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgCisgICAgU1ZHUGFpbnRTZXJ2ZXIqIHN0cm9rZVBhaW50U2Vy
dmVyID0gU1ZHUGFpbnRTZXJ2ZXI6OnN0cm9rZVBhaW50U2VydmVyKG9iamVjdC0+c3R5bGUoKSwg
b2JqZWN0KTsKKyAgICBpZiAoc3Ryb2tlUGFpbnRTZXJ2ZXIpIHsKKyAgICAgICAgaWYgKHN0cm9r
ZVBhaW50U2VydmVyLT5zZXR1cChwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJn
ZXRUeXBlLCB0cnVlKSkgeworICAgICAgICAgICAgaWYgKHBhaW50ZWQpCisgICAgICAgICAgICAg
ICAgaXQgPSBzYXZlZEl0OworICAgICAgICAgICAgCisgICAgICAgICAgICBwYWludElubGluZUJv
eGVzKHBpLCB0eCwgdHksIGZsb3dCb3gsIGl0KTsKKyAgICAgICAgICAgIHN0cm9rZVBhaW50U2Vy
dmVyLT50ZWFyZG93bihwaS5jb250ZXh0LCBvYmplY3QsIEFwcGx5VG9TdHJva2VUYXJnZXRUeXBl
LCB0cnVlKTsKICAgICAgICAgfQogICAgIH0KKyAgICAKKyNpZiBFTkFCTEUoU1ZHX0VYUEVSSU1F
TlRBTF9GRUFUVVJFUykKKyAgICBpZiAoZmlsdGVyKQorICAgICAgICBmaWx0ZXItPmFwcGx5Rmls
dGVyKHBhaW50SW5mby5jb250ZXh0LCBib3VuZGluZ0JveCk7CisjZW5kaWYKKyAgICAKKyAgICBp
ZiAob3BhY2l0eSA8IDEuMGYpCisgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5lbmRUcmFuc3Bh
cmVuY3lMYXllcigpOworICAgIAorICAgIHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7CiB9
CiAKIHZvaWQgU1ZHUm9vdElubGluZUJveDo6cGFpbnRDaGFyYWN0ZXJSYW5nZUZvclRleHRCb3go
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElubGlu
ZVRleHRCb3gqIHRleHRCb3gsIGNvbnN0IFNWR0NoYXImIHN2Z0NoYXIsIGNvbnN0IFVDaGFyKiBj
aGFycywgaW50IGxlbmd0aCkKSW5kZXg6IHJlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaAkocmV2aXNpb24gMjM1Mjkp
CisrKyByZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3
ICs2NCw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBhaW50U2VsZWN0aW9uRm9yVGV4dEJveChJ
bmxpbmVUZXh0Qm94KiwgaW50IGJveFN0YXJ0T2Zmc2V0LCBTVkdDaGFyKiwgY29uc3QgVUNoYXIq
LCBpbnQgbGVuZ3RoLCBHcmFwaGljc0NvbnRleHQqLCBpbnQgdHgsIGludCB0eSwgUmVuZGVyU3R5
bGUqLCBjb25zdCBGb250Kik7CiAKLSAgICB2b2lkIHBhaW50SW5saW5lQm94ZXMoUmVuZGVyT2Jq
ZWN0OjpQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxvd0JveCogc3RhcnQsIFZl
Y3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGl0KTsKKyAgICB2b2lkIHBhaW50SW5saW5lQm94ZXMo
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBpbnQgdHgsIGludCB0eSwgSW5saW5lRmxvd0JveCog
c3RhcnQsIFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImKTsKKyAgICB2b2lkIHBhaW50Q2hpbGRJ
bmxpbmVUZXh0Qm94KFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHksIElu
bGluZVRleHRCb3gqLCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJik7CisgICAgdm9pZCBwYWlu
dENoaWxkSW5saW5lRmxvd0JveChSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGludCB0eCwgaW50
IHR5LCBJbmxpbmVGbG93Qm94KiwgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYpOwogICAgIHZv
aWQgcGFpbnRDaGFyYWN0ZXJSYW5nZUZvclRleHRCb3goUmVuZGVyT2JqZWN0OjpQYWludEluZm8m
IHBhaW50SW5mbywgaW50IHR4LCBpbnQgdHksIElubGluZVRleHRCb3gqLCBjb25zdCBTVkdDaGFy
JiwgY29uc3QgVUNoYXIqIGNoYXJzLCBpbnQgbGVuZ3RoKTsKIAogcHJpdmF0ZToK
</data>
<flag name="review"
          id="6192"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>