<?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>77705</bug_id>
          
          <creation_ts>2012-02-02 18:48:05 -0800</creation_ts>
          <short_desc>Clean-up RenderTableSection::calcRowLogicalHeight</short_desc>
          <delta_ts>2012-02-25 16:19:47 -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>Tables</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>79455</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>548340</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-02 18:48:05 -0800</bug_when>
    <thetext>Currently the function is pretty complicated to understand as we reuse some variables, whose naming is not great, some unneeded variables and the function could be split a bit.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548345</commentid>
    <comment_count>1</comment_count>
      <attachid>125232</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-02 19:00:52 -0800</bug_when>
    <thetext>Created attachment 125232
Proposed simplification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562283</commentid>
    <comment_count>2</comment_count>
      <attachid>125232</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-22 12:56:40 -0800</bug_when>
    <thetext>Comment on attachment 125232
Proposed simplification.

This looks reasonable to me.  I hope you plan to continue cleanup here. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562308</commentid>
    <comment_count>3</comment_count>
      <attachid>125232</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-02-22 13:14:30 -0800</bug_when>
    <thetext>Comment on attachment 125232
Proposed simplification.

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

&gt; Source/WebCore/rendering/RenderTableCell.cpp:102
&gt; +    if (document()-&gt;inQuirksMode() || style()-&gt;boxSizing() == BORDER_BOX) {
&gt; +        // Explicit heights use the border box in quirks mode.
&gt; +        // Don&apos;t adjust height.
&gt; +    } else {

This seemed odd to me at first but I can see why you do it - it avoids the need to use the same return statement twice or write hard-to-read conditions. But is that a good enough reason to avoid the early return?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562342</commentid>
    <comment_count>4</comment_count>
      <attachid>125232</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-22 13:40:45 -0800</bug_when>
    <thetext>Comment on attachment 125232
Proposed simplification.

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

&gt;&gt; Source/WebCore/rendering/RenderTableCell.cpp:102
&gt;&gt; +    } else {
&gt; 
&gt; This seemed odd to me at first but I can see why you do it - it avoids the need to use the same return statement twice or write hard-to-read conditions. But is that a good enough reason to avoid the early return?

I wanted to keep the structure of the old code (including the comment added in bug 69425) to ease review. I don&apos;t think an early return would be more readable but it&apos;s arguable in both ways. If you see a better way to structure this code, I would be happy to review such a change!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562347</commentid>
    <comment_count>5</comment_count>
      <attachid>125232</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-22 13:45:23 -0800</bug_when>
    <thetext>Comment on attachment 125232
Proposed simplification.

Rejecting attachment 125232 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
fuzz 3.
patching file Source/WebCore/rendering/RenderTableCell.cpp
patching file Source/WebCore/rendering/RenderTableCell.h
patching file Source/WebCore/rendering/RenderTableSection.cpp
Hunk #1 FAILED at 334.
Hunk #3 FAILED at 373.
2 out of 3 hunks FAILED -- saving rejects to file Source/WebCore/rendering/RenderTableSection.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Eric Seidel&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/11559604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562429</commentid>
    <comment_count>6</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-22 15:10:43 -0800</bug_when>
    <thetext>Committed r108557: &lt;http://trac.webkit.org/changeset/108557&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564913</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-25 01:48:09 -0800</bug_when>
    <thetext>This made zooming fail on svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm - a &lt;p&gt; with display: table-cell, isn&apos;t resizing correctly anymore.

I reverted this in r108892. Bug 79455 tracks the chromium changes that can now be reverted as well.
See bug 78613 which looked to be faulty, but wasn&apos;t, it was this comment which broke the file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564930</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-25 02:47:52 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; This made zooming fail on svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm - a &lt;p&gt; with display: table-cell, isn&apos;t resizing correctly anymore.
&gt; 
&gt; I reverted this in r108892. Bug 79455 tracks the chromium changes that can now be reverted as well.
&gt; See bug 78613 which looked to be faulty, but wasn&apos;t, it was this comment which broke the file.
s/comment/commit/, s/file/test/ , too early for me ;-)
In bug 78613 there&apos;s also an explanation whats going on with the testcase, it might be helpful to fix this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564982</commentid>
    <comment_count>9</comment_count>
      <attachid>128873</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-02-25 10:37:32 -0800</bug_when>
    <thetext>Created attachment 128873
Fixed change: properly reset the RowStruct baseline to do the right calculation, covered by the failing SVG test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565027</commentid>
    <comment_count>10</comment_count>
      <attachid>128873</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-25 14:59:41 -0800</bug_when>
    <thetext>Comment on attachment 128873
Fixed change: properly reset the RowStruct baseline to do the right calculation, covered by the failing SVG test.

Thanks Julien for the quick investigation, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565046</commentid>
    <comment_count>11</comment_count>
      <attachid>128873</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-25 16:19:43 -0800</bug_when>
    <thetext>Comment on attachment 128873
Fixed change: properly reset the RowStruct baseline to do the right calculation, covered by the failing SVG test.

Clearing flags on attachment: 128873

Committed r108914: &lt;http://trac.webkit.org/changeset/108914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565047</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-25 16:19:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125232</attachid>
            <date>2012-02-02 19:00:52 -0800</date>
            <delta_ts>2012-02-25 10:37:29 -0800</delta_ts>
            <desc>Proposed simplification.</desc>
            <filename>bug-77705-20120202190051.patch</filename>
            <type>text/plain</type>
            <size>8005</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjYxNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAyLTAyICBKdWxpZW4g
