<?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>55720</bug_id>
          
          <creation_ts>2011-03-03 15:28:59 -0800</creation_ts>
          <short_desc>Refactor createRendererIfNeeded to avoid premature nextRenderer calculation</short_desc>
          <delta_ts>2011-03-04 00:33:17 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>55626</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddorwin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jer.noble</cc>
    
    <cc>koivisto</cc>
    
    <cc>ossy</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>362008</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-03 15:28:59 -0800</bug_when>
    <thetext>Refactor createRendererIfNeeded to avoid premature nextRenderer calculation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362035</commentid>
    <comment_count>1</comment_count>
      <attachid>84643</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-03 15:58:13 -0800</bug_when>
    <thetext>Created attachment 84643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362036</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-03 15:58:51 -0800</bug_when>
    <thetext>(the CC list is care of webkit-patch --suggest-reviewers, feel free to remove yourself if this change to Node.cpp does not interest you)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362038</commentid>
    <comment_count>3</comment_count>
      <attachid>84644</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-03 16:01:27 -0800</bug_when>
    <thetext>Created attachment 84644
Fix ChangeLog typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362043</commentid>
    <comment_count>4</comment_count>
      <attachid>84644</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-03 16:12:43 -0800</bug_when>
    <thetext>Comment on attachment 84644
Fix ChangeLog typo

great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362090</commentid>
    <comment_count>5</comment_count>
      <attachid>84644</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-03 16:55:54 -0800</bug_when>
    <thetext>Comment on attachment 84644
Fix ChangeLog typo

View in context: https://bugs.webkit.org/attachment.cgi?id=84644&amp;action=review

&gt; Source/WebCore/dom/Node.cpp:1394
&gt; +    newRenderer-&gt;setAnimatableStyle(style.release()); // setAnimatableStyle() can depend on renderer() already being set.

I don’t understand this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362122</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-03 17:32:29 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 84644 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84644&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Node.cpp:1394
&gt; &gt; +    newRenderer-&gt;setAnimatableStyle(style.release()); // setAnimatableStyle() can depend on renderer() already being set.
&gt; 
&gt; I don’t understand this comment.

I can dig up the callstack if you like.  But deep inside setAnimatable style it calls back through RenderLayer which grabs renderer() w/o checking for null.  So it&apos;s required to call setRenderer before setting the animatable style on the renderer it seems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362159</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-03 18:05:36 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; &gt; Source/WebCore/dom/Node.cpp:1394
&gt; &gt; &gt; +    newRenderer-&gt;setAnimatableStyle(style.release()); // setAnimatableStyle() can depend on renderer() already being set.
&gt; &gt; 
&gt; &gt; I don’t understand this comment.
&gt; 
&gt; I can dig up the callstack if you like. But deep inside setAnimatable style it calls back through RenderLayer which grabs renderer() w/o checking for null. So it&apos;s required to call setRenderer before setting the animatable style on the renderer it seems.

OK, but I am not sure this comment is helpful.

The code was setting the renderer and then setting the animatable style, and you added a comment that basically says “this has to be in this order”, but I don’t think that adds value.

Also the wording “can depend” gives me a feeling of fear, and since the comment doesn’t say why there is a dependency, I’m not sure it adds anything beyond what the test coverage already provides.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362298</commentid>
    <comment_count>8</comment_count>
      <attachid>84644</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 23:04:11 -0800</bug_when>
    <thetext>Comment on attachment 84644
Fix ChangeLog typo

Clearing flags on attachment: 84644

Committed r80330: &lt;http://trac.webkit.org/changeset/80330&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362299</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 23:04:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362334</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-04 00:33:17 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; Source/WebCore/dom/Node.cpp:1394
&gt; &gt; &gt; &gt; +    newRenderer-&gt;setAnimatableStyle(style.release()); // setAnimatableStyle() can depend on renderer() already being set.
&gt; &gt; &gt; 
&gt; &gt; &gt; I don’t understand this comment.
&gt; &gt; 
&gt; &gt; I can dig up the callstack if you like. But deep inside setAnimatable style it calls back through RenderLayer which grabs renderer() w/o checking for null. So it&apos;s required to call setRenderer before setting the animatable style on the renderer it seems.
&gt; 
&gt; OK, but I am not sure this comment is helpful.
&gt; 
&gt; The code was setting the renderer and then setting the animatable style, and you added a comment that basically says “this has to be in this order”, but I don’t think that adds value.
&gt; 
&gt; Also the wording “can depend” gives me a feeling of fear, and since the comment doesn’t say why there is a dependency, I’m not sure it adds anything beyond what the test coverage already provides.

I&apos;ll remove it in a follow-up.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84643</attachid>
            <date>2011-03-03 15:58:13 -0800</date>
            <delta_ts>2011-03-03 16:01:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55720-20110303155812.patch</filename>
            <type>text/plain</type>
            <size>8254</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAyNjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMTgxZWJkZTQ2NzU4ZmM1
