<?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>65722</bug_id>
          
          <creation_ts>2011-08-04 15:02:45 -0700</creation_ts>
          <short_desc>Rename absoluteQuadsForRange and InlineTextBox::selectionRect to local*</short_desc>
          <delta_ts>2017-07-21 17:13:31 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>leviw</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>446811</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-04 15:02:45 -0700</bug_when>
    <thetext>RenderText::absoluteQuadsForRange() has:

            FloatRect rect = absoluteQuadForTextBox(box, start, end, useSelectionHeight);
            if (!rect.isZero())
                quads.append(localToAbsoluteQuad(rect));

This is converting local to absolute twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446812</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-04 15:03:02 -0700</bug_when>
    <thetext>Regression from http://trac.webkit.org/changeset/91763</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447289</commentid>
    <comment_count>2</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-05 10:58:24 -0700</bug_when>
    <thetext>Actually I think it&apos;s just an unfortunate (and incorrect) name. absoluteQuadForTextBox doesn&apos;t convert to absolute, I&apos;ll make sure this is the case and rename it to localQuadForTextBox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447392</commentid>
    <comment_count>3</comment_count>
      <attachid>103101</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-05 13:47:02 -0700</bug_when>
    <thetext>Created attachment 103101
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447393</commentid>
    <comment_count>4</comment_count>
      <attachid>103101</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-05 13:51:37 -0700</bug_when>
    <thetext>Comment on attachment 103101
Patch

Not sure this is right. quadForTextBox() calls selectionRect(), which uses selectionRectForRepaint(). The &apos;for repaint&apos; indicates that it&apos;s already been converted to the coordinate system of the repaintContainer (or the root).

If there aren&apos;t repaint tests for this code, you should make some.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447430</commentid>
    <comment_count>5</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-05 14:41:41 -0700</bug_when>
    <thetext>The change 91763 didn&apos;t change change any logic apart from replacing a check for (!r.isEmpty()) with (r.height()) to match absoluteRectsForRange. Just as before it calls selectionRect and then adjust the rect and converts it to the absolute coordinate space using localToAbsoluteQuad.

As far as I can tell quadForTextBox calls InlineTextBox::selectionRect which in turn returns the selection rect in the local coordinate space.

There are a couple of tests that cover this code already and they helped me catch a a mistake in the first version of my patch.