Q2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIENsZWFuLXVwIFJl
bmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzA1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3JpbmcgLyBzaW1wbGljYXRpb24g
b2YgdGhlIGNvZGUuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVtb3ZlcyBzb21lIHZhcmlhYmxl
cyB0aGF0IHdlcmUgdW5uZWVkZWQgYW5kIHdlcmUKKyAgICAgICAgaGlkaW5nIHdoYXQgdGhlIGNv
ZGUgd2FzIHJlYWxseSBkb2luZy4gQWxzbyBzb21lIG9mIHRoZSBjb2RlIHdhcworICAgICAgICBz
cGxpdCBhbmQgbW92ZWQgZG93biB0byBSZW5kZXJUYWJsZUNlbGwuCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxl
Q2VsbDo6bG9naWNhbEhlaWdodEZvclJvd1NpemluZyk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5oOgorICAgICAgICAoUmVuZGVyVGFibGVDZWxsKToKKyAgICAgICAgQWRk
ZWQgdGhlIHByZXZpb3VzIGhlbHBlciBmdW5jdGlvbiB0byBjYWxjdWxhdGUgdGhlIGNlbGwncwor
ICAgICAgICBhZGp1c3RlZCBsb2dpY2FsIGhlaWdodC4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0
aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCk6CisgICAgICAgIFJlbW92ZWQgc29tZSB2YXJpYWJs
ZXMsIHNpbXBsaWZpZWQgdGhlIHJvd3NwYW4gbG9naWMgdG8gYmUgY2xlYXJlcgorICAgICAgICAo
YW5kIGFkZGVkIGEgY29tbWVudCBhYm91dCBob3cgd2UgaGFuZGxlIHJvd3NwYW5zKS4KKwogMjAx
Mi0wMi0wMiAgS2FsZXYgTGVtYmVyICA8a2FsZXZsZW1iZXJAZ21haWwuY29tPgogCiAgICAgICAg
IFtHVEtdIE1ha2UgZ3RrKyBzeW1ib2xzIGF2YWlsYWJsZSB0byBXaWRnZXRCYWNraW5nU3RvcmVD
YWlyby5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNl
bGwuY3BwCShyZXZpc2lvbiAxMDY2MDkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVDZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsMjUgQEAgdm9pZCBS
ZW5kZXJUYWJsZUNlbGw6OmNvbFNwYW5PclJvd1NwYW5DaAogICAgICAgICBzZWN0aW9uKCktPnNl
dE5lZWRzQ2VsbFJlY2FsYygpOwogfQogCitMYXlvdXRVbml0IFJlbmRlclRhYmxlQ2VsbDo6bG9n
aWNhbEhlaWdodEZvclJvd1NpemluZygpIGNvbnN0Cit7CisgICAgTGF5b3V0VW5pdCBhZGp1c3Rl
ZExvZ2ljYWxIZWlnaHQgPSBsb2dpY2FsSGVpZ2h0KCkgLSAoaW50cmluc2ljUGFkZGluZ0JlZm9y
ZSgpICsgaW50cmluc2ljUGFkZGluZ0FmdGVyKCkpOworCisgICAgTGF5b3V0VW5pdCBzdHlsZUxv
Z2ljYWxIZWlnaHQgPSBzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkuY2FsY1ZhbHVlKDApOworICAg
IGlmIChkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSB8fCBzdHlsZSgpLT5ib3hTaXppbmcoKSA9
PSBCT1JERVJfQk9YKSB7CisgICAgICAgIC8vIEV4cGxpY2l0IGhlaWdodHMgdXNlIHRoZSBib3Jk
ZXIgYm94IGluIHF1aXJrcyBtb2RlLgorICAgICAgICAvLyBEb24ndCBhZGp1c3QgaGVpZ2h0Lgor
ICAgIH0gZWxzZSB7CisgICAgICAgIC8vIEluIHN0cmljdCBtb2RlLCBib3gtc2l6aW5nOiBjb250
ZW50LWJveCBkbyB0aGUgcmlnaHQKKyAgICAgICAgLy8gdGhpbmcgYW5kIGFjdHVhbGx5IGFkZCBp
biB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nLgorICAgICAgICBMYXlvdXRVbml0IGFkanVzdGVkUGFk
ZGluZ0JlZm9yZSA9IHBhZGRpbmdCZWZvcmUoKSAtIGludHJpbnNpY1BhZGRpbmdCZWZvcmUoKTsK
KyAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3RlZFBhZGRpbmdBZnRlciA9IHBhZGRpbmdBZnRlcigp
IC0gaW50cmluc2ljUGFkZGluZ0FmdGVyKCk7CisgICAgICAgIHN0eWxlTG9naWNhbEhlaWdodCAr
PSBhZGp1c3RlZFBhZGRpbmdCZWZvcmUgKyBhZGp1c3RlZFBhZGRpbmdBZnRlciArIGJvcmRlckJl
Zm9yZSgpICsgYm9yZGVyQWZ0ZXIoKTsKKyAgICB9CisKKyAgICByZXR1cm4gbWF4KHN0eWxlTG9n
aWNhbEhlaWdodCwgYWRqdXN0ZWRMb2dpY2FsSGVpZ2h0KTsKK30KKwogTGVuZ3RoIFJlbmRlclRh
YmxlQ2VsbDo6c3R5bGVPckNvbExvZ2ljYWxXaWR0aCgpIGNvbnN0CiB7CiAgICAgTGVuZ3RoIHcg
PSBzdHlsZSgpLT5sb2dpY2FsV2lkdGgoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVDZWxsLmgJKHJldmlzaW9uIDEwNjYwOSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNiArODUs
OCBAQCBwdWJsaWM6CiAKICAgICBMZW5ndGggc3R5bGVPckNvbExvZ2ljYWxXaWR0aCgpIGNvbnN0
OwogCisgICAgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0Rm9yUm93U2l6aW5nKCkgY29uc3Q7CisK
ICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKIAogICAg
IHZvaWQgdXBkYXRlTG9naWNhbFdpZHRoKExheW91dFVuaXQpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJKHJldmlzaW9uIDEwNjYw
OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMzQsMTQgKzMzNCwxMSBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxl
U2VjdGlvbjo6Y2FsY1Jvd0xvCiAgICAgbV9yb3dQb3NbMF0gPSBzcGFjaW5nOwogCiAgICAgZm9y
ICh1bnNpZ25lZCByID0gMDsgciA8IG1fZ3JpZC5zaXplKCk7IHIrKykgewotICAgICAgICBtX3Jv
d1Bvc1tyICsgMV0gPSAwOworICAgICAgICBMYXlvdXRVbml0IGJhc2VsaW5lRGVzY2VudCA9IDA7
CiAgICAgICAgIG1fZ3JpZFtyXS5iYXNlbGluZSA9IDA7Ci0gICAgICAgIExheW91dFVuaXQgYmFz
ZWxpbmUgPSAwOwotICAgICAgICBMYXlvdXRVbml0IGJkZXNjID0gMDsKLSAgICAgICAgTGF5b3V0
VW5pdCBjaCA9IG1fZ3JpZFtyXS5sb2dpY2FsSGVpZ2h0LmNhbGNNaW5WYWx1ZSgwKTsKLSAgICAg
ICAgTGF5b3V0VW5pdCBwb3MgPSBtX3Jvd1Bvc1tyXSArIGNoICsgKG1fZ3JpZFtyXS5yb3dSZW5k
ZXJlciA/IHNwYWNpbmcgOiAwKTsKIAotICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9y
b3dQb3NbciArIDFdLCBwb3MpOworICAgICAgICAvLyBPdXIgYmFzZSBzaXplIGlzIHRoZSBiaWdn
ZXN0IGxvZ2ljYWwgaGVpZ2h0IGZyb20gb3VyIGNlbGxzJyBzdHlsZXMgKGV4Y2x1ZGluZyByb3cg
c3Bhbm5pbmcgY2VsbHMpLgorICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3Nb
cl0gKyBtX2dyaWRbcl0ubG9naWNhbEhlaWdodC5jYWxjTWluVmFsdWUoMCksIDApOwogCiAgICAg
ICAgIFJvdyYgcm93ID0gbV9ncmlkW3JdLnJvdzsKICAgICAgICAgdW5zaWduZWQgdG90YWxDb2xz
ID0gcm93LnNpemUoKTsKQEAgLTM1MywxMCArMzUwLDEzIEBAIExheW91dFVuaXQgUmVuZGVyVGFi
bGVTZWN0aW9uOjpjYWxjUm93TG8KICAgICAgICAgICAgIGlmICghY2VsbCB8fCBjdXJyZW50Lmlu
Q29sU3BhbikKICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgaWYgKChj
ZWxsLT5yb3coKSArIGNlbGwtPnJvd1NwYW4oKSAtIDEpID4gcikKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiBXZSBhcmUgYWx3YXlzIGFkZGluZyB0aGUgaGVpZ2h0IG9mIGEgcm93c3BhbiB0byB0aGUg
bGFzdCByb3dzIHdoaWNoIGRvZXNuJ3QgbWF0Y2gKKyAgICAgICAgICAgIC8vIG90aGVyIGJyb3dz
ZXJzLiBTZWUgd2Via2l0Lm9yZy9iLzUyMTg1IGZvciBleGFtcGxlLgorICAgICAgICAgICAgaWYg
KChjZWxsLT5yb3coKSArIGNlbGwtPnJvd1NwYW4oKSAtIDEpICE9IHIpCiAgICAgICAgICAgICAg
ICAgY29udGludWU7CiAKLSAgICAgICAgICAgIHVuc2lnbmVkIGluZHggPSBtYXgociAtIGNlbGwt
PnJvd1NwYW4oKSArIDEsIDB1KTsKKyAgICAgICAgICAgIC8vIEZvciByb3cgc3Bhbm5pbmcgY2Vs
bHMsIHxyfCBpcyB0aGUgbGFzdCByb3cgaW4gdGhlIHNwYW4uCisgICAgICAgICAgICB1bnNpZ25l
ZCBjZWxsU3RhcnRSb3cgPSBjZWxsLT5yb3coKTsKIAogICAgICAgICAgICAgaWYgKGNlbGwtPmhh
c092ZXJyaWRlSGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIXN0YXRlUHVzaGVyLmRp
ZFB1c2goKSkgewpAQCAtMzcwLDQzICszNzAsMjcgQEAgTGF5b3V0VW5pdCBSZW5kZXJUYWJsZVNl
Y3Rpb246OmNhbGNSb3dMbwogICAgICAgICAgICAgICAgIGNlbGwtPmxheW91dElmTmVlZGVkKCk7
CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIExheW91dFVuaXQgYWRqdXN0ZWRMb2dpY2Fs
SGVpZ2h0ID0gY2VsbC0+bG9naWNhbEhlaWdodCgpIC0gKGNlbGwtPmludHJpbnNpY1BhZGRpbmdC
ZWZvcmUoKSArIGNlbGwtPmludHJpbnNpY1BhZGRpbmdBZnRlcigpKTsKLQotICAgICAgICAgICAg
Y2ggPSBjZWxsLT5zdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkuY2FsY1ZhbHVlKDApOwotICAgICAg
ICAgICAgaWYgKGRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpIHx8IGNlbGwtPnN0eWxlKCktPmJv
eFNpemluZygpID09IEJPUkRFUl9CT1gpIHsKLSAgICAgICAgICAgICAgICAvLyBFeHBsaWNpdCBo
ZWlnaHRzIHVzZSB0aGUgYm9yZGVyIGJveCBpbiBxdWlya3MgbW9kZS4KLSAgICAgICAgICAgICAg
ICAvLyBEb24ndCBhZGp1c3QgaGVpZ2h0LgotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAvLyBJbiBzdHJpY3QgbW9kZSwgYm94LXNpemluZzogY29udGVudC1ib3ggZG8gdGhl
IHJpZ2h0Ci0gICAgICAgICAgICAgICAgLy8gdGhpbmcgYW5kIGFjdHVhbGx5IGFkZCBpbiB0aGUg
Ym9yZGVyIGFuZCBwYWRkaW5nLgotICAgICAgICAgICAgICAgIExheW91dFVuaXQgYWRqdXN0ZWRQ
YWRkaW5nQmVmb3JlID0gY2VsbC0+cGFkZGluZ0JlZm9yZSgpIC0gY2VsbC0+aW50cmluc2ljUGFk
ZGluZ0JlZm9yZSgpOwotICAgICAgICAgICAgICAgIExheW91dFVuaXQgYWRqdXN0ZWRQYWRkaW5n
QWZ0ZXIgPSBjZWxsLT5wYWRkaW5nQWZ0ZXIoKSAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdBZnRl
cigpOwotICAgICAgICAgICAgICAgIGNoICs9IGFkanVzdGVkUGFkZGluZ0JlZm9yZSArIGFkanVz
dGVkUGFkZGluZ0FmdGVyICsgY2VsbC0+Ym9yZGVyQmVmb3JlKCkgKyBjZWxsLT5ib3JkZXJBZnRl
cigpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2ggPSBtYXgoY2gsIGFkanVzdGVkTG9n
aWNhbEhlaWdodCk7Ci0KLSAgICAgICAgICAgIHBvcyA9IG1fcm93UG9zW2luZHhdICsgY2ggKyAo
bV9ncmlkW3JdLnJvd1JlbmRlcmVyID8gc3BhY2luZyA6IDApOwotCi0gICAgICAgICAgICBtX3Jv
d1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3NbciArIDFdLCBwb3MpOworICAgICAgICAgICAgTGF5
b3V0VW5pdCBjZWxsTG9naWNhbEhlaWdodCA9IGNlbGwtPmxvZ2ljYWxIZWlnaHRGb3JSb3dTaXpp
bmcoKTsKKyAgICAgICAgICAgIG1fcm93UG9zW3IgKyAxXSA9IG1heChtX3Jvd1Bvc1tyICsgMV0s
IG1fcm93UG9zW2NlbGxTdGFydFJvd10gKyBjZWxsTG9naWNhbEhlaWdodCk7CiAKICAgICAgICAg
ICAgIC8vIGZpbmQgb3V0IHRoZSBiYXNlbGluZQogICAgICAgICAgICAgRVZlcnRpY2FsQWxpZ24g
dmEgPSBjZWxsLT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCk7CiAgICAgICAgICAgICBpZiAodmEg
PT0gQkFTRUxJTkUgfHwgdmEgPT0gVEVYVF9CT1RUT00gfHwgdmEgPT0gVEVYVF9UT1AgfHwgdmEg
PT0gU1VQRVIgfHwgdmEgPT0gU1VCKSB7Ci0gICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBiID0g
Y2VsbC0+Y2VsbEJhc2VsaW5lUG9zaXRpb24oKTsKLSAgICAgICAgICAgICAgICBpZiAoYiA+IGNl
bGwtPmJvcmRlckJlZm9yZSgpICsgY2VsbC0+cGFkZGluZ0JlZm9yZSgpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGJhc2VsaW5lID0gbWF4KGJhc2VsaW5lLCBiIC0gY2VsbC0+aW50cmluc2ljUGFk
ZGluZ0JlZm9yZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgYmRlc2MgPSBtYXgoYmRlc2MsIG1f
cm93UG9zW2luZHhdICsgY2ggLSAoYiAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSkp
OworICAgICAgICAgICAgICAgIExheW91dFVuaXQgYmFzZWxpbmVQb3NpdGlvbiA9IGNlbGwtPmNl
bGxCYXNlbGluZVBvc2l0aW9uKCk7CisgICAgICAgICAgICAgICAgaWYgKGJhc2VsaW5lUG9zaXRp
b24gPiBjZWxsLT5ib3JkZXJCZWZvcmUoKSArIGNlbGwtPnBhZGRpbmdCZWZvcmUoKSkgeworICAg
ICAgICAgICAgICAgICAgICBtX2dyaWRbcl0uYmFzZWxpbmUgPSBtYXgobV9ncmlkW3JdLmJhc2Vs
aW5lLCBiYXNlbGluZVBvc2l0aW9uIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKTsK
KyAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmVEZXNjZW50ID0gbWF4KGJhc2VsaW5lRGVzY2Vu
dCwgbV9yb3dQb3NbY2VsbFN0YXJ0Um93XSArIGNlbGxMb2dpY2FsSGVpZ2h0IC0gKGJhc2VsaW5l
UG9zaXRpb24gLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkpKTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAgICAvLyBkbyB3ZSBoYXZl
IGJhc2VsaW5lIGFsaWduZWQgZWxlbWVudHM/Ci0gICAgICAgIGlmIChiYXNlbGluZSkgeworICAg
ICAgICBpZiAobV9ncmlkW3JdLmJhc2VsaW5lKQogICAgICAgICAgICAgLy8gaW5jcmVhc2Ugcm93
aGVpZ2h0IGlmIGJhc2VsaW5lIHJlcXVpcmVzCi0gICAgICAgICAgICBtX3Jvd1Bvc1tyICsgMV0g
PSBtYXgobV9yb3dQb3NbciArIDFdLCBiYXNlbGluZSArIGJkZXNjICsgKG1fZ3JpZFtyXS5yb3dS
ZW5kZXJlciA/IHNwYWNpbmcgOiAwKSk7Ci0gICAgICAgICAgICBtX2dyaWRbcl0uYmFzZWxpbmUg
PSBiYXNlbGluZTsKLSAgICAgICAgfQorICAgICAgICAgICAgbV9yb3dQb3NbciArIDFdID0gbWF4
KG1fcm93UG9zW3IgKyAxXSwgbV9ncmlkW3JdLmJhc2VsaW5lICsgYmFzZWxpbmVEZXNjZW50KTsK
IAorICAgICAgICAvLyBBZGQgdGhlIGJvcmRlci1zcGFjaW5nIHRvIG91ciBmaW5hbCBwb3NpdGlv
bi4KKyAgICAgICAgbV9yb3dQb3NbciArIDFdICs9IG1fZ3JpZFtyXS5yb3dSZW5kZXJlciA/IHNw
YWNpbmcgOiAwOwogICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3NbciArIDFd
LCBtX3Jvd1Bvc1tyXSk7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128873</attachid>
            <date>2012-02-25 10:37:32 -0800</date>
            <delta_ts>2012-02-25 16:19:43 -0800</delta_ts>
            <desc>Fixed change: properly reset the RowStruct baseline to do the right calculation, covered by the failing SVG test.</desc>
            <filename>bug-77705-20120225103731.patch</filename>
            <type>text/plain</type>
            <size>8195</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQ3Y2I1MzNiYzE5ZDlj