Y2U2Zjg5YTgzN2Y5MTk5Y2ZlMmY5NWRlLi4wNGI3M2EwOTU5ZGUzMjBhOWE3Yzc5ODcyMTI2Njk2
N2MzNDkwZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDMtMDMgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIGNyZWF0ZVJlbmRlcmVySWZOZWVkZWQgdG8gYXZv
aWQgcHJlbWF0dXJlIG5leHRSZW5kZXJlciBjYWxjdWxhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU3MjAKKworICAgICAgICBUaGVyZSBhcmUg
dHdvIHRoaW5nIGdvaW5nIG9uIGhlcmU6CisgICAgICAgIDEuIERlbGF5aW5nIG5leHRSZW5kZXJl
ciBjYWxjdWxhdGlvbiB1bnRpbCB3ZSBhY3R1YWxseSB1c2UgaXQsCisgICAgICAgICAgIHByZXZp
b3VzbHkgd2Ugd291bGQgYWx3YXlzIGNvbXB1dGUgbmV4dFJlbmRlcmVyIChleHBlbnNpdmUhKQor
ICAgICAgICAgICBldmVuIGlmIG5vIHJlbmRlcmVyIGluc2VydGlvbiB3YXMgdG8gb2NjdXIuCisg
ICAgICAgIDIuIEZpeCBmdWxsc2NyZWVuIGVsZW1lbnRzIHRvIGJlIGluc2VydGVkIGludG8gdGhl
IHJpZ2h0IHBsYWNlCisgICAgICAgICAgIGluIHRoZSByZW5kZXJpbmcgdHJlZS4gIFByZXZpb3Vz
bHkgdGhleSB3b3VsZCBhbHdheXMgYmUgdGhlIGxhc3QKKyAgICAgICAgICAgY2hpbGQgaW4gdGhl
aXIgcGFyZW50J3MgbGlzdCwgZXZlbiBpZiB0aGF0IHdhc24ndCB0aGUgcmlnaHQgcGxhY2UuCisK
KyAgICAgICAgSSBkb24ndCBrbm93IG9mIGFueSB3YXkgdG8gdHJpZ2dlciB0aGUgZnVsbHNjcmVl
biBidWcsCisgICAgICAgIGJ1dCBJIHRlc3RlZCB0aGlzIHdpdGggcGVhY2VrZWVwZXIgYW5kIHNh
dyBubyBwZXJmb3JtYW5jZSBjaGFuZ2UuCisKKyAgICAgICAgUGVhY2VrZWVwZXIncyBkb21KUXVl
cnlCYXNpY3MgaXMgbm93IHBvc3NpYmx5IGFzIG11Y2ggYXMgMiUgZmFzdGVyCisgICAgICAgIGJ1
dCBJIGRvbid0IHJlYWxseSB0cnVzdCB0aGUgc3RhYmlsaXR5IG9mIHRvIGJlZ2luIHdpdGguCisK
KyAgICAgICAgVGhpcyBwYXZlcyB0aGUgd2F5IGZvciBmdXJ0aGVyIGltcHJvdmVtZW50IGluIG91
ciBuZXh0UmVuZGVyZXIKKyAgICAgICAgY2FsY3VsYXRpb24uCisKKyAgICAgICAgKiBkb20vTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjphdHRhY2gpOgorICAgICAgICAoV2ViQ29y
ZTo6Tm9kZTo6cHJldmlvdXNSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpuZXh0
UmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Y3JlYXRlUmVuZGVyZXJBbmRTdHls
ZSk6CisgICAgICAgIChXZWJDb3JlOjp3cmFwV2l0aFJlbmRlckZ1bGxTY3JlZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6Tm9kZTo6Y3JlYXRlUmVuZGVyZXJJZk5lZWRlZCk6CisgICAgICAgICogZG9t
L05vZGUuaDoKKwogMjAxMS0wMy0wMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IHRoZSBXaW5kb3dzIGJ1aWxkLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCmluZGV4IDBjMDExN2M2NGZiYmU5NjZlYmRhYWJkMWIxNmRhZGMwNzQwZGE2M2UuLjhk
ZDdiM2VhOThhYTAwNWQ5NmJjNDE0ZjFiNjkyYWJkMmRhN2Q0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
QEAgLTEyNDIsNiArMTI0Miw3IEBAIHZvaWQgTm9kZTo6YXR0YWNoKCkKICAgICBBU1NFUlQoIWF0
dGFjaGVkKCkpOwogICAgIEFTU0VSVCghcmVuZGVyZXIoKSB8fCAocmVuZGVyZXIoKS0+c3R5bGUo
KSAmJiByZW5kZXJlcigpLT5wYXJlbnQoKSkpOwogCisgICAgLy8gRklYTUU6IFRoaXMgaXMgTyhO
XjIpIGZvciB0aGUgaW5uZXJIVE1MIGNhc2UsIHdoZXJlIGFsbCBjaGlsZHJlbiBhcmUgcmVwbGFj
ZWQgYXQgb25jZSAoYW5kIG5vdCBhdHRhY2hlZCkuCiAgICAgLy8gSWYgdGhpcyBub2RlIGdvdCBh
IHJlbmRlcmVyIGl0IG1heSBiZSB0aGUgcHJldmlvdXNSZW5kZXJlcigpIG9mIHNpYmxpbmcgdGV4
dCBub2RlcyBhbmQgdGh1cyBhZmZlY3QgdGhlCiAgICAgLy8gcmVzdWx0IG9mIFRleHQ6OnJlbmRl
cmVySXNOZWVkZWQoKSBmb3IgdGhvc2Ugbm9kZXMuCiAgICAgaWYgKHJlbmRlcmVyKCkpIHsKQEAg
LTEyODUsMjMgKzEyODYsMjUgQEAgdm9pZCBOb2RlOjpkZXRhY2goKQogICAgIGNsZWFyRmxhZyhJ
bkRldGFjaEZsYWcpOwogfQogCi1SZW5kZXJPYmplY3QgKiBOb2RlOjpwcmV2aW91c1JlbmRlcmVy
KCkKK1JlbmRlck9iamVjdCogTm9kZTo6cHJldmlvdXNSZW5kZXJlcigpCiB7Ci0gICAgZm9yIChO
b2RlICpuID0gcHJldmlvdXNTaWJsaW5nKCk7IG47IG4gPSBuLT5wcmV2aW91c1NpYmxpbmcoKSkg
eworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSB0aGUgc2FtZSBPKE5eMikgYXZvaWRhbmNl
IGFzIG5leHRSZW5kZXJlciBkb2VzCisgICAgLy8gaG93ZXZlciwgd2hlbiBJIHRyaWVkIGFkZGlu
ZyBpdCwgc2V2ZXJhbCB0ZXN0cyBmYWlsZWQuCisgICAgZm9yIChOb2RlKiBuID0gcHJldmlvdXNT
aWJsaW5nKCk7IG47IG4gPSBuLT5wcmV2aW91c1NpYmxpbmcoKSkgewogICAgICAgICBpZiAobi0+
cmVuZGVyZXIoKSkKICAgICAgICAgICAgIHJldHVybiBuLT5yZW5kZXJlcigpOwogICAgIH0KICAg
ICByZXR1cm4gMDsKIH0KIAotUmVuZGVyT2JqZWN0ICogTm9kZTo6bmV4dFJlbmRlcmVyKCkKK1Jl
bmRlck9iamVjdCogTm9kZTo6bmV4dFJlbmRlcmVyKCkKIHsKLSAgICAvLyBBdm9pZCBhbiBPKG5e
MikgcHJvYmxlbSB3aXRoIHRoaXMgZnVuY3Rpb24gYnkgbm90IGNoZWNraW5nIGZvciBuZXh0UmVu
ZGVyZXIoKSB3aGVuIHRoZSBwYXJlbnQgZWxlbWVudCBoYXNuJ3QgZXZlbiAKLSAgICAvLyBiZWVu
IGF0dGFjaGVkIHlldC4KKyAgICAvLyBBdm9pZCBhbiBPKG5eMikgcHJvYmxlbSB3aXRoIHRoaXMg
ZnVuY3Rpb24gYnkgbm90IGNoZWNraW5nIGZvcgorICAgIC8vIG5leHRSZW5kZXJlcigpIHdoZW4g
dGhlIHBhcmVudCBlbGVtZW50IGhhc24ndCBhdHRhY2hlZCB5ZXQuCiAgICAgaWYgKHBhcmVudE9y
SG9zdE5vZGUoKSAmJiAhcGFyZW50T3JIb3N0Tm9kZSgpLT5hdHRhY2hlZCgpKQogICAgICAgICBy
ZXR1cm4gMDsKIAotICAgIGZvciAoTm9kZSAqbiA9IG5leHRTaWJsaW5nKCk7IG47IG4gPSBuLT5u
ZXh0U2libGluZygpKSB7CisgICAgZm9yIChOb2RlKiBuID0gbmV4dFNpYmxpbmcoKTsgbjsgbiA9
IG4tPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgaWYgKG4tPnJlbmRlcmVyKCkpCiAgICAgICAg
ICAgICByZXR1cm4gbi0+cmVuZGVyZXIoKTsKICAgICB9CkBAIC0xMzYxLDQ4ICsxMzY0LDcwIEBA
IE5vZGUgKk5vZGU6Om5leHRMZWFmTm9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK1Jl
bmRlck9iamVjdCogTm9kZTo6Y3JlYXRlUmVuZGVyZXJBbmRTdHlsZSgpCit7CisgICAgQVNTRVJU
KCFyZW5kZXJlcigpKTsKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS0+c2hvdWxkQ3JlYXRlUmVuZGVy
ZXJzKCkpOworCisgICAgQ29udGFpbmVyTm9kZSogcGFyZW50ID0gcGFyZW50T3JIb3N0Tm9kZSgp
OworICAgIEFTU0VSVChwYXJlbnQpOworICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVyZXIg
PSBwYXJlbnQtPnJlbmRlcmVyKCk7CisKKyAgICAvLyBGSVhNRTogSWdub3JpbmcgY2FuSGF2ZUNo
aWxkcmVuKCkgaW4gYSBjYXNlIG9mIGlzU2hhZG93Um9vdCgpIG1pZ2h0IGJlIHdyb25nLgorICAg
IC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MjMKKyAg
ICBpZiAoIXBhcmVudFJlbmRlcmVyIHx8ICghcGFyZW50UmVuZGVyZXItPmNhbkhhdmVDaGlsZHJl
bigpICYmICFpc1NoYWRvd1Jvb3QoKSkgfHwgIXBhcmVudC0+Y2hpbGRTaG91bGRDcmVhdGVSZW5k
ZXJlcih0aGlzKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBSZWZQdHI8UmVuZGVyU3R5bGU+
IHN0eWxlID0gc3R5bGVGb3JSZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyZXJJc05lZWRlZChz
dHlsZS5nZXQoKSkpCisgICAgICAgIHJldHVybiAwOworCisgICAgUmVuZGVyT2JqZWN0KiBuZXdS
ZW5kZXJlciA9IGNyZWF0ZVJlbmRlcmVyKGRvY3VtZW50KCktPnJlbmRlckFyZW5hKCksIHN0eWxl
LmdldCgpKTsKKyAgICBpZiAoIW5ld1JlbmRlcmVyKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IGlmICghcGFyZW50UmVuZGVyZXItPmlzQ2hpbGRBbGxvd2VkKG5ld1JlbmRlcmVyLCBzdHlsZS5n
ZXQoKSkpIHsKKyAgICAgICAgbmV3UmVuZGVyZXItPmRlc3Ryb3koKTsKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgfQorICAgIHNldFJlbmRlcmVyKG5ld1JlbmRlcmVyKTsKKyAgICBuZXdSZW5kZXJl
ci0+c2V0QW5pbWF0YWJsZVN0eWxlKHN0eWxlLnJlbGVhc2UoKSk7IC8vIHNldEFuaW1hdGFibGVT
dHlsZSgpIGNhbiBkZXBlbmQgb24gcmVuZGVyZXIoKSBhbHJlYWR5IGJlaW5nIHNldC4KKyAgICBy
ZXR1cm4gbmV3UmVuZGVyZXI7Cit9CisKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCitzdGF0
aWMgUmVuZGVyRnVsbFNjcmVlbiogd3JhcFdpdGhSZW5kZXJGdWxsU2NyZWVuKFJlbmRlck9iamVj
dCogb2JqZWN0LCBEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgUmVuZGVyRnVsbFNjcmVlbiog
ZnVsbHNjcmVlblJlbmRlcmVyID0gbmV3IChkb2N1bWVudC0+cmVuZGVyQXJlbmEoKSkgUmVuZGVy
RnVsbFNjcmVlbihkb2N1bWVudCk7CisgICAgZnVsbHNjcmVlblJlbmRlcmVyLT5zZXRTdHlsZShS
ZW5kZXJGdWxsU2NyZWVuOjpjcmVhdGVGdWxsU2NyZWVuU3R5bGUoKSk7CisgICAgLy8gSXQncyBw
b3NzaWJsZSB0aGF0IHdlIGZhaWxlZCB0byBjcmVhdGUgdGhlIG5ldyByZW5kZXIgYW5kIGVuZCB1
cCB3cmFwcGluZyBub3RoaW5nLgorICAgIC8vIFdlJ2xsIGVuZCB1cCBkaXNwbGF5aW5nIGEgYmxh
Y2sgc2NyZWVuLCBidXQgSmVyIHNheXMgdGhpcyBpcyBleHBlY3RlZC4KKyAgICBpZiAob2JqZWN0
KQorICAgICAgICBmdWxsc2NyZWVuUmVuZGVyZXItPmFkZENoaWxkKG9iamVjdCk7CisgICAgZG9j
dW1lbnQtPnNldEZ1bGxTY3JlZW5SZW5kZXJlcihmdWxsc2NyZWVuUmVuZGVyZXIpOworICAgIHJl
dHVybiBmdWxsc2NyZWVuUmVuZGVyZXI7Cit9CisjZW5kaWYKKwogdm9pZCBOb2RlOjpjcmVhdGVS
ZW5kZXJlcklmTmVlZGVkKCkKIHsKICAgICBpZiAoIWRvY3VtZW50KCktPnNob3VsZENyZWF0ZVJl
bmRlcmVycygpKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQoIXJlbmRlcmVyKCkpOwot
ICAgIAotICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHBhcmVudE9ySG9zdE5vZGUoKTsKLSAg
ICBBU1NFUlQocGFyZW50KTsKLSAgICAKLSAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlcmVy
ID0gcGFyZW50LT5yZW5kZXJlcigpOwotICAgIFJlbmRlck9iamVjdCogbmV4dFJlbmRlcmVyID0g
dGhpcy0+bmV4dFJlbmRlcmVyKCk7Ci0gICAgCisKKyAgICBSZW5kZXJPYmplY3QqIG5ld1JlbmRl
cmVyID0gY3JlYXRlUmVuZGVyZXJBbmRTdHlsZSgpOworCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQotICAgIC8vIElmIHRoaXMgbm9kZSBpcyBhIGZ1bGxzY3JlZW4gbm9kZSwgY3JlYXRlIGEg
bmV3IGFub255bW91cyBmdWxsIHNjcmVlbgotICAgIC8vIHJlbmRlcmVyLgotICAgIGlmIChkb2N1
bWVudCgpLT53ZWJraXRJc0Z1bGxTY3JlZW4oKSAmJiBkb2N1bWVudCgpLT53ZWJraXRDdXJyZW50
RnVsbFNjcmVlbkVsZW1lbnQoKSA9PSB0aGlzKSB7Ci0gICAgICAgIFJlbmRlckZ1bGxTY3JlZW4q
IGZ1bGxzY3JlZW5SZW5kZXJlciA9IG5ldyAoZG9jdW1lbnQoKS0+cmVuZGVyQXJlbmEoKSkgUmVu
ZGVyRnVsbFNjcmVlbihkb2N1bWVudCgpKTsKLSAgICAgICAgZnVsbHNjcmVlblJlbmRlcmVyLT5z
ZXRTdHlsZShSZW5kZXJGdWxsU2NyZWVuOjpjcmVhdGVGdWxsU2NyZWVuU3R5bGUoKSk7Ci0gICAg
ICAgIHBhcmVudFJlbmRlcmVyLT5hZGRDaGlsZChmdWxsc2NyZWVuUmVuZGVyZXIsIDApOwotICAg
ICAgICBwYXJlbnRSZW5kZXJlciA9IGZ1bGxzY3JlZW5SZW5kZXJlcjsKLSAgICAgICAgbmV4dFJl
bmRlcmVyID0gMDsKLSAgICAgICAgZG9jdW1lbnQoKS0+c2V0RnVsbFNjcmVlblJlbmRlcmVyKGZ1
bGxzY3JlZW5SZW5kZXJlcik7Ci0gICAgfQorICAgIGlmIChkb2N1bWVudCgpLT53ZWJraXRJc0Z1
bGxTY3JlZW4oKSAmJiBkb2N1bWVudCgpLT53ZWJraXRDdXJyZW50RnVsbFNjcmVlbkVsZW1lbnQo
KSA9PSB0aGlzKQorICAgICAgICBuZXdSZW5kZXJlciA9IHdyYXBXaXRoUmVuZGVyRnVsbFNjcmVl
bihuZXdSZW5kZXJlciwgZG9jdW1lbnQoKSk7CiAjZW5kaWYKIAotICAgIC8vIEZJWE1FOiBJZ25v
cmVpbmcgY2FuSGF2ZUNoaWxkcmVuKCkgaW4gYSBjYXNlIG9mIGlzU2hhZG93Um9vdCgpIG1pZ2h0
IGJlIHdyb25nLgotICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTI0MjMKLSAgICBpZiAocGFyZW50UmVuZGVyZXIgJiYgKHBhcmVudFJlbmRlcmVyLT5j
YW5IYXZlQ2hpbGRyZW4oKSB8fCBpc1NoYWRvd1Jvb3QoKSkgJiYgcGFyZW50LT5jaGlsZFNob3Vs
ZENyZWF0ZVJlbmRlcmVyKHRoaXMpKSB7Ci0gICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gc3R5
bGUgPSBzdHlsZUZvclJlbmRlcmVyKCk7Ci0gICAgICAgIGlmIChyZW5kZXJlcklzTmVlZGVkKHN0
eWxlLmdldCgpKSkgewotICAgICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogciA9IGNyZWF0ZVJl
bmRlcmVyKGRvY3VtZW50KCktPnJlbmRlckFyZW5hKCksIHN0eWxlLmdldCgpKSkgewotICAgICAg
ICAgICAgICAgIGlmICghcGFyZW50UmVuZGVyZXItPmlzQ2hpbGRBbGxvd2VkKHIsIHN0eWxlLmdl
dCgpKSkKLSAgICAgICAgICAgICAgICAgICAgci0+ZGVzdHJveSgpOwotICAgICAgICAgICAgICAg
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBzZXRSZW5kZXJlcihyKTsKLSAgICAgICAgICAg
ICAgICAgICAgcmVuZGVyZXIoKS0+c2V0QW5pbWF0YWJsZVN0eWxlKHN0eWxlLnJlbGVhc2UoKSk7
Ci0gICAgICAgICAgICAgICAgICAgIHBhcmVudFJlbmRlcmVyLT5hZGRDaGlsZChyZW5kZXJlcigp
LCBuZXh0UmVuZGVyZXIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgIH0KKyAgICBpZiAoIW5ld1JlbmRlcmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICAvLyBOb3RlOiBBZGRpbmcgbmV3UmVuZGVyZXIgaW5zdGVhZCBvZiByZW5kZXJlcigpLiByZW5k
ZXJlcigpIG1heSBiZSBhIGNoaWxkIG9mIG5ld1JlbmRlcmVyLgorICAgIHBhcmVudE9ySG9zdE5v
ZGUoKS0+cmVuZGVyZXIoKS0+YWRkQ2hpbGQobmV3UmVuZGVyZXIsIG5leHRSZW5kZXJlcigpKTsK
IH0KIAogUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gTm9kZTo6c3R5bGVGb3JSZW5kZXJlcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaAppbmRleCAwMWNhYjdhMDM3MDZiM2QwMzY0ZDA0YTY0ZmEwOTk3MDg1ZGNhNjFmLi5l
NjUwNGFhMjRmMjcyZWY5YTg4Yzk2YjYzNzVjMjgyZTg2OWEzZjZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAg
LTY1OSw2ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIFVzZWQgdG8gc2hhcmUgY29kZSBiZXR3
ZWVuIGxhenlBdHRhY2ggYW5kIHNldE5lZWRzU3R5bGVSZWNhbGMuCiAgICAgdm9pZCBtYXJrQW5j
ZXN0b3JzV2l0aENoaWxkTmVlZHNTdHlsZVJlY2FsYygpOwogCisgICAgUmVuZGVyT2JqZWN0KiBj
cmVhdGVSZW5kZXJlckFuZFN0eWxlKCk7CisKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJn
ZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84644</attachid>
            <date>2011-03-03 16:01:27 -0800</date>
            <delta_ts>2011-03-03 23:04:11 -0800</delta_ts>
            <desc>Fix ChangeLog typo</desc>
            <filename>bug-55720-20110303160126.patch</filename>
            <type>text/plain</type>
            <size>8257</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAyNjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMTgxZWJkZTQ2NzU4ZmM1