If you still do not trust this to be correct I&apos;d gladly revert change 91763.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447431</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-05 14:47:06 -0700</bug_when>
    <thetext>Ah, InlineTextBox::selectionRect() is in local coords, RenderObject::selectionRect() is in &quot;repaint&quot; coords. The former should be renamed (&quot;localSelectionRect()&quot;?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447436</commentid>
    <comment_count>7</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-05 14:57:47 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Ah, InlineTextBox::selectionRect() is in local coords, RenderObject::selectionRect() is in &quot;repaint&quot; coords. The former should be renamed (&quot;localSelectionRect()&quot;?)

Makes sense, I&apos;ll make the change.
Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447462</commentid>
    <comment_count>8</comment_count>
      <attachid>103128</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-05 16:13:50 -0700</bug_when>
    <thetext>Created attachment 103128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447466</commentid>
    <comment_count>9</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-08-05 16:21:06 -0700</bug_when>
    <thetext>Thanks Simon!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448204</commentid>
    <comment_count>10</comment_count>
      <attachid>103128</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-08 13:11:36 -0700</bug_when>
    <thetext>Comment on attachment 103128
Patch

Clearing flags on attachment: 103128

Committed r92625: &lt;http://trac.webkit.org/changeset/92625&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448205</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-08 13:11:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749078</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-23 15:55:00 -0700</bug_when>
    <thetext>RenderText::absoluteRectsForRange still has:

            // FIXME: This code is wrong. It&apos;s converting local to absolute twice. http://webkit.org/b/65722</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874424</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-04-12 01:16:01 -0700</bug_when>
    <thetext>The confusing comment remains and I have no idea if it&apos;s true or not anymore (but it seems not).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1331173</commentid>
    <comment_count>14</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-07-21 16:09:34 -0700</bug_when>
    <thetext>It&apos;s still there :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1331211</commentid>
    <comment_count>15</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-07-21 17:13:31 -0700</bug_when>
    <thetext>No longer: https://trac.webkit.org/changeset/219753/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103101</attachid>
            <date>2011-08-05 13:47:02 -0700</date>
            <delta_ts>2011-08-05 16:13:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65722-20110805134701.patch</filename>
            <type>text/plain</type>
            <size>2649</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyNTA3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMDUgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdyb25nIGNvZGUgaW4gUmVuZGVy
VGV4dDo6YWJzb2x1dGVRdWFkc0ZvclJhbmdlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBuZXcgZnVuY3Rpb25hbGl0eS4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnF1YWRGb3JUZXh0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmFic29sdXRl
UmVjdHNGb3JSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjphYnNvbHV0ZVF1
YWRzRm9yUmFuZ2UpOgorICAgICAgICBSZW5hbWUgYWJzb2x1dGVRdWFkRm9yVGV4dEJveCB0byBx
dWFkRm9yVGV4dEJveCBhcyBpdCByZXR1cm5zIHRoZSBsb2NhbCwKKyAgICAgICAgbm90IGFic29s
dXRlLCBwb3NpdGlvbnMuCisKIDIwMTEtMDgtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggQ2hyb21pdW0gYnVpbGQuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCShyZXZpc2lvbiA5MjUwMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcy
LDcgKzI3Miw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6YWJzb2x1dGVSZWN0cyhWZWN0b3I8TGEKICAg
ICAgICAgcmVjdHMuYXBwZW5kKGVuY2xvc2luZ0xheW91dFJlY3QoRmxvYXRSZWN0KGFjY3VtdWxh
dGVkT2Zmc2V0ICsgYm94LT50b3BMZWZ0KCksIGJveC0+c2l6ZSgpKSkpOwogfQogCi1zdGF0aWMg
RmxvYXRSZWN0IGFic29sdXRlUXVhZEZvclRleHRCb3goSW5saW5lVGV4dEJveCogYm94LCB1bnNp
Z25lZCBzdGFydCwgdW5zaWduZWQgZW5kLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCkKK3N0YXRp
YyBGbG9hdFJlY3QgcXVhZEZvclRleHRCb3goSW5saW5lVGV4dEJveCogYm94LCB1bnNpZ25lZCBz
dGFydCwgdW5zaWduZWQgZW5kLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCkKIHsKICAgICB1bnNp
Z25lZCByZWFsRW5kID0gbWluKGJveC0+ZW5kKCkgKyAxLCBlbmQpOwogICAgIEludFJlY3QgciA9
IGJveC0+c2VsZWN0aW9uUmVjdChzdGFydCwgcmVhbEVuZCk7CkBAIC0zMjIsNyArMzIyLDcgQEAg
dm9pZCBSZW5kZXJUZXh0OjphYnNvbHV0ZVJlY3RzRm9yUmFuZ2UoVgogICAgICAgICAgICAgcmVj
dHMuYXBwZW5kKGxvY2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKHIpLCBmYWxzZSwgd2FzRml4
ZWQpLmVuY2xvc2luZ0JvdW5kaW5nQm94KCkpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgLy8gRklYTUU6IFRoaXMgY29kZSBpcyB3cm9uZy4gSXQncyBjb252ZXJ0aW5nIGxvY2FsIHRv
IGFic29sdXRlIHR3aWNlLiBodHRwOi8vd2Via2l0Lm9yZy9iLzY1NzIyCi0gICAgICAgICAgICBG
bG9hdFJlY3QgcmVjdCA9IGFic29sdXRlUXVhZEZvclRleHRCb3goYm94LCBzdGFydCwgZW5kLCB1
c2VTZWxlY3Rpb25IZWlnaHQpOworICAgICAgICAgICAgRmxvYXRSZWN0IHJlY3QgPSBxdWFkRm9y
VGV4dEJveChib3gsIHN0YXJ0LCBlbmQsIHVzZVNlbGVjdGlvbkhlaWdodCk7CiAgICAgICAgICAg
ICBpZiAoIXJlY3QuaXNaZXJvKCkpCiAgICAgICAgICAgICAgICAgcmVjdHMuYXBwZW5kKGxvY2Fs
VG9BYnNvbHV0ZVF1YWQocmVjdCwgZmFsc2UsIHdhc0ZpeGVkKS5lbmNsb3NpbmdCb3VuZGluZ0Jv
eCgpKTsKICAgICAgICAgfQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6YWJz
b2x1dGVRdWFkc0ZvclJhbmdlKFYKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHF1YWRzLmFw
cGVuZChsb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UmVjdChyKSwgZmFsc2UsIHdhc0ZpeGVkKSk7
CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBGbG9hdFJlY3QgcmVjdCA9IGFic29sdXRl
UXVhZEZvclRleHRCb3goYm94LCBzdGFydCwgZW5kLCB1c2VTZWxlY3Rpb25IZWlnaHQpOworICAg
ICAgICAgICAgRmxvYXRSZWN0IHJlY3QgPSBxdWFkRm9yVGV4dEJveChib3gsIHN0YXJ0LCBlbmQs
IHVzZVNlbGVjdGlvbkhlaWdodCk7CiAgICAgICAgICAgICBpZiAoIXJlY3QuaXNaZXJvKCkpCiAg
ICAgICAgICAgICAgICAgcXVhZHMuYXBwZW5kKGxvY2FsVG9BYnNvbHV0ZVF1YWQocmVjdCwgZmFs
c2UsIHdhc0ZpeGVkKSk7CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103128</attachid>
            <date>2011-08-05 16:13:50 -0700</date>
            <delta_ts>2011-08-08 13:11:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65722-20110805161349.patch</filename>
            <type>text/plain</type>
            <size>8604</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyNTIzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDgtMDUgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmFtZSBhYnNvbHV0ZVF1YWRz
Rm9yUmFuZ2UgYW5kIElubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3QgdG8gbG9jYWwqCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcyMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
bm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojpsb2NhbFNlbGVjdGlvblJl
Y3QpOgorICAgICAgICBSZW5hbWUgSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uUmVjdCB0byBsb2Nh
bFNlbGVjdGlvblJlY3QgdG8gcmVmbGVjdCB0aGF0CisgICAgICAgIGl0LCB1bmxpa2UgUmVuZGVy
T2JqZWN0OjpzZWxlY3Rpb25SZWN0IHJldHVybnMgYSByZWN0IGluIHRoZSBsb2NhbAorICAgICAg
ICBjb29yZGluYXRlIHNwYWNlLgorCisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpsb2NhbFF1YWRGb3JUZXh0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OmFi
c29sdXRlUmVjdHNGb3JSYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjphYnNv
bHV0ZVF1YWRzRm9yUmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6c2VsZWN0
aW9uUmVjdEZvclJlcGFpbnQpOgorICAgICAgICBSZW5hbWUgYWJzb2x1dGVRdWFkRm9yVGV4dEJv
eCB0byBsb2NhbFF1YWRGb3JUZXh0Qm94IHRvIHJlZmxlY3QgdGhhdCBpdAorICAgICAgICByZXR1
cm5zIGEgcXVhZCBpbiB0aGUgbG9jYWwgY29vcmRpbmF0ZSBzcGFjZS4KKyAgICAgICAgCisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR0lubGluZVRleHQ6OmxvY2FsQ2FyZXRSZWN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
SW5saW5lVGV4dEJveDo6bG9jYWxTZWxlY3Rpb25SZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcv
c3ZnL1NWR0lubGluZVRleHRCb3guaDoKKwogMjAxMS0wOC0wNSAgSmFtZXMgUm9iaW5zb24gIDxq
YW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWNjZWxlcmF0ZWQgY2Fu
dmFzIGJyZWFrcyB3aGVuIG1vdmluZyBjYW52YXNlcyBvciByZXNvdXJjZXMgYmV0d2VlbiBQYWdl
cwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2
aXNpb24gOTI1MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Myw3ICsxNzMsNyBAQCBzdGF0aWMgdm9pZCBhZGp1c3RD
aGFyYWN0ZXJzQW5kTGVuZ3RoRm9yCiAgICAgbGVuZ3RoICs9IGh5cGhlblN0cmluZy5sZW5ndGgo
KTsKIH0KIAotSW50UmVjdCBJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25SZWN0KGludCBzdGFydFBv
cywgaW50IGVuZFBvcykKK0ludFJlY3QgSW5saW5lVGV4dEJveDo6bG9jYWxTZWxlY3Rpb25SZWN0
KGludCBzdGFydFBvcywgaW50IGVuZFBvcykKIHsKICAgICBpbnQgc1BvcyA9IG1heChzdGFydFBv
cyAtIG1fc3RhcnQsIDApOwogICAgIGludCBlUG9zID0gbWluKGVuZFBvcyAtIG1fc3RhcnQsIChp
bnQpbV9sZW4pOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5o
CShyZXZpc2lvbiA5MjUxNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0
Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsNyBAQCBwcml2YXRlOgogcHVibGlj
OgogICAgIHZpcnR1YWwgSW50UmVjdCBjYWxjdWxhdGVCb3VuZGFyaWVzKCkgY29uc3QgeyByZXR1
cm4gSW50UmVjdCh4KCksIHkoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpOyB9CiAKLSAgICB2aXJ0dWFs
IEludFJlY3Qgc2VsZWN0aW9uUmVjdChpbnQgc3RhcnRQb3MsIGludCBlbmRQb3MpOworICAgIHZp
cnR1YWwgSW50UmVjdCBsb2NhbFNlbGVjdGlvblJlY3QoaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9z
KTsKICAgICBib29sIGlzU2VsZWN0ZWQoaW50IHN0YXJ0UG9zLCBpbnQgZW5kUG9zKSBjb25zdDsK
ICAgICB2b2lkIHNlbGVjdGlvblN0YXJ0RW5kKGludCYgc1BvcywgaW50JiBlUG9zKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAkocmV2aXNpb24gOTI1MTcp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3MiwxMCArMjcyLDEwIEBAIHZvaWQgUmVuZGVyVGV4dDo6YWJzb2x1dGVSZWN0cyhW
ZWN0b3I8TGEKICAgICAgICAgcmVjdHMuYXBwZW5kKGVuY2xvc2luZ0xheW91dFJlY3QoRmxvYXRS
ZWN0KGFjY3VtdWxhdGVkT2Zmc2V0ICsgYm94LT50b3BMZWZ0KCksIGJveC0+c2l6ZSgpKSkpOwog
fQogCi1zdGF0aWMgRmxvYXRSZWN0IGFic29sdXRlUXVhZEZvclRleHRCb3goSW5saW5lVGV4dEJv
eCogYm94LCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kLCBib29sIHVzZVNlbGVjdGlvbkhl
aWdodCkKK3N0YXRpYyBGbG9hdFJlY3QgbG9jYWxRdWFkRm9yVGV4dEJveChJbmxpbmVUZXh0Qm94
KiBib3gsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNlU2VsZWN0aW9uSGVp
Z2h0KQogewogICAgIHVuc2lnbmVkIHJlYWxFbmQgPSBtaW4oYm94LT5lbmQoKSArIDEsIGVuZCk7
Ci0gICAgSW50UmVjdCByID0gYm94LT5zZWxlY3Rpb25SZWN0KHN0YXJ0LCByZWFsRW5kKTsKKyAg
ICBJbnRSZWN0IHIgPSBib3gtPmxvY2FsU2VsZWN0aW9uUmVjdChzdGFydCwgcmVhbEVuZCk7CiAg
ICAgaWYgKHIuaGVpZ2h0KCkpIHsKICAgICAgICAgaWYgKCF1c2VTZWxlY3Rpb25IZWlnaHQpIHsK
ICAgICAgICAgICAgIC8vIENoYW5nZSB0aGUgaGVpZ2h0IGFuZCB5IHBvc2l0aW9uIChvciB3aWR0
aCBhbmQgeCBmb3IgdmVydGljYWwgdGV4dCkKQEAgLTMxMCw3ICszMTAsNyBAQCB2b2lkIFJlbmRl
clRleHQ6OmFic29sdXRlUmVjdHNGb3JSYW5nZShWCiAgICAgICAgIGlmIChzdGFydCA8PSBib3gt
PnN0YXJ0KCkgJiYgYm94LT5lbmQoKSA8IGVuZCkgewogICAgICAgICAgICAgSW50UmVjdCByID0g
Ym94LT5jYWxjdWxhdGVCb3VuZGFyaWVzKCk7CiAgICAgICAgICAgICBpZiAodXNlU2VsZWN0aW9u
SGVpZ2h0KSB7Ci0gICAgICAgICAgICAgICAgSW50UmVjdCBzZWxlY3Rpb25SZWN0ID0gYm94LT5z
ZWxlY3Rpb25SZWN0KHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgICAgIEludFJlY3Qgc2VsZWN0
aW9uUmVjdCA9IGJveC0+bG9jYWxTZWxlY3Rpb25SZWN0KHN0YXJ0LCBlbmQpOwogICAgICAgICAg
ICAgICAgIGlmIChib3gtPmlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIHIu
c2V0SGVpZ2h0KHNlbGVjdGlvblJlY3QuaGVpZ2h0KCkpOwogICAgICAgICAgICAgICAgICAgICBy
LnNldFkoc2VsZWN0aW9uUmVjdC55KCkpOwpAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgUmVuZGVy
VGV4dDo6YWJzb2x1dGVSZWN0c0ZvclJhbmdlKFYKICAgICAgICAgICAgIHJlY3RzLmFwcGVuZChs
b2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChyKSwgZmFsc2UsIHdhc0ZpeGVkKS5lbmNsb3Np
bmdCb3VuZGluZ0JveCgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIEZJWE1F
OiBUaGlzIGNvZGUgaXMgd3JvbmcuIEl0J3MgY29udmVydGluZyBsb2NhbCB0byBhYnNvbHV0ZSB0
d2ljZS4gaHR0cDovL3dlYmtpdC5vcmcvYi82NTcyMgotICAgICAgICAgICAgRmxvYXRSZWN0IHJl
Y3QgPSBhYnNvbHV0ZVF1YWRGb3JUZXh0Qm94KGJveCwgc3RhcnQsIGVuZCwgdXNlU2VsZWN0aW9u
SGVpZ2h0KTsKKyAgICAgICAgICAgIEZsb2F0UmVjdCByZWN0ID0gbG9jYWxRdWFkRm9yVGV4dEJv
eChib3gsIHN0YXJ0LCBlbmQsIHVzZVNlbGVjdGlvbkhlaWdodCk7CiAgICAgICAgICAgICBpZiAo
IXJlY3QuaXNaZXJvKCkpCiAgICAgICAgICAgICAgICAgcmVjdHMuYXBwZW5kKGxvY2FsVG9BYnNv
bHV0ZVF1YWQocmVjdCwgZmFsc2UsIHdhc0ZpeGVkKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpKTsK
ICAgICAgICAgfQpAQCAtMzkyLDcgKzM5Miw3IEBAIHZvaWQgUmVuZGVyVGV4dDo6YWJzb2x1dGVR
dWFkc0ZvclJhbmdlKFYKICAgICAgICAgaWYgKHN0YXJ0IDw9IGJveC0+c3RhcnQoKSAmJiBib3gt
PmVuZCgpIDwgZW5kKSB7CiAgICAgICAgICAgICBJbnRSZWN0IHIoYm94LT5jYWxjdWxhdGVCb3Vu
ZGFyaWVzKCkpOwogICAgICAgICAgICAgaWYgKHVzZVNlbGVjdGlvbkhlaWdodCkgewotICAgICAg
ICAgICAgICAgIEludFJlY3Qgc2VsZWN0aW9uUmVjdCA9IGJveC0+c2VsZWN0aW9uUmVjdChzdGFy
dCwgZW5kKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IHNlbGVjdGlvblJlY3QgPSBib3gtPmxv
Y2FsU2VsZWN0aW9uUmVjdChzdGFydCwgZW5kKTsKICAgICAgICAgICAgICAgICBpZiAoYm94LT5p
c0hvcml6b250YWwoKSkgewogICAgICAgICAgICAgICAgICAgICByLnNldEhlaWdodChzZWxlY3Rp
b25SZWN0LmhlaWdodCgpKTsKICAgICAgICAgICAgICAgICAgICAgci5zZXRZKHNlbGVjdGlvblJl
Y3QueSgpKTsKQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIFJlbmRlclRleHQ6OmFic29sdXRlUXVh
ZHNGb3JSYW5nZShWCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBxdWFkcy5hcHBlbmQobG9j
YWxUb0Fic29sdXRlUXVhZChGbG9hdFJlY3QociksIGZhbHNlLCB3YXNGaXhlZCkpOwogICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgRmxvYXRSZWN0IHJlY3QgPSBhYnNvbHV0ZVF1YWRGb3JU
ZXh0Qm94KGJveCwgc3RhcnQsIGVuZCwgdXNlU2VsZWN0aW9uSGVpZ2h0KTsKKyAgICAgICAgICAg
IEZsb2F0UmVjdCByZWN0ID0gbG9jYWxRdWFkRm9yVGV4dEJveChib3gsIHN0YXJ0LCBlbmQsIHVz
ZVNlbGVjdGlvbkhlaWdodCk7CiAgICAgICAgICAgICBpZiAoIXJlY3QuaXNaZXJvKCkpCiAgICAg
ICAgICAgICAgICAgcXVhZHMuYXBwZW5kKGxvY2FsVG9BYnNvbHV0ZVF1YWQocmVjdCwgZmFsc2Us
IHdhc0ZpeGVkKSk7CiAgICAgICAgIH0KQEAgLTE0MDYsNyArMTQwNiw3IEBAIExheW91dFJlY3Qg
UmVuZGVyVGV4dDo6c2VsZWN0aW9uUmVjdEZvclIKIAogICAgIExheW91dFJlY3QgcmVjdDsKICAg
ICBmb3IgKElubGluZVRleHRCb3gqIGJveCA9IGZpcnN0VGV4dEJveCgpOyBib3g7IGJveCA9IGJv
eC0+bmV4dFRleHRCb3goKSkgewotICAgICAgICByZWN0LnVuaXRlKGJveC0+c2VsZWN0aW9uUmVj
dChzdGFydFBvcywgZW5kUG9zKSk7CisgICAgICAgIHJlY3QudW5pdGUoYm94LT5sb2NhbFNlbGVj
dGlvblJlY3Qoc3RhcnRQb3MsIGVuZFBvcykpOwogICAgICAgICByZWN0LnVuaXRlKGVsbGlwc2lz
UmVjdEZvckJveChib3gsIHN0YXJ0UG9zLCBlbmRQb3MpKTsKICAgICB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNw
cAkocmV2aXNpb24gOTI1MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0lubGluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsMTIgKzExNywxMiBAQCBJ
bnRSZWN0IFJlbmRlclNWR0lubGluZVRleHQ6OmxvY2FsQ2FyZXRSCiAKICAgICAvLyBVc2UgdGhl
IGVkZ2Ugb2YgdGhlIHNlbGVjdGlvbiByZWN0IHRvIGRldGVybWluZSB0aGUgY2FyZXQgcmVjdC4K
ICAgICBpZiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNhcmV0T2Zmc2V0KSA8IHRleHRCb3gtPnN0
YXJ0KCkgKyB0ZXh0Qm94LT5sZW4oKSkgewotICAgICAgICBJbnRSZWN0IHJlY3QgPSB0ZXh0Qm94
LT5zZWxlY3Rpb25SZWN0KGNhcmV0T2Zmc2V0LCBjYXJldE9mZnNldCArIDEpOworICAgICAgICBJ
bnRSZWN0IHJlY3QgPSB0ZXh0Qm94LT5sb2NhbFNlbGVjdGlvblJlY3QoY2FyZXRPZmZzZXQsIGNh
cmV0T2Zmc2V0ICsgMSk7CiAgICAgICAgIGludCB4ID0gYm94LT5pc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCkgPyByZWN0LngoKSA6IHJlY3QubWF4WCgpOwogICAgICAgICByZXR1cm4gSW50UmVjdCh4
LCByZWN0LnkoKSwgY2FyZXRXaWR0aCwgcmVjdC5oZWlnaHQoKSk7CiAgICAgfQogCi0gICAgSW50
UmVjdCByZWN0ID0gdGV4dEJveC0+c2VsZWN0aW9uUmVjdChjYXJldE9mZnNldCAtIDEsIGNhcmV0
T2Zmc2V0KTsKKyAgICBJbnRSZWN0IHJlY3QgPSB0ZXh0Qm94LT5sb2NhbFNlbGVjdGlvblJlY3Qo
Y2FyZXRPZmZzZXQgLSAxLCBjYXJldE9mZnNldCk7CiAgICAgaW50IHggPSBib3gtPmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSA/IHJlY3QubWF4WCgpIDogcmVjdC54KCk7CiAgICAgcmV0dXJuIElu
dFJlY3QoeCwgcmVjdC55KCksIGNhcmV0V2lkdGgsIHJlY3QuaGVpZ2h0KCkpOwogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3Bw
CShyZXZpc2lvbiA5MjUxNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5s
aW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsxMTcsNyBAQCBGbG9hdFJl
Y3QgU1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uUmVjCiAgICAgcmV0dXJuIHNlbGVjdGlvblJl
Y3Q7CiB9CiAKLUludFJlY3QgU1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uUmVjdChpbnQgc3Rh
cnRQb3NpdGlvbiwgaW50IGVuZFBvc2l0aW9uKQorSW50UmVjdCBTVkdJbmxpbmVUZXh0Qm94Ojps
b2NhbFNlbGVjdGlvblJlY3QoaW50IHN0YXJ0UG9zaXRpb24sIGludCBlbmRQb3NpdGlvbikKIHsK
ICAgICBpbnQgYm94U3RhcnQgPSBzdGFydCgpOwogICAgIHN0YXJ0UG9zaXRpb24gPSBtYXgoc3Rh
cnRQb3NpdGlvbiAtIGJveFN0YXJ0LCAwKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHSW5saW5lVGV4dEJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiA5MjUxNykKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcGFpbnRTZWxlY3Rpb25CYWNr
Z3JvdW5kKFBhaW50SW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBj
b25zdCBMYXlvdXRQb2ludCYsIExheW91dFVuaXQgbGluZVRvcCwgTGF5b3V0VW5pdCBsaW5lQm90
dG9tKTsKLSAgICB2aXJ0dWFsIEludFJlY3Qgc2VsZWN0aW9uUmVjdChpbnQgc3RhcnRQb3NpdGlv
biwgaW50IGVuZFBvc2l0aW9uKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgbG9jYWxTZWxlY3Rpb25S
ZWN0KGludCBzdGFydFBvc2l0aW9uLCBpbnQgZW5kUG9zaXRpb24pOwogCiAgICAgYm9vbCBtYXBT
dGFydEVuZFBvc2l0aW9uc0ludG9GcmFnbWVudENvb3JkaW5hdGVzKGNvbnN0IFNWR1RleHRGcmFn
bWVudCYsIGludCYgc3RhcnRQb3NpdGlvbiwgaW50JiBlbmRQb3NpdGlvbikgY29uc3Q7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>