NmY5YTQ3MmM3MjRmNzc5NmYzYzJkNjcyNS4uY2IwZmI3Y2Q0YjJhYTIwMTliYjhhMjYzYzhiMDM3
NDI1Yzc5OTQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAyLTI1ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIENsZWFuLXVw
IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3JpbmcgLyBzaW1wbGljYXRp
b24gb2YgdGhlIGNvZGUuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgcmVtb3ZlcyBzb21lIHZhcmlh
YmxlcyB0aGF0IHdlcmUgdW5uZWVkZWQgYW5kIHdlcmUKKyAgICAgICAgaGlkaW5nIHdoYXQgdGhl
IGNvZGUgd2FzIHJlYWxseSBkb2luZy4gQWxzbyBzb21lIG9mIHRoZSBjb2RlIHdhcworICAgICAg
ICBzcGxpdCBhbmQgbW92ZWQgZG93biB0byBSZW5kZXJUYWJsZUNlbGwuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRh
YmxlQ2VsbDo6bG9naWNhbEhlaWdodEZvclJvd1NpemluZyk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRhYmxlQ2VsbC5oOgorICAgICAgICAoUmVuZGVyVGFibGVDZWxsKToKKyAgICAgICAg
QWRkZWQgdGhlIHByZXZpb3VzIGhlbHBlciBmdW5jdGlvbiB0byBjYWxjdWxhdGUgdGhlIGNlbGwn
cworICAgICAgICBhZGp1c3RlZCBsb2dpY2FsIGhlaWdodC4KKworICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGVT
ZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlaWdodCk6CisgICAgICAgIFJlbW92ZWQgc29tZSB2YXJp
YWJsZXMsIHNpbXBsaWZpZWQgdGhlIHJvd3NwYW4gbG9naWMgdG8gYmUgY2xlYXJlcgorICAgICAg
ICAoYW5kIGFkZGVkIGEgY29tbWVudCBhYm91dCBob3cgd2UgaGFuZGxlIHJvd3NwYW5zKS4KKwog
MjAxMi0wMi0yNSAgQW5kcmVhcyBLbGluZyAgPGF3ZXNvbWVrbGluZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgSFRNTFRhYmxlRWxlbWVudDogQXZvaWQgQ1NTUGFyc2VyIGluIGNyZWF0ZVNoYXJlZENl
bGxTdHlsZSgpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlQ2VsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNw
cAppbmRleCBlOTk1NGQyYjg3YzllNjc0ZWRiNTAyYzljNjVjYzAxMzQwNGZiODk2Li40MzRhYzBk
Njk1YmE5MjNhYTA3MWUwMDUwMTVjMTAzZmY4MzllNDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcApAQCAtOTEsNiArOTEsMjUgQEAgdm9pZCBSZW5k
ZXJUYWJsZUNlbGw6OmNvbFNwYW5PclJvd1NwYW5DaGFuZ2VkKCkKICAgICAgICAgc2VjdGlvbigp
LT5zZXROZWVkc0NlbGxSZWNhbGMoKTsKIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJUYWJsZUNlbGw6
OmxvZ2ljYWxIZWlnaHRGb3JSb3dTaXppbmcoKSBjb25zdAoreworICAgIExheW91dFVuaXQgYWRq
dXN0ZWRMb2dpY2FsSGVpZ2h0ID0gbG9naWNhbEhlaWdodCgpIC0gKGludHJpbnNpY1BhZGRpbmdC
ZWZvcmUoKSArIGludHJpbnNpY1BhZGRpbmdBZnRlcigpKTsKKworICAgIExheW91dFVuaXQgc3R5
bGVMb2dpY2FsSGVpZ2h0ID0gc3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmNhbGNWYWx1ZSgwKTsK
KyAgICBpZiAoZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkgfHwgc3R5bGUoKS0+Ym94U2l6aW5n
KCkgPT0gQk9SREVSX0JPWCkgeworICAgICAgICAvLyBFeHBsaWNpdCBoZWlnaHRzIHVzZSB0aGUg
Ym9yZGVyIGJveCBpbiBxdWlya3MgbW9kZS4KKyAgICAgICAgLy8gRG9uJ3QgYWRqdXN0IGhlaWdo
dC4KKyAgICB9IGVsc2UgeworICAgICAgICAvLyBJbiBzdHJpY3QgbW9kZSwgYm94LXNpemluZzog
Y29udGVudC1ib3ggZG8gdGhlIHJpZ2h0CisgICAgICAgIC8vIHRoaW5nIGFuZCBhY3R1YWxseSBh
ZGQgaW4gdGhlIGJvcmRlciBhbmQgcGFkZGluZy4KKyAgICAgICAgTGF5b3V0VW5pdCBhZGp1c3Rl
ZFBhZGRpbmdCZWZvcmUgPSBwYWRkaW5nQmVmb3JlKCkgLSBpbnRyaW5zaWNQYWRkaW5nQmVmb3Jl
KCk7CisgICAgICAgIExheW91dFVuaXQgYWRqdXN0ZWRQYWRkaW5nQWZ0ZXIgPSBwYWRkaW5nQWZ0
ZXIoKSAtIGludHJpbnNpY1BhZGRpbmdBZnRlcigpOworICAgICAgICBzdHlsZUxvZ2ljYWxIZWln
aHQgKz0gYWRqdXN0ZWRQYWRkaW5nQmVmb3JlICsgYWRqdXN0ZWRQYWRkaW5nQWZ0ZXIgKyBib3Jk
ZXJCZWZvcmUoKSArIGJvcmRlckFmdGVyKCk7CisgICAgfQorCisgICAgcmV0dXJuIG1heChzdHls
ZUxvZ2ljYWxIZWlnaHQsIGFkanVzdGVkTG9naWNhbEhlaWdodCk7Cit9CisKIExlbmd0aCBSZW5k
ZXJUYWJsZUNlbGw6OnN0eWxlT3JDb2xMb2dpY2FsV2lkdGgoKSBjb25zdAogewogICAgIExlbmd0
aCB3ID0gc3R5bGUoKS0+bG9naWNhbFdpZHRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmgKaW5kZXggNTQwN2U1ZDdkYTcyNjg4OTk5YTVhZGQ3YmQwMjJiODY0
NDVlNWYyMy4uZTBiNGEwNTU4NDU3OGM5ZDc3NDUwN2U3NTg4NTg1M2JiNmQ0MzhjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaApAQCAtODUsNiArODUsOCBA
QCBwdWJsaWM6CiAKICAgICBMZW5ndGggc3R5bGVPckNvbExvZ2ljYWxXaWR0aCgpIGNvbnN0Owog
CisgICAgTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0Rm9yUm93U2l6aW5nKCkgY29uc3Q7CisKICAg
ICB2aXJ0dWFsIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKTsKIAogICAgIHZv
aWQgdXBkYXRlTG9naWNhbFdpZHRoKExheW91dFVuaXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAppbmRleCAxMDQyYzE4NjI2MGRiNTJmMDgz
MTdlYzI2NGFmYWQyZGYyYmQxMjE2Li4zMTg1NTE2NmY2OTBiYTRhZmM5ZTY2ZmMxNGFhYmYzNTI1
ZTg2OWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVT
ZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcApAQCAtMzM0LDE0ICszMzQsMTEgQEAgaW50IFJlbmRlclRhYmxlU2VjdGlvbjo6Y2Fs
Y1Jvd0xvZ2ljYWxIZWlnaHQoKQogICAgIG1fcm93UG9zWzBdID0gc3BhY2luZzsKIAogICAgIGZv
ciAodW5zaWduZWQgciA9IDA7IHIgPCBtX2dyaWQuc2l6ZSgpOyByKyspIHsKLSAgICAgICAgbV9y
b3dQb3NbciArIDFdID0gMDsKICAgICAgICAgbV9ncmlkW3JdLmJhc2VsaW5lID0gMDsKLSAgICAg
ICAgTGF5b3V0VW5pdCBiYXNlbGluZSA9IDA7Ci0gICAgICAgIGludCBiZGVzYyA9IDA7Ci0gICAg
ICAgIGludCBjaCA9IG1fZ3JpZFtyXS5sb2dpY2FsSGVpZ2h0LmNhbGNNaW5WYWx1ZSgwKTsKLSAg
ICAgICAgaW50IHBvcyA9IG1fcm93UG9zW3JdICsgY2ggKyAobV9ncmlkW3JdLnJvd1JlbmRlcmVy
ID8gc3BhY2luZyA6IDApOworICAgICAgICBMYXlvdXRVbml0IGJhc2VsaW5lRGVzY2VudCA9IDA7
CiAKLSAgICAgICAgbV9yb3dQb3NbciArIDFdID0gbWF4KG1fcm93UG9zW3IgKyAxXSwgcG9zKTsK
KyAgICAgICAgLy8gT3VyIGJhc2Ugc2l6ZSBpcyB0aGUgYmlnZ2VzdCBsb2dpY2FsIGhlaWdodCBm
cm9tIG91ciBjZWxscycgc3R5bGVzIChleGNsdWRpbmcgcm93IHNwYW5uaW5nIGNlbGxzKS4KKyAg
ICAgICAgbV9yb3dQb3NbciArIDFdID0gbWF4KG1fcm93UG9zW3JdICsgbV9ncmlkW3JdLmxvZ2lj
YWxIZWlnaHQuY2FsY01pblZhbHVlKDApLCAwKTsKIAogICAgICAgICBSb3cmIHJvdyA9IG1fZ3Jp
ZFtyXS5yb3c7CiAgICAgICAgIHVuc2lnbmVkIHRvdGFsQ29scyA9IHJvdy5zaXplKCk7CkBAIC0z
NTMsMTAgKzM1MCwxMyBAQCBpbnQgUmVuZGVyVGFibGVTZWN0aW9uOjpjYWxjUm93TG9naWNhbEhl
aWdodCgpCiAgICAgICAgICAgICBpZiAoIWNlbGwgfHwgY3VycmVudC5pbkNvbFNwYW4pCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIGlmICgoY2VsbC0+cm93KCkgKyBj
ZWxsLT5yb3dTcGFuKCkgLSAxKSA+IHIpCisgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIGFs
d2F5cyBhZGRpbmcgdGhlIGhlaWdodCBvZiBhIHJvd3NwYW4gdG8gdGhlIGxhc3Qgcm93cyB3aGlj
aCBkb2Vzbid0IG1hdGNoCisgICAgICAgICAgICAvLyBvdGhlciBicm93c2Vycy4gU2VlIHdlYmtp
dC5vcmcvYi81MjE4NSBmb3IgZXhhbXBsZS4KKyAgICAgICAgICAgIGlmICgoY2VsbC0+cm93KCkg
KyBjZWxsLT5yb3dTcGFuKCkgLSAxKSAhPSByKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
Ci0gICAgICAgICAgICB1bnNpZ25lZCBpbmR4ID0gbWF4KHIgLSBjZWxsLT5yb3dTcGFuKCkgKyAx
LCAwdSk7CisgICAgICAgICAgICAvLyBGb3Igcm93IHNwYW5uaW5nIGNlbGxzLCB8cnwgaXMgdGhl
IGxhc3Qgcm93IGluIHRoZSBzcGFuLgorICAgICAgICAgICAgdW5zaWduZWQgY2VsbFN0YXJ0Um93
ID0gY2VsbC0+cm93KCk7CiAKICAgICAgICAgICAgIGlmIChjZWxsLT5oYXNPdmVycmlkZUhlaWdo
dCgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFzdGF0ZVB1c2hlci5kaWRQdXNoKCkpIHsKQEAg
LTM3MCw0MyArMzcwLDI3IEBAIGludCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2Fs
SGVpZ2h0KCkKICAgICAgICAgICAgICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBpbnQgYWRqdXN0ZWRMb2dpY2FsSGVpZ2h0ID0gY2VsbC0+
bG9naWNhbEhlaWdodCgpIC0gKGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSArIGNlbGwt
PmludHJpbnNpY1BhZGRpbmdBZnRlcigpKTsKLQotICAgICAgICAgICAgY2ggPSBjZWxsLT5zdHls
ZSgpLT5sb2dpY2FsSGVpZ2h0KCkuY2FsY1ZhbHVlKDApOwotICAgICAgICAgICAgaWYgKGRvY3Vt
ZW50KCktPmluUXVpcmtzTW9kZSgpIHx8IGNlbGwtPnN0eWxlKCktPmJveFNpemluZygpID09IEJP
UkRFUl9CT1gpIHsKLSAgICAgICAgICAgICAgICAvLyBFeHBsaWNpdCBoZWlnaHRzIHVzZSB0aGUg
Ym9yZGVyIGJveCBpbiBxdWlya3MgbW9kZS4KLSAgICAgICAgICAgICAgICAvLyBEb24ndCBhZGp1
c3QgaGVpZ2h0LgotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBJbiBz
dHJpY3QgbW9kZSwgYm94LXNpemluZzogY29udGVudC1ib3ggZG8gdGhlIHJpZ2h0Ci0gICAgICAg
ICAgICAgICAgLy8gdGhpbmcgYW5kIGFjdHVhbGx5IGFkZCBpbiB0aGUgYm9yZGVyIGFuZCBwYWRk
aW5nLgotICAgICAgICAgICAgICAgIGludCBhZGp1c3RlZFBhZGRpbmdCZWZvcmUgPSBjZWxsLT5w
YWRkaW5nQmVmb3JlKCkgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCk7Ci0gICAgICAg
ICAgICAgICAgaW50IGFkanVzdGVkUGFkZGluZ0FmdGVyID0gY2VsbC0+cGFkZGluZ0FmdGVyKCkg
LSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQWZ0ZXIoKTsKLSAgICAgICAgICAgICAgICBjaCArPSBh
ZGp1c3RlZFBhZGRpbmdCZWZvcmUgKyBhZGp1c3RlZFBhZGRpbmdBZnRlciArIGNlbGwtPmJvcmRl
ckJlZm9yZSgpICsgY2VsbC0+Ym9yZGVyQWZ0ZXIoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGNoID0gbWF4KGNoLCBhZGp1c3RlZExvZ2ljYWxIZWlnaHQpOwotCi0gICAgICAgICAgICBw
b3MgPSBtX3Jvd1Bvc1tpbmR4XSArIGNoICsgKG1fZ3JpZFtyXS5yb3dSZW5kZXJlciA/IHNwYWNp
bmcgOiAwKTsKLQotICAgICAgICAgICAgbV9yb3dQb3NbciArIDFdID0gbWF4KG1fcm93UG9zW3Ig
KyAxXSwgcG9zKTsKKyAgICAgICAgICAgIGludCBjZWxsTG9naWNhbEhlaWdodCA9IGNlbGwtPmxv
Z2ljYWxIZWlnaHRGb3JSb3dTaXppbmcoKTsKKyAgICAgICAgICAgIG1fcm93UG9zW3IgKyAxXSA9
IG1heChtX3Jvd1Bvc1tyICsgMV0sIG1fcm93UG9zW2NlbGxTdGFydFJvd10gKyBjZWxsTG9naWNh
bEhlaWdodCk7CiAKICAgICAgICAgICAgIC8vIGZpbmQgb3V0IHRoZSBiYXNlbGluZQogICAgICAg
ICAgICAgRVZlcnRpY2FsQWxpZ24gdmEgPSBjZWxsLT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCk7
CiAgICAgICAgICAgICBpZiAodmEgPT0gQkFTRUxJTkUgfHwgdmEgPT0gVEVYVF9CT1RUT00gfHwg
dmEgPT0gVEVYVF9UT1AgfHwgdmEgPT0gU1VQRVIgfHwgdmEgPT0gU1VCKSB7Ci0gICAgICAgICAg
ICAgICAgaW50IGIgPSBjZWxsLT5jZWxsQmFzZWxpbmVQb3NpdGlvbigpOwotICAgICAgICAgICAg
ICAgIGlmIChiID4gY2VsbC0+Ym9yZGVyQmVmb3JlKCkgKyBjZWxsLT5wYWRkaW5nQmVmb3JlKCkp
IHsKLSAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmUgPSBtYXg8TGF5b3V0VW5pdD4oYmFzZWxp
bmUsIGIgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkpOwotICAgICAgICAgICAgICAg
ICAgICBiZGVzYyA9IG1heChiZGVzYywgbV9yb3dQb3NbaW5keF0gKyBjaCAtIChiIC0gY2VsbC0+
aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKSk7CisgICAgICAgICAgICAgICAgaW50IGJhc2VsaW5l
UG9zaXRpb24gPSBjZWxsLT5jZWxsQmFzZWxpbmVQb3NpdGlvbigpOworICAgICAgICAgICAgICAg
IGlmIChiYXNlbGluZVBvc2l0aW9uID4gY2VsbC0+Ym9yZGVyQmVmb3JlKCkgKyBjZWxsLT5wYWRk
aW5nQmVmb3JlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9ncmlkW3JdLmJhc2VsaW5lID0g
bWF4KG1fZ3JpZFtyXS5iYXNlbGluZSwgYmFzZWxpbmVQb3NpdGlvbiAtIGNlbGwtPmludHJpbnNp
Y1BhZGRpbmdCZWZvcmUoKSk7CisgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lRGVzY2VudCA9
IG1heChiYXNlbGluZURlc2NlbnQsIG1fcm93UG9zW2NlbGxTdGFydFJvd10gKyBjZWxsTG9naWNh
bEhlaWdodCAtIChiYXNlbGluZVBvc2l0aW9uIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9y
ZSgpKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAg
ICAgICAgLy8gZG8gd2UgaGF2ZSBiYXNlbGluZSBhbGlnbmVkIGVsZW1lbnRzPwotICAgICAgICBp
ZiAoYmFzZWxpbmUpIHsKKyAgICAgICAgaWYgKG1fZ3JpZFtyXS5iYXNlbGluZSkKICAgICAgICAg
ICAgIC8vIGluY3JlYXNlIHJvd2hlaWdodCBpZiBiYXNlbGluZSByZXF1aXJlcwotICAgICAgICAg
ICAgbV9yb3dQb3NbciArIDFdID0gbWF4KG1fcm93UG9zW3IgKyAxXSwgYmFzZWxpbmUgKyBiZGVz
YyArIChtX2dyaWRbcl0ucm93UmVuZGVyZXIgPyBzcGFjaW5nIDogMCkpOwotICAgICAgICAgICAg
bV9ncmlkW3JdLmJhc2VsaW5lID0gYmFzZWxpbmU7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIG1f
cm93UG9zW3IgKyAxXSA9IG1heChtX3Jvd1Bvc1tyICsgMV0sIG1fZ3JpZFtyXS5iYXNlbGluZSAr
IGJhc2VsaW5lRGVzY2VudCk7CiAKKyAgICAgICAgLy8gQWRkIHRoZSBib3JkZXItc3BhY2luZyB0
byBvdXIgZmluYWwgcG9zaXRpb24uCisgICAgICAgIG1fcm93UG9zW3IgKyAxXSArPSBtX2dyaWRb
cl0ucm93UmVuZGVyZXIgPyBzcGFjaW5nIDogMDsKICAgICAgICAgbV9yb3dQb3NbciArIDFdID0g
bWF4KG1fcm93UG9zW3IgKyAxXSwgbV9yb3dQb3Nbcl0pOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>