Y2U2Zjg5YTgzN2Y5MTk5Y2ZlMmY5NWRlLi4zZmRmMDEzMmVlZDE0MGFjNWJiZGIzZTg1NzRjZDBi
NjY5N2Q5Njk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDMtMDMgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIGNyZWF0ZVJlbmRlcmVySWZOZWVkZWQgdG8gYXZv
aWQgcHJlbWF0dXJlIG5leHRSZW5kZXJlciBjYWxjdWxhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU3MjAKKworICAgICAgICBUaGVyZSBhcmUg
dHdvIHRoaW5nIGdvaW5nIG9uIGhlcmU6CisgICAgICAgIDEuIERlbGF5aW5nIG5leHRSZW5kZXJl
ciBjYWxjdWxhdGlvbiB1bnRpbCB3ZSBhY3R1YWxseSB1c2UgaXQsCisgICAgICAgICAgIHByZXZp
b3VzbHkgd2Ugd291bGQgYWx3YXlzIGNvbXB1dGUgbmV4dFJlbmRlcmVyIChleHBlbnNpdmUhKQor
ICAgICAgICAgICBldmVuIGlmIG5vIHJlbmRlcmVyIGluc2VydGlvbiB3YXMgdG8gb2NjdXIuCisg
ICAgICAgIDIuIEZpeCBmdWxsc2NyZWVuIGVsZW1lbnRzIHRvIGJlIGluc2VydGVkIGludG8gdGhl
IHJpZ2h0IHBsYWNlCisgICAgICAgICAgIGluIHRoZSByZW5kZXJpbmcgdHJlZS4gIFByZXZpb3Vz
bHkgdGhleSB3b3VsZCBhbHdheXMgYmUgdGhlIGxhc3QKKyAgICAgICAgICAgY2hpbGQgaW4gdGhl
aXIgcGFyZW50J3MgbGlzdCwgZXZlbiBpZiB0aGF0IHdhc24ndCB0aGUgcmlnaHQgcGxhY2UuCisK
KyAgICAgICAgSSBkb24ndCBrbm93IG9mIGFueSB3YXkgdG8gdHJpZ2dlciB0aGUgZnVsbHNjcmVl
biBidWcsCisgICAgICAgIGJ1dCBJIHRlc3RlZCB0aGlzIHdpdGggcGVhY2VrZWVwZXIgYW5kIHNh
dyBubyBwZXJmb3JtYW5jZSBjaGFuZ2UuCisKKyAgICAgICAgUGVhY2VrZWVwZXIncyBkb21KUXVl
cnlCYXNpY3MgaXMgbm93IHBvc3NpYmx5IGFzIG11Y2ggYXMgMiUgZmFzdGVyCisgICAgICAgIGJ1
dCBJIGRvbid0IHJlYWxseSB0cnVzdCB0aGUgc3RhYmlsaXR5IG9mIHBlYWNla2VlcGVyIHRvIGJl
Z2luIHdpdGguCisKKyAgICAgICAgVGhpcyBwYXZlcyB0aGUgd2F5IGZvciBmdXJ0aGVyIGltcHJv
dmVtZW50IGluIG91ciBuZXh0UmVuZGVyZXIgY2FsY3VsYXRpb24uCisKKyAgICAgICAgKiBkb20v
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjphdHRhY2gpOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZTo6cHJldmlvdXNSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpu
ZXh0UmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Y3JlYXRlUmVuZGVyZXJBbmRT
dHlsZSk6CisgICAgICAgIChXZWJDb3JlOjp3cmFwV2l0aFJlbmRlckZ1bGxTY3JlZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6Tm9kZTo6Y3JlYXRlUmVuZGVyZXJJZk5lZWRlZCk6CisgICAgICAgICog
ZG9tL05vZGUuaDoKKwogMjAxMS0wMy0wMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IHRoZSBXaW5kb3dzIGJ1aWxkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwCmluZGV4IDBjMDExN2M2NGZiYmU5NjZlYmRhYWJkMWIxNmRhZGMwNzQwZGE2M2Uu
LjhkZDdiM2VhOThhYTAwNWQ5NmJjNDE0ZjFiNjkyYWJkMmRhN2Q0MDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5j
cHAKQEAgLTEyNDIsNiArMTI0Miw3IEBAIHZvaWQgTm9kZTo6YXR0YWNoKCkKICAgICBBU1NFUlQo
IWF0dGFjaGVkKCkpOwogICAgIEFTU0VSVCghcmVuZGVyZXIoKSB8fCAocmVuZGVyZXIoKS0+c3R5
bGUoKSAmJiByZW5kZXJlcigpLT5wYXJlbnQoKSkpOwogCisgICAgLy8gRklYTUU6IFRoaXMgaXMg
TyhOXjIpIGZvciB0aGUgaW5uZXJIVE1MIGNhc2UsIHdoZXJlIGFsbCBjaGlsZHJlbiBhcmUgcmVw
bGFjZWQgYXQgb25jZSAoYW5kIG5vdCBhdHRhY2hlZCkuCiAgICAgLy8gSWYgdGhpcyBub2RlIGdv
dCBhIHJlbmRlcmVyIGl0IG1heSBiZSB0aGUgcHJldmlvdXNSZW5kZXJlcigpIG9mIHNpYmxpbmcg
dGV4dCBub2RlcyBhbmQgdGh1cyBhZmZlY3QgdGhlCiAgICAgLy8gcmVzdWx0IG9mIFRleHQ6OnJl
bmRlcmVySXNOZWVkZWQoKSBmb3IgdGhvc2Ugbm9kZXMuCiAgICAgaWYgKHJlbmRlcmVyKCkpIHsK
QEAgLTEyODUsMjMgKzEyODYsMjUgQEAgdm9pZCBOb2RlOjpkZXRhY2goKQogICAgIGNsZWFyRmxh
ZyhJbkRldGFjaEZsYWcpOwogfQogCi1SZW5kZXJPYmplY3QgKiBOb2RlOjpwcmV2aW91c1JlbmRl
cmVyKCkKK1JlbmRlck9iamVjdCogTm9kZTo6cHJldmlvdXNSZW5kZXJlcigpCiB7Ci0gICAgZm9y
IChOb2RlICpuID0gcHJldmlvdXNTaWJsaW5nKCk7IG47IG4gPSBuLT5wcmV2aW91c1NpYmxpbmco
KSkgeworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSB0aGUgc2FtZSBPKE5eMikgYXZvaWRh
bmNlIGFzIG5leHRSZW5kZXJlciBkb2VzCisgICAgLy8gaG93ZXZlciwgd2hlbiBJIHRyaWVkIGFk
ZGluZyBpdCwgc2V2ZXJhbCB0ZXN0cyBmYWlsZWQuCisgICAgZm9yIChOb2RlKiBuID0gcHJldmlv
dXNTaWJsaW5nKCk7IG47IG4gPSBuLT5wcmV2aW91c1NpYmxpbmcoKSkgewogICAgICAgICBpZiAo
bi0+cmVuZGVyZXIoKSkKICAgICAgICAgICAgIHJldHVybiBuLT5yZW5kZXJlcigpOwogICAgIH0K
ICAgICByZXR1cm4gMDsKIH0KIAotUmVuZGVyT2JqZWN0ICogTm9kZTo6bmV4dFJlbmRlcmVyKCkK
K1JlbmRlck9iamVjdCogTm9kZTo6bmV4dFJlbmRlcmVyKCkKIHsKLSAgICAvLyBBdm9pZCBhbiBP
KG5eMikgcHJvYmxlbSB3aXRoIHRoaXMgZnVuY3Rpb24gYnkgbm90IGNoZWNraW5nIGZvciBuZXh0
UmVuZGVyZXIoKSB3aGVuIHRoZSBwYXJlbnQgZWxlbWVudCBoYXNuJ3QgZXZlbiAKLSAgICAvLyBi
ZWVuIGF0dGFjaGVkIHlldC4KKyAgICAvLyBBdm9pZCBhbiBPKG5eMikgcHJvYmxlbSB3aXRoIHRo
aXMgZnVuY3Rpb24gYnkgbm90IGNoZWNraW5nIGZvcgorICAgIC8vIG5leHRSZW5kZXJlcigpIHdo
ZW4gdGhlIHBhcmVudCBlbGVtZW50IGhhc24ndCBhdHRhY2hlZCB5ZXQuCiAgICAgaWYgKHBhcmVu
dE9ySG9zdE5vZGUoKSAmJiAhcGFyZW50T3JIb3N0Tm9kZSgpLT5hdHRhY2hlZCgpKQogICAgICAg
ICByZXR1cm4gMDsKIAotICAgIGZvciAoTm9kZSAqbiA9IG5leHRTaWJsaW5nKCk7IG47IG4gPSBu
LT5uZXh0U2libGluZygpKSB7CisgICAgZm9yIChOb2RlKiBuID0gbmV4dFNpYmxpbmcoKTsgbjsg
biA9IG4tPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgaWYgKG4tPnJlbmRlcmVyKCkpCiAgICAg
ICAgICAgICByZXR1cm4gbi0+cmVuZGVyZXIoKTsKICAgICB9CkBAIC0xMzYxLDQ4ICsxMzY0LDcw
IEBAIE5vZGUgKk5vZGU6Om5leHRMZWFmTm9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAK
K1JlbmRlck9iamVjdCogTm9kZTo6Y3JlYXRlUmVuZGVyZXJBbmRTdHlsZSgpCit7CisgICAgQVNT
RVJUKCFyZW5kZXJlcigpKTsKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS0+c2hvdWxkQ3JlYXRlUmVu
ZGVyZXJzKCkpOworCisgICAgQ29udGFpbmVyTm9kZSogcGFyZW50ID0gcGFyZW50T3JIb3N0Tm9k
ZSgpOworICAgIEFTU0VSVChwYXJlbnQpOworICAgIFJlbmRlck9iamVjdCogcGFyZW50UmVuZGVy
ZXIgPSBwYXJlbnQtPnJlbmRlcmVyKCk7CisKKyAgICAvLyBGSVhNRTogSWdub3JpbmcgY2FuSGF2
ZUNoaWxkcmVuKCkgaW4gYSBjYXNlIG9mIGlzU2hhZG93Um9vdCgpIG1pZ2h0IGJlIHdyb25nLgor
ICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0MjMK
KyAgICBpZiAoIXBhcmVudFJlbmRlcmVyIHx8ICghcGFyZW50UmVuZGVyZXItPmNhbkhhdmVDaGls
ZHJlbigpICYmICFpc1NoYWRvd1Jvb3QoKSkgfHwgIXBhcmVudC0+Y2hpbGRTaG91bGRDcmVhdGVS
ZW5kZXJlcih0aGlzKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBSZWZQdHI8UmVuZGVyU3R5
bGU+IHN0eWxlID0gc3R5bGVGb3JSZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyZXJJc05lZWRl
ZChzdHlsZS5nZXQoKSkpCisgICAgICAgIHJldHVybiAwOworCisgICAgUmVuZGVyT2JqZWN0KiBu
ZXdSZW5kZXJlciA9IGNyZWF0ZVJlbmRlcmVyKGRvY3VtZW50KCktPnJlbmRlckFyZW5hKCksIHN0
eWxlLmdldCgpKTsKKyAgICBpZiAoIW5ld1JlbmRlcmVyKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIGlmICghcGFyZW50UmVuZGVyZXItPmlzQ2hpbGRBbGxvd2VkKG5ld1JlbmRlcmVyLCBzdHls
ZS5nZXQoKSkpIHsKKyAgICAgICAgbmV3UmVuZGVyZXItPmRlc3Ryb3koKTsKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorICAgIHNldFJlbmRlcmVyKG5ld1JlbmRlcmVyKTsKKyAgICBuZXdSZW5k
ZXJlci0+c2V0QW5pbWF0YWJsZVN0eWxlKHN0eWxlLnJlbGVhc2UoKSk7IC8vIHNldEFuaW1hdGFi
bGVTdHlsZSgpIGNhbiBkZXBlbmQgb24gcmVuZGVyZXIoKSBhbHJlYWR5IGJlaW5nIHNldC4KKyAg
ICByZXR1cm4gbmV3UmVuZGVyZXI7Cit9CisKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCitz
dGF0aWMgUmVuZGVyRnVsbFNjcmVlbiogd3JhcFdpdGhSZW5kZXJGdWxsU2NyZWVuKFJlbmRlck9i
amVjdCogb2JqZWN0LCBEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgUmVuZGVyRnVsbFNjcmVl
biogZnVsbHNjcmVlblJlbmRlcmVyID0gbmV3IChkb2N1bWVudC0+cmVuZGVyQXJlbmEoKSkgUmVu
ZGVyRnVsbFNjcmVlbihkb2N1bWVudCk7CisgICAgZnVsbHNjcmVlblJlbmRlcmVyLT5zZXRTdHls
ZShSZW5kZXJGdWxsU2NyZWVuOjpjcmVhdGVGdWxsU2NyZWVuU3R5bGUoKSk7CisgICAgLy8gSXQn
cyBwb3NzaWJsZSB0aGF0IHdlIGZhaWxlZCB0byBjcmVhdGUgdGhlIG5ldyByZW5kZXIgYW5kIGVu
ZCB1cCB3cmFwcGluZyBub3RoaW5nLgorICAgIC8vIFdlJ2xsIGVuZCB1cCBkaXNwbGF5aW5nIGEg
YmxhY2sgc2NyZWVuLCBidXQgSmVyIHNheXMgdGhpcyBpcyBleHBlY3RlZC4KKyAgICBpZiAob2Jq
ZWN0KQorICAgICAgICBmdWxsc2NyZWVuUmVuZGVyZXItPmFkZENoaWxkKG9iamVjdCk7CisgICAg
ZG9jdW1lbnQtPnNldEZ1bGxTY3JlZW5SZW5kZXJlcihmdWxsc2NyZWVuUmVuZGVyZXIpOworICAg
IHJldHVybiBmdWxsc2NyZWVuUmVuZGVyZXI7Cit9CisjZW5kaWYKKwogdm9pZCBOb2RlOjpjcmVh
dGVSZW5kZXJlcklmTmVlZGVkKCkKIHsKICAgICBpZiAoIWRvY3VtZW50KCktPnNob3VsZENyZWF0
ZVJlbmRlcmVycygpKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQoIXJlbmRlcmVyKCkp
OwotICAgIAotICAgIENvbnRhaW5lck5vZGUqIHBhcmVudCA9IHBhcmVudE9ySG9zdE5vZGUoKTsK
LSAgICBBU1NFUlQocGFyZW50KTsKLSAgICAKLSAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRl
cmVyID0gcGFyZW50LT5yZW5kZXJlcigpOwotICAgIFJlbmRlck9iamVjdCogbmV4dFJlbmRlcmVy
ID0gdGhpcy0+bmV4dFJlbmRlcmVyKCk7Ci0gICAgCisKKyAgICBSZW5kZXJPYmplY3QqIG5ld1Jl
bmRlcmVyID0gY3JlYXRlUmVuZGVyZXJBbmRTdHlsZSgpOworCiAjaWYgRU5BQkxFKEZVTExTQ1JF
RU5fQVBJKQotICAgIC8vIElmIHRoaXMgbm9kZSBpcyBhIGZ1bGxzY3JlZW4gbm9kZSwgY3JlYXRl
IGEgbmV3IGFub255bW91cyBmdWxsIHNjcmVlbgotICAgIC8vIHJlbmRlcmVyLgotICAgIGlmIChk
b2N1bWVudCgpLT53ZWJraXRJc0Z1bGxTY3JlZW4oKSAmJiBkb2N1bWVudCgpLT53ZWJraXRDdXJy
ZW50RnVsbFNjcmVlbkVsZW1lbnQoKSA9PSB0aGlzKSB7Ci0gICAgICAgIFJlbmRlckZ1bGxTY3Jl
ZW4qIGZ1bGxzY3JlZW5SZW5kZXJlciA9IG5ldyAoZG9jdW1lbnQoKS0+cmVuZGVyQXJlbmEoKSkg
UmVuZGVyRnVsbFNjcmVlbihkb2N1bWVudCgpKTsKLSAgICAgICAgZnVsbHNjcmVlblJlbmRlcmVy
LT5zZXRTdHlsZShSZW5kZXJGdWxsU2NyZWVuOjpjcmVhdGVGdWxsU2NyZWVuU3R5bGUoKSk7Ci0g
ICAgICAgIHBhcmVudFJlbmRlcmVyLT5hZGRDaGlsZChmdWxsc2NyZWVuUmVuZGVyZXIsIDApOwot
ICAgICAgICBwYXJlbnRSZW5kZXJlciA9IGZ1bGxzY3JlZW5SZW5kZXJlcjsKLSAgICAgICAgbmV4
dFJlbmRlcmVyID0gMDsKLSAgICAgICAgZG9jdW1lbnQoKS0+c2V0RnVsbFNjcmVlblJlbmRlcmVy
KGZ1bGxzY3JlZW5SZW5kZXJlcik7Ci0gICAgfQorICAgIGlmIChkb2N1bWVudCgpLT53ZWJraXRJ
c0Z1bGxTY3JlZW4oKSAmJiBkb2N1bWVudCgpLT53ZWJraXRDdXJyZW50RnVsbFNjcmVlbkVsZW1l
bnQoKSA9PSB0aGlzKQorICAgICAgICBuZXdSZW5kZXJlciA9IHdyYXBXaXRoUmVuZGVyRnVsbFNj
cmVlbihuZXdSZW5kZXJlciwgZG9jdW1lbnQoKSk7CiAjZW5kaWYKIAotICAgIC8vIEZJWE1FOiBJ
Z25vcmVpbmcgY2FuSGF2ZUNoaWxkcmVuKCkgaW4gYSBjYXNlIG9mIGlzU2hhZG93Um9vdCgpIG1p
Z2h0IGJlIHdyb25nLgotICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTI0MjMKLSAgICBpZiAocGFyZW50UmVuZGVyZXIgJiYgKHBhcmVudFJlbmRlcmVy
LT5jYW5IYXZlQ2hpbGRyZW4oKSB8fCBpc1NoYWRvd1Jvb3QoKSkgJiYgcGFyZW50LT5jaGlsZFNo
b3VsZENyZWF0ZVJlbmRlcmVyKHRoaXMpKSB7Ci0gICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4g
c3R5bGUgPSBzdHlsZUZvclJlbmRlcmVyKCk7Ci0gICAgICAgIGlmIChyZW5kZXJlcklzTmVlZGVk
KHN0eWxlLmdldCgpKSkgewotICAgICAgICAgICAgaWYgKFJlbmRlck9iamVjdCogciA9IGNyZWF0
ZVJlbmRlcmVyKGRvY3VtZW50KCktPnJlbmRlckFyZW5hKCksIHN0eWxlLmdldCgpKSkgewotICAg
ICAgICAgICAgICAgIGlmICghcGFyZW50UmVuZGVyZXItPmlzQ2hpbGRBbGxvd2VkKHIsIHN0eWxl
LmdldCgpKSkKLSAgICAgICAgICAgICAgICAgICAgci0+ZGVzdHJveSgpOwotICAgICAgICAgICAg
ICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBzZXRSZW5kZXJlcihyKTsKLSAgICAgICAg
ICAgICAgICAgICAgcmVuZGVyZXIoKS0+c2V0QW5pbWF0YWJsZVN0eWxlKHN0eWxlLnJlbGVhc2Uo
KSk7Ci0gICAgICAgICAgICAgICAgICAgIHBhcmVudFJlbmRlcmVyLT5hZGRDaGlsZChyZW5kZXJl
cigpLCBuZXh0UmVuZGVyZXIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgIH0KKyAgICBpZiAoIW5ld1JlbmRlcmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICAvLyBOb3RlOiBBZGRpbmcgbmV3UmVuZGVyZXIgaW5zdGVhZCBvZiByZW5kZXJlcigpLiBy
ZW5kZXJlcigpIG1heSBiZSBhIGNoaWxkIG9mIG5ld1JlbmRlcmVyLgorICAgIHBhcmVudE9ySG9z
dE5vZGUoKS0+cmVuZGVyZXIoKS0+YWRkQ2hpbGQobmV3UmVuZGVyZXIsIG5leHRSZW5kZXJlcigp
KTsKIH0KIAogUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gTm9kZTo6c3R5bGVGb3JSZW5kZXJlcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaAppbmRleCAwMWNhYjdhMDM3MDZiM2QwMzY0ZDA0YTY0ZmEwOTk3MDg1ZGNhNjFm
Li5lNjUwNGFhMjRmMjcyZWY5YTg4Yzk2YjYzNzVjMjgyZTg2OWEzZjZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgK
QEAgLTY1OSw2ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIFVzZWQgdG8gc2hhcmUgY29kZSBi
ZXR3ZWVuIGxhenlBdHRhY2ggYW5kIHNldE5lZWRzU3R5bGVSZWNhbGMuCiAgICAgdm9pZCBtYXJr
QW5jZXN0b3JzV2l0aENoaWxkTmVlZHNTdHlsZVJlY2FsYygpOwogCisgICAgUmVuZGVyT2JqZWN0
KiBjcmVhdGVSZW5kZXJlckFuZFN0eWxlKCk7CisKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRU
YXJnZXQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>