<?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>36158</bug_id>
          
          <creation_ts>2010-03-16 00:41:14 -0700</creation_ts>
          <short_desc>[Qt] [Performance] GraphicsLayerQt updates the scene too often</short_desc>
          <delta_ts>2010-03-22 12:30:55 -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>Platform</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>Performance, Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Noam Rosenthal">noam</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>200050</commentid>
    <comment_count>0</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-16 00:41:14 -0700</bug_when>
    <thetext>This is due to wrong handling of the synchronization code path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200191</commentid>
    <comment_count>1</comment_count>
      <attachid>50791</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-16 08:13:57 -0700</bug_when>
    <thetext>Created attachment 50791
Call the flush functions asynchronously</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200198</commentid>
    <comment_count>2</comment_count>
      <attachid>50791</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-16 08:21:31 -0700</bug_when>
    <thetext>Comment on attachment 50791
Call the flush functions asynchronously

Looks great, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201185</commentid>
    <comment_count>3</comment_count>
      <attachid>50791</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-17 22:09:14 -0700</bug_when>
    <thetext>Comment on attachment 50791
Call the flush functions asynchronously

Rejecting patch 50791 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 12495 test cases.
fast/loader/api-test-new-window-data-load-base-url.html -&gt; failed

Exiting early after 1 failures. 7692 tests run.
128.41s total testing time

7691 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
3 test cases (&lt;1%) had stderr output

Full output: http://webkit-commit-queue.appspot.com/results/972003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201213</commentid>
    <comment_count>4</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-18 00:57:18 -0700</bug_when>
    <thetext>This is strange. The failed test has absolutely nothing to do with my change. How do I go about it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201214</commentid>
    <comment_count>5</comment_count>
      <attachid>50791</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-03-18 01:01:29 -0700</bug_when>
    <thetext>Comment on attachment 50791
Call the flush functions asynchronously

Failed tests are coincidental with the patch. Confirmed that they fail even before applying it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201279</commentid>
    <comment_count>6</comment_count>
      <attachid>50791</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-03-18 07:23:25 -0700</bug_when>
    <thetext>Comment on attachment 50791
Call the flush functions asynchronously

lets try again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201287</commentid>
    <comment_count>7</comment_count>
      <attachid>50791</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-18 07:42:27 -0700</bug_when>
    <thetext>Comment on attachment 50791
Call the flush functions asynchronously

Clearing flags on attachment: 50791

Committed r56158: &lt;http://trac.webkit.org/changeset/56158&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201288</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-18 07:42:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202688</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-22 12:30:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 50791 [details])
&gt; Rejecting patch 50791 from commit-queue.
&gt; 
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;,
&gt; &apos;--exit-after-n-failures=1&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
&gt; Running build-dumprendertree
&gt; Compiling Java tests
&gt; make: Nothing to be done for `default&apos;.
&gt; Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
&gt; Testing 12495 test cases.
&gt; fast/loader/api-test-new-window-data-load-base-url.html -&gt; failed

This was bug 35594.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50791</attachid>
            <date>2010-03-16 08:13:57 -0700</date>
            <delta_ts>2010-03-18 07:42:27 -0700</delta_ts>
            <desc>Call the flush functions asynchronously</desc>
            <filename>patch-36158.diff</filename>
            <type>text/plain</type>
            <size>11634</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjA0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMTAtMDMtMTYgIE5vYW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRo
YWxAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gW1BlcmZvcm1hbmNlXSBHcmFwaGljc0xheWVyUXQgdXBkYXRlcyB0aGUgc2Nl
bmUgdG9vIG9mdGVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNjE1OAorCisgICAgICAgIFRoaXMgZml4IG1ha2VzIHN1cmUgdGhhdCBmbHVzaENoYW5n
ZXMgaXMgb25seSBjYWxsZWQgd2hlbiBuZWNlc3NhcnksCisgICAgICAgIGJ5IGNhbGxpbmcgdGhl
IG5vdGlmeVN5bmMgZnVuY3Rpb24gYXN5bmNocm9ub3VzbHksIHdoaWNoIG1ha2VzIHN1cmUgZmx1
c2hDaGFuZ2VzKCkgaXMgY2FsbGVkCisgICAgICAgIGFmdGVyIHRoZSBXZWJDb3JlIGNvbXBvc2l0
b3IgaGFzIG1hZGUgYWxsIGl0cyBjaGFuZ2VzLgorCisgICAgICAgIFRoaXMgaGFzIHNob3duIGEg
dmlzdWFsIGltcHJvdmVtZW50IG9uIHNldmVyYWwgdGVzdC1jYXNlcy4KKworICAgICAgICAqIE1h
a2VmaWxlOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjopOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6bm90aWZ5U3luY1JlcXVpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdEltcGw6Om5vdGlmeUNoYW5nZSk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVzaENoYW5nZXMpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NMYXllclF0OjpzZXRNYXNrTGF5ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllclF0OjpzZXRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyUXQ6OnNldEFuY2hvclBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJRdDo6c2V0U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXQ6OnNl
dFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXQ6OnNldENoaWxk
cmVuVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdDo6c2V0UHJl
c2VydmVzM0QpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0OjpzZXRNYXNrc1Rv
Qm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdDo6c2V0RHJhd3NDb250
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdDo6c2V0QmFja2dyb3VuZENv
bG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdDo6Y2xlYXJCYWNrZ3JvdW5k
Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0OjpzZXRDb250ZW50c09w
YXF1ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXQ6OnNldEJhY2tmYWNlVmlz
aWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXQ6OnNldE9wYWNpdHkp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0OjpzZXRDb250ZW50c1JlY3QpOgor
CiAyMDEwLTAzLTE2ICBTaGluaWNoaXJvIEhhbWFqaSAgPGhhbWFqaUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuIApJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcAkocmV2aXNpb24gNTYwNDcp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJVbml0QmV6aWVyLmgiCiAj
aW5jbHVkZSA8UXRDb3JlL3FhYnN0cmFjdGFuaW1hdGlvbi5oPgogI2luY2x1ZGUgPFF0Q29yZS9x
ZGVidWcuaD4KKyNpbmNsdWRlIDxRdENvcmUvcW1ldGFvYmplY3QuaD4KICNpbmNsdWRlIDxRdENv
cmUvcXNldC5oPgogI2luY2x1ZGUgPFF0Q29yZS9xdGltZXIuaD4KICNpbmNsdWRlIDxRdEd1aS9x
Yml0bWFwLmg+CkBAIC0xMDEsMjcgKzEwMiwzMyBAQCBwdWJsaWM6CiAgICAgLy8gbW9kaWZpZWQg
YnkgdGhlIGNvbXBvc2l0b3IsIHNvIHdlIGNhbiBrbm93IHdoYXQgdG8gbG9vayBmb3IgaW4gdGhl
IG5leHQgZmx1c2gKICAgICBlbnVtIENoYW5nZU1hc2sgewogICAgICAgICBOb0NoYW5nZXMgPSAg
ICAgICAgICAgICAgICAgMCwKKworICAgICAgICBQYXJlbnRDaGFuZ2UgPSAgICAgICAgICAgICAg
KDFMIDw8IDApLAogICAgICAgICBDaGlsZHJlbkNoYW5nZSA9ICAgICAgICAgICAgKDFMIDw8IDEp
LAogICAgICAgICBNYXNrTGF5ZXJDaGFuZ2UgPSAgICAgICAgICAgKDFMIDw8IDIpLAogICAgICAg
ICBQb3NpdGlvbkNoYW5nZSA9ICAgICAgICAgICAgKDFMIDw8IDMpLAorCiAgICAgICAgIEFuY2hv
clBvaW50Q2hhbmdlID0gICAgICAgICAoMUwgPDwgNCksCiAgICAgICAgIFNpemVDaGFuZ2UgID0g
ICAgICAgICAgICAgICAoMUwgPDwgNSksCiAgICAgICAgIFRyYW5zZm9ybUNoYW5nZSA9ICAgICAg
ICAgICAoMUwgPDwgNiksCiAgICAgICAgIENvbnRlbnRDaGFuZ2UgPSAgICAgICAgICAgICAoMUwg
PDwgNyksCisKICAgICAgICAgR2VvbWV0cnlPcmllbnRhdGlvbkNoYW5nZSA9ICgxTCA8PCA4KSwK
ICAgICAgICAgQ29udGVudHNPcmllbnRhdGlvbkNoYW5nZSA9ICgxTCA8PCA5KSwKICAgICAgICAg
T3BhY2l0eUNoYW5nZSA9ICAgICAgICAgICAgICgxTCA8PCAxMCksCiAgICAgICAgIENvbnRlbnRz
UmVjdENoYW5nZSA9ICAgICAgICAoMUwgPDwgMTEpLAorCiAgICAgICAgIFByZXNlcnZlczNEQ2hh
bmdlID0gICAgICAgICAoMUwgPDwgMTIpLAogICAgICAgICBNYXNrc1RvQm91bmRzQ2hhbmdlID0g
ICAgICAgKDFMIDw8IDEzKSwKICAgICAgICAgRHJhd3NDb250ZW50Q2hhbmdlID0gICAgICAgICgx
TCA8PCAxNCksCiAgICAgICAgIENvbnRlbnRzT3BhcXVlQ2hhbmdlID0gICAgICAoMUwgPDwgMTUp
LAorCiAgICAgICAgIEJhY2tmYWNlVmlzaWJpbGl0eUNoYW5nZSA9ICAoMUwgPDwgMTYpLAogICAg
ICAgICBDaGlsZHJlblRyYW5zZm9ybUNoYW5nZSA9ICAgKDFMIDw8IDE3KSwKICAgICAgICAgRGlz
cGxheUNoYW5nZSA9ICAgICAgICAgICAgICgxTCA8PCAxOCksCiAgICAgICAgIEJhY2tncm91bmRD
b2xvckNoYW5nZSA9ICAgICAoMUwgPDwgMTkpLAotICAgICAgICBQYXJlbnRDaGFuZ2UgPSAgICAg
ICAgICAgICAgKDFMIDw8IDIwKSwKLSAgICAgICAgRGlzdHJpYnV0ZXNPcGFjaXR5Q2hhbmdlID0g
ICgxTCA8PCAyMSkKKworICAgICAgICBEaXN0cmlidXRlc09wYWNpdHlDaGFuZ2UgPSAgKDFMIDw8
IDIwKQogICAgIH07CiAKICAgICAvLyB0aGUgY29tcG9zaXRvciBsZXRzIHVzIHNwZWNpYWwtY2Fz
ZSBpbWFnZXMgYW5kIGNvbG9ycywgc28gd2UgdHJ5IHRvIGRvIHNvCkBAIC0xNjEsNiArMTY4LDkg
QEAgcHVibGljIHNsb3RzOgogICAgIC8vIHdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjbGllbnQgKGFr
YSB0aGUgbGF5ZXIgY29tcG9zaXRvcikgd2hlbiB0aGUgYW5pbWF0aW9uIGFjdHVhbGx5IHN0YXJ0
cwogICAgIHZvaWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZCgpOwogCisgICAgLy8gd2Ugbm90aWZ5
IFdlYkNvcmUgb2YgYSBsYXllciBjaGFuZ2VkIGFzeW5jaHJvbm91c2x5OyBvdGhlcndpc2Ugd2Ug
ZW5kIHVwIGNhbGxpbmcgZmx1c2hDaGFuZ2VzIHRvbyBvZnRlbi4KKyAgICB2b2lkIG5vdGlmeVN5
bmNSZXF1aXJlZCgpOworCiBzaWduYWxzOgogICAgIC8vIG9wdGltaXphdGlvbjogd2UgZG9uJ3Qg
d2FudCB0byB1c2UgUVRpbWVyOjpzaW5nbGVTaG90CiAgICAgdm9pZCBub3RpZnlBbmltYXRpb25T
dGFydGVkQXN5bmMoKTsKQEAgLTM5MCwxNiArNDAwLDE5IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0
SW1wbDo6cGFpbnQoUVBhaW50ZXIKICAgICB9CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllclF0SW1w
bDo6bm90aWZ5Q2hhbmdlKENoYW5nZU1hc2sgY2hhbmdlTWFzaykKK3ZvaWQgR3JhcGhpY3NMYXll
clF0SW1wbDo6bm90aWZ5U3luY1JlcXVpcmVkKCkKIHsKLSAgICBRX0FTU0VSVCh0aGlzKTsKLQot
ICAgIG1fY2hhbmdlTWFzayB8PSBjaGFuZ2VNYXNrOwotCiAgICAgaWYgKG1fbGF5ZXItPmNsaWVu
dCgpKQogICAgICAgICBtX2xheWVyLT5jbGllbnQoKS0+bm90aWZ5U3luY1JlcXVpcmVkKG1fbGF5
ZXIpOwogfQogCit2b2lkIEdyYXBoaWNzTGF5ZXJRdEltcGw6Om5vdGlmeUNoYW5nZShDaGFuZ2VN
YXNrIGNoYW5nZU1hc2spCit7CisgICAgbV9jaGFuZ2VNYXNrIHw9IGNoYW5nZU1hc2s7CisgICAg
c3RhdGljIFFNZXRhTWV0aG9kIHN5bmNNZXRob2QgPSBzdGF0aWNNZXRhT2JqZWN0Lm1ldGhvZChz
dGF0aWNNZXRhT2JqZWN0LmluZGV4T2ZNZXRob2QoIm5vdGlmeVN5bmNSZXF1aXJlZCgpIikpOwor
ICAgIHN5bmNNZXRob2QuaW52b2tlKHRoaXMsIFF0OjpRdWV1ZWRDb25uZWN0aW9uKTsKK30KKwog
dm9pZCBHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVzaENoYW5nZXMoYm9vbCByZWN1cnNpdmUsIGJv
b2wgZm9yY2VVcGRhdGVUcmFuc2Zvcm0pCiB7CiAgICAgLy8gdGhpcyBpcyB0aGUgYnVsayBvZiB0
aGUgd29yay4gdW5kZXJzdGFuZGluZyB3aGF0IHRoZSBjb21wb3NpdG9yIGlzIHRyeWluZyB0byBh
Y2hpZXZlLApAQCAtNTIxLDcgKzUzNCw3IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1
c2hDaGFuZ2VzKGIKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICgobV9jaGFuZ2VNYXNrICYg
T3BhY2l0eUNoYW5nZSkgJiYgbV9zdGF0ZS5vcGFjaXR5ICE9IG1fbGF5ZXItPm9wYWNpdHkoKSkK
KyAgICBpZiAoKG1fY2hhbmdlTWFzayAmIE9wYWNpdHlDaGFuZ2UpICYmIG1fc3RhdGUub3BhY2l0
eSAhPSBtX2xheWVyLT5vcGFjaXR5KCkgJiYgIW1fb3BhY2l0eUFuaW1hdGlvblJ1bm5pbmcpCiAg
ICAgICAgIHNldE9wYWNpdHkobV9sYXllci0+b3BhY2l0eSgpKTsKIAogICAgIGlmIChtX2NoYW5n
ZU1hc2sgJiBDb250ZW50c1JlY3RDaGFuZ2UpIHsKQEAgLTcwOSwxMTYgKzcyMiwxNDAgQEAgdm9p
ZCBHcmFwaGljc0xheWVyUXQ6OnJlbW92ZUZyb21QYXJlbnQoKQogfQogCiAvLyByZWltcCBmcm9t
IEdyYXBoaWNzTGF5ZXIuaAotdm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldE1hc2tMYXllcihHcmFw
aGljc0xheWVyKiBsYXllcikKK3ZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRNYXNrTGF5ZXIoR3Jh
cGhpY3NMYXllciogdmFsdWUpCiB7Ci0gICAgR3JhcGhpY3NMYXllcjo6c2V0TWFza0xheWVyKGxh
eWVyKTsKKyAgICBpZiAodmFsdWUgPT0gbWFza0xheWVyKCkpCisgICAgICAgIHJldHVybjsKKyAg
ICBHcmFwaGljc0xheWVyOjpzZXRNYXNrTGF5ZXIodmFsdWUpOwogICAgIG1faW1wbC0+bm90aWZ5
Q2hhbmdlKEdyYXBoaWNzTGF5ZXJRdEltcGw6Ok1hc2tMYXllckNoYW5nZSk7CiB9CiAKIC8vIHJl
aW1wIGZyb20gR3JhcGhpY3NMYXllci5oCi12b2lkIEdyYXBoaWNzTGF5ZXJRdDo6c2V0UG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYgcCkKK3ZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRQb3NpdGlv
bihjb25zdCBGbG9hdFBvaW50JiB2YWx1ZSkKIHsKLSAgICBpZiAocG9zaXRpb24oKSAhPSBwKQot
ICAgICAgIG1faW1wbC0+bm90aWZ5Q2hhbmdlKEdyYXBoaWNzTGF5ZXJRdEltcGw6OlBvc2l0aW9u
Q2hhbmdlKTsKLSAgICBHcmFwaGljc0xheWVyOjpzZXRQb3NpdGlvbihwKTsKKyAgICBpZiAodmFs
dWUgPT0gcG9zaXRpb24oKSkKKyAgICAgICAgcmV0dXJuOworICAgIEdyYXBoaWNzTGF5ZXI6OnNl
dFBvc2l0aW9uKHZhbHVlKTsKKyAgICBtX2ltcGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVy
UXRJbXBsOjpQb3NpdGlvbkNoYW5nZSk7CiB9CiAKIC8vIHJlaW1wIGZyb20gR3JhcGhpY3NMYXll
ci5oCi12b2lkIEdyYXBoaWNzTGF5ZXJRdDo6c2V0QW5jaG9yUG9pbnQoY29uc3QgRmxvYXRQb2lu
dDNEJiBwKQordm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldEFuY2hvclBvaW50KGNvbnN0IEZsb2F0
UG9pbnQzRCYgdmFsdWUpCiB7Ci0gICAgaWYgKGFuY2hvclBvaW50KCkgIT0gcCkKLSAgICAgICAg
bV9pbXBsLT5ub3RpZnlDaGFuZ2UoR3JhcGhpY3NMYXllclF0SW1wbDo6QW5jaG9yUG9pbnRDaGFu
Z2UpOwotICAgIEdyYXBoaWNzTGF5ZXI6OnNldEFuY2hvclBvaW50KHApOworICAgIGlmICh2YWx1
ZSA9PSBhbmNob3JQb2ludCgpKQorICAgICAgICByZXR1cm47CisgICAgR3JhcGhpY3NMYXllcjo6
c2V0QW5jaG9yUG9pbnQodmFsdWUpOworICAgIG1faW1wbC0+bm90aWZ5Q2hhbmdlKEdyYXBoaWNz
TGF5ZXJRdEltcGw6OkFuY2hvclBvaW50Q2hhbmdlKTsKIH0KIAogLy8gcmVpbXAgZnJvbSBHcmFw
aGljc0xheWVyLmgKLXZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRTaXplKGNvbnN0IEZsb2F0U2l6
ZSYgc2l6ZSkKK3ZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRTaXplKGNvbnN0IEZsb2F0U2l6ZSYg
dmFsdWUpCiB7Ci0gICAgaWYgKHRoaXMtPnNpemUoKSAhPSBzaXplKQotICAgICAgICBtX2ltcGwt
Pm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJbXBsOjpTaXplQ2hhbmdlKTsKLSAgICBHcmFw
aGljc0xheWVyOjpzZXRTaXplKHNpemUpOworICAgIGlmICh2YWx1ZSA9PSBzaXplKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBHcmFwaGljc0xheWVyOjpzZXRTaXplKHZhbHVlKTsKKyAgICBtX2lt
cGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJbXBsOjpTaXplQ2hhbmdlKTsKIH0KIAog
Ly8gcmVpbXAgZnJvbSBHcmFwaGljc0xheWVyLmgKLXZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRU
cmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCit2b2lkIEdyYXBoaWNzTGF5
ZXJRdDo6c2V0VHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB2YWx1ZSkKIHsK
LSAgICBpZiAoIW1faW1wbC0+bV90cmFuc2Zvcm1BbmltYXRpb25SdW5uaW5nICYmIHRyYW5zZm9y
bSgpICE9IHQpCi0gICAgICAgbV9pbXBsLT5ub3RpZnlDaGFuZ2UoR3JhcGhpY3NMYXllclF0SW1w
bDo6VHJhbnNmb3JtQ2hhbmdlKTsKLSAgICBHcmFwaGljc0xheWVyOjpzZXRUcmFuc2Zvcm0odCk7
CisgICAgaWYgKHZhbHVlID09IHRyYW5zZm9ybSgpKQorICAgICAgICByZXR1cm47CisgICAgR3Jh
cGhpY3NMYXllcjo6c2V0VHJhbnNmb3JtKHZhbHVlKTsKKyAgICBtX2ltcGwtPm5vdGlmeUNoYW5n
ZShHcmFwaGljc0xheWVyUXRJbXBsOjpUcmFuc2Zvcm1DaGFuZ2UpOwogfQogCiAvLyByZWltcCBm
cm9tIEdyYXBoaWNzTGF5ZXIuaAotdm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldENoaWxkcmVuVHJh
bnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0KQordm9pZCBHcmFwaGljc0xheWVy
UXQ6OnNldENoaWxkcmVuVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB2YWx1
ZSkKIHsKLSAgICBHcmFwaGljc0xheWVyOjpzZXRDaGlsZHJlblRyYW5zZm9ybSh0KTsKKyAgICBp
ZiAodmFsdWUgPT0gY2hpbGRyZW5UcmFuc2Zvcm0oKSkKKyAgICAgICAgcmV0dXJuOworICAgIEdy
YXBoaWNzTGF5ZXI6OnNldENoaWxkcmVuVHJhbnNmb3JtKHZhbHVlKTsKICAgICBtX2ltcGwtPm5v
dGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJbXBsOjpDaGlsZHJlblRyYW5zZm9ybUNoYW5nZSk7
CiB9CiAKIC8vIHJlaW1wIGZyb20gR3JhcGhpY3NMYXllci5oCi12b2lkIEdyYXBoaWNzTGF5ZXJR
dDo6c2V0UHJlc2VydmVzM0QoYm9vbCBiKQordm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldFByZXNl
cnZlczNEKGJvb2wgdmFsdWUpCiB7Ci0gICAgaWYgKGIgIT0gcHJlc2VydmVzM0QoKSk7Ci0gICAg
ICAgbV9pbXBsLT5ub3RpZnlDaGFuZ2UoR3JhcGhpY3NMYXllclF0SW1wbDo6UHJlc2VydmVzM0RD
aGFuZ2UpOwotICAgIEdyYXBoaWNzTGF5ZXI6OnNldFByZXNlcnZlczNEKGIpOworICAgIGlmICh2
YWx1ZSA9PSBwcmVzZXJ2ZXMzRCgpKQorICAgICAgICByZXR1cm47CisgICAgR3JhcGhpY3NMYXll
cjo6c2V0UHJlc2VydmVzM0QodmFsdWUpOworICAgIG1faW1wbC0+bm90aWZ5Q2hhbmdlKEdyYXBo
aWNzTGF5ZXJRdEltcGw6OlByZXNlcnZlczNEQ2hhbmdlKTsKIH0KIAogLy8gcmVpbXAgZnJvbSBH
cmFwaGljc0xheWVyLmgKLXZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRNYXNrc1RvQm91bmRzKGJv
b2wgYikKK3ZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRNYXNrc1RvQm91bmRzKGJvb2wgdmFsdWUp
CiB7Ci0gICAgR3JhcGhpY3NMYXllcjo6c2V0TWFza3NUb0JvdW5kcyhiKTsKKyAgICBpZiAodmFs
dWUgPT0gbWFza3NUb0JvdW5kcygpKQorICAgICAgICByZXR1cm47CisgICAgR3JhcGhpY3NMYXll
cjo6c2V0TWFza3NUb0JvdW5kcyh2YWx1ZSk7CiAgICAgbV9pbXBsLT5ub3RpZnlDaGFuZ2UoR3Jh
cGhpY3NMYXllclF0SW1wbDo6TWFza3NUb0JvdW5kc0NoYW5nZSk7CiB9CiAKIC8vIHJlaW1wIGZy
b20gR3JhcGhpY3NMYXllci5oCi12b2lkIEdyYXBoaWNzTGF5ZXJRdDo6c2V0RHJhd3NDb250ZW50
KGJvb2wgYikKK3ZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXREcmF3c0NvbnRlbnQoYm9vbCB2YWx1
ZSkKIHsKKyAgICBpZiAodmFsdWUgPT0gZHJhd3NDb250ZW50KCkpCisgICAgICAgIHJldHVybjsK
ICAgICBtX2ltcGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJbXBsOjpEcmF3c0NvbnRl
bnRDaGFuZ2UpOwotICAgIEdyYXBoaWNzTGF5ZXI6OnNldERyYXdzQ29udGVudChiKTsKKyAgICBH
cmFwaGljc0xheWVyOjpzZXREcmF3c0NvbnRlbnQodmFsdWUpOwogfQogCiAvLyByZWltcCBmcm9t
IEdyYXBoaWNzTGF5ZXIuaAotdm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldEJhY2tncm91bmRDb2xv
cihjb25zdCBDb2xvciYgYykKK3ZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRCYWNrZ3JvdW5kQ29s
b3IoY29uc3QgQ29sb3ImIHZhbHVlKQogeworICAgIGlmICh2YWx1ZSA9PSBtX2ltcGwtPm1fcGVu
ZGluZ0NvbnRlbnQuYmFja2dyb3VuZENvbG9yKQorICAgICAgICByZXR1cm47CisgICAgbV9pbXBs
LT5tX3BlbmRpbmdDb250ZW50LmJhY2tncm91bmRDb2xvciA9IHZhbHVlOworICAgIEdyYXBoaWNz
TGF5ZXI6OnNldEJhY2tncm91bmRDb2xvcih2YWx1ZSk7CiAgICAgbV9pbXBsLT5ub3RpZnlDaGFu
Z2UoR3JhcGhpY3NMYXllclF0SW1wbDo6QmFja2dyb3VuZENvbG9yQ2hhbmdlKTsKLSAgICBtX2lt
cGwtPm1fcGVuZGluZ0NvbnRlbnQuYmFja2dyb3VuZENvbG9yID0gYzsKLSAgICBHcmFwaGljc0xh
eWVyOjpzZXRCYWNrZ3JvdW5kQ29sb3IoYyk7CiB9CiAKIC8vIHJlaW1wIGZyb20gR3JhcGhpY3NM
YXllci5oCiB2b2lkIEdyYXBoaWNzTGF5ZXJRdDo6Y2xlYXJCYWNrZ3JvdW5kQ29sb3IoKQogewor
ICAgIGlmICghbV9pbXBsLT5tX3BlbmRpbmdDb250ZW50LmJhY2tncm91bmRDb2xvci5pc1ZhbGlk
KCkpCisgICAgICAgIHJldHVybjsKICAgICBtX2ltcGwtPm1fcGVuZGluZ0NvbnRlbnQuYmFja2dy
b3VuZENvbG9yID0gUUNvbG9yKCk7Ci0gICAgbV9pbXBsLT5ub3RpZnlDaGFuZ2UoR3JhcGhpY3NM
YXllclF0SW1wbDo6QmFja2dyb3VuZENvbG9yQ2hhbmdlKTsKICAgICBHcmFwaGljc0xheWVyOjpj
bGVhckJhY2tncm91bmRDb2xvcigpOworICAgIG1faW1wbC0+bm90aWZ5Q2hhbmdlKEdyYXBoaWNz
TGF5ZXJRdEltcGw6OkJhY2tncm91bmRDb2xvckNoYW5nZSk7CiB9CiAKIC8vIHJlaW1wIGZyb20g
R3JhcGhpY3NMYXllci5oCi12b2lkIEdyYXBoaWNzTGF5ZXJRdDo6c2V0Q29udGVudHNPcGFxdWUo
Ym9vbCBiKQordm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldENvbnRlbnRzT3BhcXVlKGJvb2wgdmFs
dWUpCiB7CisgICAgaWYgKHZhbHVlID09IGNvbnRlbnRzT3BhcXVlKCkpCisgICAgICAgIHJldHVy
bjsKICAgICBtX2ltcGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJbXBsOjpDb250ZW50
c09wYXF1ZUNoYW5nZSk7Ci0gICAgR3JhcGhpY3NMYXllcjo6c2V0Q29udGVudHNPcGFxdWUoYik7
CisgICAgR3JhcGhpY3NMYXllcjo6c2V0Q29udGVudHNPcGFxdWUodmFsdWUpOwogfQogCiAvLyBy
ZWltcCBmcm9tIEdyYXBoaWNzTGF5ZXIuaAotdm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldEJhY2tm
YWNlVmlzaWJpbGl0eShib29sIGIpCit2b2lkIEdyYXBoaWNzTGF5ZXJRdDo6c2V0QmFja2ZhY2VW
aXNpYmlsaXR5KGJvb2wgdmFsdWUpCiB7CisgICAgaWYgKHZhbHVlID09IGJhY2tmYWNlVmlzaWJp
bGl0eSgpKQorICAgICAgICByZXR1cm47CisgICAgR3JhcGhpY3NMYXllcjo6c2V0QmFja2ZhY2VW
aXNpYmlsaXR5KHZhbHVlKTsKICAgICBtX2ltcGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVy
UXRJbXBsOjpCYWNrZmFjZVZpc2liaWxpdHlDaGFuZ2UpOwotICAgIEdyYXBoaWNzTGF5ZXI6OnNl
dEJhY2tmYWNlVmlzaWJpbGl0eShiKTsKIH0KIAogLy8gcmVpbXAgZnJvbSBHcmFwaGljc0xheWVy
LmgKLXZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRPcGFjaXR5KGZsb2F0IG8pCit2b2lkIEdyYXBo
aWNzTGF5ZXJRdDo6c2V0T3BhY2l0eShmbG9hdCB2YWx1ZSkKIHsKLSAgICBpZiAoIW1faW1wbC0+
bV9vcGFjaXR5QW5pbWF0aW9uUnVubmluZyAmJiBvcGFjaXR5KCkgIT0gbykKLSAgICAgICBtX2lt
cGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJbXBsOjpPcGFjaXR5Q2hhbmdlKTsKLSAg
ICBHcmFwaGljc0xheWVyOjpzZXRPcGFjaXR5KG8pOworICAgIGlmICh2YWx1ZSA9PSBvcGFjaXR5
KCkpCisgICAgICAgIHJldHVybjsKKyAgICBHcmFwaGljc0xheWVyOjpzZXRPcGFjaXR5KHZhbHVl
KTsKKyAgICBtX2ltcGwtPm5vdGlmeUNoYW5nZShHcmFwaGljc0xheWVyUXRJbXBsOjpPcGFjaXR5
Q2hhbmdlKTsKIH0KIAogLy8gcmVpbXAgZnJvbSBHcmFwaGljc0xheWVyLmgKLXZvaWQgR3JhcGhp
Y3NMYXllclF0OjpzZXRDb250ZW50c1JlY3QoY29uc3QgSW50UmVjdCYgcikKK3ZvaWQgR3JhcGhp
Y3NMYXllclF0OjpzZXRDb250ZW50c1JlY3QoY29uc3QgSW50UmVjdCYgdmFsdWUpCiB7CisgICAg
aWYgKHZhbHVlID09IGNvbnRlbnRzUmVjdCgpKQorICAgICAgICByZXR1cm47CisgICAgR3JhcGhp
Y3NMYXllcjo6c2V0Q29udGVudHNSZWN0KHZhbHVlKTsKICAgICBtX2ltcGwtPm5vdGlmeUNoYW5n
ZShHcmFwaGljc0xheWVyUXRJbXBsOjpDb250ZW50c1JlY3RDaGFuZ2UpOwotICAgIEdyYXBoaWNz
TGF5ZXI6OnNldENvbnRlbnRzUmVjdChyKTsKIH0KIAogLy8gcmVpbXAgZnJvbSBHcmFwaGljc0xh
eWVyLmgK
</data>

          </attachment>
      

    </bug>

</bugzilla>