<?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>56555</bug_id>
          
          <creation_ts>2011-03-17 02:56:20 -0700</creation_ts>
          <short_desc>[Qt] Enable GraphicsContext3D only when the window surface support OpenGL</short_desc>
          <delta_ts>2011-03-18 07:28:27 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>Qt, QtTriaged</keywords>
          <priority>P5</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jarkko Sakkinen">jarkko.j.sakkinen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>jarkko.j.sakkinen</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>368956</commentid>
    <comment_count>0</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 02:56:20 -0700</bug_when>
    <thetext>This bug was cause by this change:
https://bugs.webkit.org/show_bug.cgi?id=56339

Viewport widget should not be stored into member variable because
it might not stay valid for the full life-cycle of GraphicsContext3D.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368979</commentid>
    <comment_count>1</comment_count>
      <attachid>86043</attachid>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 04:21:18 -0700</bug_when>
    <thetext>Created attachment 86043
Bug fix. See the ChangeLog entry for more verbose description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368982</commentid>
    <comment_count>2</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 04:23:24 -0700</bug_when>
    <thetext>Adding Simon and Benjamin to CC list because this in a way related to:
https://bugs.webkit.org/show_bug.cgi?id=40884

After some thinking I completely support your choice of not supporting any kind of software fallback at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>368996</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-17 04:42:03 -0700</bug_when>
    <thetext>What about printing? Or rendering a particular frame to QImage? Wouldn&apos;t that disable the GraphicsContext3D for the following painting call?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369002</commentid>
    <comment_count>4</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 04:52:33 -0700</bug_when>
    <thetext>You&apos;re right. In order to support those cases software fallback *is* needed. *Also*, there should be a check before allowing texture mapping in GraphicsContext3DImpl::paint() that painter-&gt;paintDevice() == m_viewportGLWidget. If not use software fallback.

I think, because of cases that you mentioned, you should reconsider reopening 40884 (QImage and printing). I&apos;ll revise this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369013</commentid>
    <comment_count>5</comment_count>
      <attachid>86043</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-17 05:11:41 -0700</bug_when>
    <thetext>Comment on attachment 86043
Bug fix. See the ChangeLog entry for more verbose description.

I do not mind updating 40884.
Rejecting this for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369015</commentid>
    <comment_count>6</comment_count>
      <attachid>86048</attachid>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 05:14:12 -0700</bug_when>
    <thetext>Created attachment 86048
Revised fix. Allows software fallback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369023</commentid>
    <comment_count>7</comment_count>
      <attachid>86048</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-17 05:48:11 -0700</bug_when>
    <thetext>Comment on attachment 86048
Revised fix. Allows software fallback.

Quick comment from a quick look: we are not limiting lines to 80 characters in WebKit, you don&apos;t have to split everything like this:
    PageClientQWidget* webPageClient
        = static_cast&lt;PageClientQWidget*&gt;(m_hostWindow-&gt;platformPageClient());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369078</commentid>
    <comment_count>8</comment_count>
      <attachid>86062</attachid>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 09:23:36 -0700</bug_when>
    <thetext>Created attachment 86062
Fixed indentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369082</commentid>
    <comment_count>9</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 09:28:53 -0700</bug_when>
    <thetext>Fixed indentation. This fixes now two issues:
- Crash does not occur when viewport is switched.
- Does only texture mapping if painter is associated to the viewport QGLWidget.

These are anyway valid fixes. Let&apos;s scope software fallback discussion out of this bug :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369086</commentid>
    <comment_count>10</comment_count>
      <attachid>86062</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-17 09:41:11 -0700</bug_when>
    <thetext>Comment on attachment 86062
Fixed indentation

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

&gt; Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:474
&gt; +    PageClientQWidget* webPageClient
&gt; +        = static_cast&lt;PageClientQWidget*&gt;(m_hostWindow-&gt;platformPageClient());

This should be on one line.

&gt; Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:488
&gt; +    PageClientQWidget* webPageClient
&gt; +        = static_cast&lt;PageClientQWidget*&gt;(m_hostWindow-&gt;platformPageClient());

This should be on one line.

&gt; Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:504
&gt; +    QGLWidget* viewportGLWidget = getViewportGLWidget();
&gt; +    if (testAcceleratedCompositing()
&gt; +            &amp;&amp; viewportGLWidget
&gt; +            &amp;&amp; viewportGLWidget == m_viewportGLWidget
&gt; +            &amp;&amp; viewportGLWidget == painter-&gt;device()) {

I would put those test as the first statements of the functions, and return if not true.

That way it is clear, if the initial condition are not correct, just return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369087</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-17 09:41:43 -0700</bug_when>
    <thetext>I r- just for style issues, the patch looks good to me otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369094</commentid>
    <comment_count>12</comment_count>
      <attachid>86062</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-17 09:47:45 -0700</bug_when>
    <thetext>Comment on attachment 86062
Fixed indentation

Thinking abou it...

Aren&apos;t the static_cast&lt;PageClientQWidget*&gt; wrong? You should use QWebPageClient. The return value of m_hostWindow-&gt;platformPageClient() is gonna be PageClientQGraphicsWidget for QGraphicsWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369115</commentid>
    <comment_count>13</comment_count>
      <attachid>86066</attachid>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 10:16:28 -0700</bug_when>
    <thetext>Created attachment 86066
Fixed rest of the indentations.

After that last if-statement that you commented comes the software fallback. Therefore, it is handled that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369518</commentid>
    <comment_count>14</comment_count>
      <attachid>86138</attachid>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-17 23:06:14 -0700</bug_when>
    <thetext>Created attachment 86138
Check AC on creation of WebGLRenderingContext

See the ChangeLog entry for description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369564</commentid>
    <comment_count>15</comment_count>
      <attachid>86138</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-18 02:00:18 -0700</bug_when>
    <thetext>Comment on attachment 86138
Check AC on creation of WebGLRenderingContext

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

&gt; Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:469
&gt; +    QWebPageClient* webPageClient = m_hostWindow-&gt;platformPageClient();
&gt; +
&gt; +    QAbstractScrollArea* scrollArea = qobject_cast&lt;QAbstractScrollArea*&gt;(webPageClient-&gt;ownerWidget());

I would remove that unneeded newline

&gt; Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:472
&gt; +    if (scrollArea)
&gt; +        return qobject_cast&lt;QGLWidget*&gt;(scrollArea-&gt;viewport());

Doesn&apos;t casting 0 return a 0? Just wondered if you could do &quot;return qobject...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369567</commentid>
    <comment_count>16</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-18 02:11:10 -0700</bug_when>
    <thetext>The pointer scrollArea might be NULL. If it were, then scrollArea-&gt;viewport() would cause SEGFAULT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369576</commentid>
    <comment_count>17</comment_count>
      <attachid>86149</attachid>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-18 02:16:21 -0700</bug_when>
    <thetext>Created attachment 86149
Removed unnecessary new line character</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369578</commentid>
    <comment_count>18</comment_count>
      <attachid>86150</attachid>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-18 02:17:53 -0700</bug_when>
    <thetext>Created attachment 86150
Mistake in taking diff in last submit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369618</commentid>
    <comment_count>19</comment_count>
      <attachid>86150</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-18 07:28:21 -0700</bug_when>
    <thetext>Comment on attachment 86150
Mistake in taking diff in last submit

Clearing flags on attachment: 86150

Committed r81468: &lt;http://trac.webkit.org/changeset/81468&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369619</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-18 07:28:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86043</attachid>
            <date>2011-03-17 04:21:18 -0700</date>
            <delta_ts>2011-03-17 05:14:12 -0700</delta_ts>
            <desc>Bug fix. See the ChangeLog entry for more verbose description.</desc>
            <filename>56555.diff</filename>
            <type>text/plain</type>
            <size>6273</size>
            <attacher name="Jarkko Sakkinen">jarkko.j.sakkinen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYzlkOTAzLi45MTFiYjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTEtMDMtMTcgIEphcmtrbyBTYWtraW5lbiAgPGphcmtrby5qLnNha2tpbmVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIENyYXNoOiBRR0xXaWRnZXQgdmlld3BvcnQgaXMgc3dpdGNoZWQgdG8gUVdpZGdldCB2aWV3
cG9ydCB3aGlsZQorICAgICAgICBzaG93aW5nIGEgcGFnZSB3aXRoIFdlYkdMIGNvbnRlbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTU1CisKKyAg
ICAgICAgQ2hlY2tzIG9uIGNyZWF0aW9uIHdoZXRoZXIgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcg
aXMgZW5hYmxlZAorICAgICAgICBhbmQgUUdMV2lkZ2V0IHZpZXdwb3J0IGlzIHVzZWQuIENyZWF0
aW9uIG9ubHkgc3VjY2VlZHMgaW4gdGhlc2UKKyAgICAgICAgY29zdHJhaW50cy4gT24gZWFjaCBw
YWludCBjYWxsIGNoZWNrcyB3aGV0aGVyIHZpZXdwb3J0IGlzIHN0aWxsCisgICAgICAgIHRoZSBz
YW1lIGFzIGluIGNyZWF0aW9uLiBJbnZhbGlkYXRlcyBHcmFwaGljc0NvbnRleHQzRCBpZiBpdCBp
c24ndC4KKyAgICAgICAgUmVtb3ZlZCBkZXByZWNhdGVkIHNvZnR3YXJlIGZhbGxiYWNrIGJsaXR0
aW5nIGNvZGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6
OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0M0RJbnRlcm5hbDo6Z2V0Vmlld3BvcnRHTFdpZGdldCk6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjp0ZXN0QWNjZWxlcmF0ZWRDb21wb3NpdGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpwYWludCk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6cmVzaGFwZSk6CisKIDIwMTEtMDMt
MTYgIEplZmYgSm9obnNvbiAgPGdpdGh1YkBsYXBjYXRzb2Z0d2FyZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKaW5k
ZXggYWYxNTNhOS4uNjVlNTA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKQEAgLTE1NSw3ICsx
NTUsMTAgQEAgcHVibGljOgogICAgIH5HcmFwaGljc0NvbnRleHQzREludGVybmFsKCk7CiAKICAg
ICBib29sIGlzQ29udGV4dFZhbGlkKCkgeyByZXR1cm4gbV9jb250ZXh0VmFsaWQ7IH0KLSAgICBR
R0xXaWRnZXQqIGdldE93bmVyR0xXaWRnZXQoUVdlYlBhZ2VDbGllbnQqIHdlYlBhZ2VDbGllbnQp
OworICAgIFFHTFdpZGdldCogZ2V0Vmlld3BvcnRHTFdpZGdldCgpOworI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKKyAgICBib29sIHRlc3RBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7
CisjZW5kaWYKICAgICB2b2lkIHBhaW50KFFQYWludGVyKiwgY29uc3QgUVN0eWxlT3B0aW9uR3Jh
cGhpY3NJdGVtKiwgUVdpZGdldCopOwogICAgIFFSZWN0RiBib3VuZGluZ1JlY3QoKSBjb25zdDsK
IApAQCAtMjUzLDEzICsyNTYsMTIgQEAgcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dDNEOjpB
dHRyaWJ1dGVzIG1fYXR0cnM7CiAgICAgSG9zdFdpbmRvdyogbV9ob3N0V2luZG93OwogICAgIFFH
TFdpZGdldCogbV9nbFdpZGdldDsKLSAgICBRR0xXaWRnZXQqIG1fb3duZXJHTFdpZGdldDsKKyAg
ICBRR0xXaWRnZXQqIG1fdmlld3BvcnRHTFdpZGdldDsKICAgICBRUmVjdEYgbV9ib3VuZGluZ1Jl
Y3Q7CiAgICAgR0x1aW50IG1fdGV4dHVyZTsKICAgICBHTHVpbnQgbV9tYWluRmJvOwogICAgIEdM
dWludCBtX2N1cnJlbnRGYm87CiAgICAgR0x1aW50IG1fZGVwdGhCdWZmZXI7Ci0gICAgUUltYWdl
IG1fcGl4ZWxzOwogICAgIExpc3RIYXNoU2V0PHVuc2lnbmVkIGludD4gbV9zeW50aGV0aWNFcnJv
cnM7CiAKICAgICBPd25QdHI8RXh0ZW5zaW9uczNEUXQ+IG1fZXh0ZW5zaW9uczsKQEAgLTI4OSwy
NiArMjkxLDI1IEBAIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OkdyYXBoaWNzQ29udGV4dDNE
SW50ZXJuYWwoR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0CiAgICAgOiBtX2F0dHJzKGF0dHJz
KQogICAgICwgbV9ob3N0V2luZG93KGhvc3RXaW5kb3cpCiAgICAgLCBtX2dsV2lkZ2V0KDApCi0g
ICAgLCBtX293bmVyR0xXaWRnZXQoMCkKKyAgICAsIG1fdmlld3BvcnRHTFdpZGdldCgwKQogICAg
ICwgbV90ZXh0dXJlKDApCiAgICAgLCBtX21haW5GYm8oMCkKICAgICAsIG1fY3VycmVudEZibygw
KQogICAgICwgbV9kZXB0aEJ1ZmZlcigwKQogICAgICwgbV9jb250ZXh0VmFsaWQodHJ1ZSkKIHsK
LSAgICBQYWdlQ2xpZW50UVdpZGdldCogd2ViUGFnZUNsaWVudAotICAgICAgICA9IHN0YXRpY19j
YXN0PFBhZ2VDbGllbnRRV2lkZ2V0Kj4oaG9zdFdpbmRvdy0+cGxhdGZvcm1QYWdlQ2xpZW50KCkp
OwotCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgIGlmICh3ZWJQYWdlQ2xp
ZW50LT5wYWdlLT5zZXR0aW5ncygpLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpKSB7Ci0gICAgICAgIFFBYnN0cmFjdFNjcm9sbEFyZWEq
IHNjcm9sbEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdlYlBhZ2VD
bGllbnQtPm93bmVyV2lkZ2V0KCkpOwotICAgICAgICBpZiAoc2Nyb2xsQXJlYSkKLSAgICAgICAg
ICAgIG1fb3duZXJHTFdpZGdldCA9IHFvYmplY3RfY2FzdDxRR0xXaWRnZXQqPihzY3JvbGxBcmVh
LT52aWV3cG9ydCgpKTsKLSAgICB9CisgICAgaWYgKHRlc3RBY2NlbGVyYXRlZENvbXBvc2l0aW5n
KCkpCisgICAgICAgIG1fdmlld3BvcnRHTFdpZGdldCA9IGdldFZpZXdwb3J0R0xXaWRnZXQoKTsK
ICNlbmRpZgogCi0gICAgaWYgKG1fb3duZXJHTFdpZGdldCkKLSAgICAgICAgbV9nbFdpZGdldCA9
IG5ldyBRR0xXaWRnZXQoMCwgbV9vd25lckdMV2lkZ2V0KTsKKyAgICBpZiAoIW1fdmlld3BvcnRH
TFdpZGdldCkgeworICAgICAgICBtX2NvbnRleHRWYWxpZCA9IGZhbHNlOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKG1fdmlld3BvcnRHTFdpZGdldCkKKyAgICAgICAgbV9nbFdp
ZGdldCA9IG5ldyBRR0xXaWRnZXQoMCwgbV92aWV3cG9ydEdMV2lkZ2V0KTsKICAgICBlbHNlIHsK
ICAgICAgICAgUUdMRm9ybWF0IGZvcm1hdDsKICAgICAgICAgZm9ybWF0LnNldERlcHRoKHRydWUp
OwpAQCAtNDcxLDI3ICs0NzIsNDYgQEAgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6fkdyYXBo
aWNzQ29udGV4dDNESW50ZXJuYWwoKQogICAgIG1fZ2xXaWRnZXQgPSAwOwogfQogCitRR0xXaWRn
ZXQqIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQoKQorewor
ICAgIFBhZ2VDbGllbnRRV2lkZ2V0KiB3ZWJQYWdlQ2xpZW50CisgICAgICAgID0gc3RhdGljX2Nh
c3Q8UGFnZUNsaWVudFFXaWRnZXQqPihtX2hvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgp
KTsKKworICAgIFFBYnN0cmFjdFNjcm9sbEFyZWEqIHNjcm9sbEFyZWEgPSBxb2JqZWN0X2Nhc3Q8
UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdlYlBhZ2VDbGllbnQtPm93bmVyV2lkZ2V0KCkpOworCisg
ICAgaWYgKHNjcm9sbEFyZWEpCisgICAgICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0
Kj4oc2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7CisKKyAgICByZXR1cm4gMDsKK30KKworI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKK2Jvb2wgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5h
bDo6dGVzdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQoreworICAgIFBhZ2VDbGllbnRRV2lkZ2V0
KiB3ZWJQYWdlQ2xpZW50CisgICAgICAgID0gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFXaWRnZXQq
PihtX2hvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKKworICAgIHJldHVybiB3ZWJQ
YWdlQ2xpZW50CisgICAgICAgIC0+cGFnZQorICAgICAgICAtPnNldHRpbmdzKCkKKyAgICAgICAg
LT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJs
ZWQpOworfQorI2VuZGlmCisKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQo
UVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbSogb3B0aW9u
LCBRV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgUV9VTlVTRUQod2lkZ2V0KTsKIAotICAgIFFSZWN0
RiByZWN0ID0gb3B0aW9uID8gb3B0aW9uLT5yZWN0IDogYm91bmRpbmdSZWN0KCk7Ci0KICNpZiBR
VF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNywgMCkKLSAgICAvLyBVc2UgZGlyZWN0
IHRleHR1cmUgbWFwcGluZyBpZiBXZWJHTCBjYW52YXMgaGFzIGEgc2hhcmVkIE9wZW5HTCBjb250
ZXh0Ci0gICAgLy8gd2l0aCBicm93c2VycyBPcGVuR0wgY29udGV4dC4KLSAgICBpZiAobV9vd25l
ckdMV2lkZ2V0KSB7Ci0gICAgICAgIG1fb3duZXJHTFdpZGdldC0+ZHJhd1RleHR1cmUocmVjdCwg
bV90ZXh0dXJlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBRR0xXaWRnZXQqIHZpZXdw
b3J0R0xXaWRnZXQgPSBnZXRWaWV3cG9ydEdMV2lkZ2V0KCk7CisgICAgaWYgKHRlc3RBY2NlbGVy
YXRlZENvbXBvc2l0aW5nKCkKKyAgICAgICAgICAgICYmIHZpZXdwb3J0R0xXaWRnZXQKKyAgICAg
ICAgICAgICYmIHZpZXdwb3J0R0xXaWRnZXQgPT0gbV92aWV3cG9ydEdMV2lkZ2V0KSB7CisgICAg
ICAgIFFSZWN0RiByZWN0ID0gb3B0aW9uID8gb3B0aW9uLT5yZWN0IDogYm91bmRpbmdSZWN0KCk7
CisgICAgICAgIHZpZXdwb3J0R0xXaWRnZXQtPmRyYXdUZXh0dXJlKHJlY3QsIG1fdGV4dHVyZSk7
CisgICAgfSBlbHNlCisgICAgICAgIG1fY29udGV4dFZhbGlkID0gZmFsc2U7CiAjZW5kaWYKLQot
ICAgIC8vIEFsdGVybmF0aXZlbHkgcmVhZCBwaXhlbHMgdG8gYSBtZW1vcnkgYnVmZmVyLgotICAg
IG1fZ2xXaWRnZXQtPm1ha2VDdXJyZW50KCk7Ci0gICAgYmluZEZyYW1lYnVmZmVyKEdyYXBoaWNz
Q29udGV4dDNEOjpGUkFNRUJVRkZFUiwgbV9tYWluRmJvKTsKLSAgICBnbFJlYWRQaXhlbHMoLyog
eCAqLyAwLCAvKiB5ICovIDAsIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSwgR3JhcGhpY3ND
b250ZXh0M0Q6OlJHQkEsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFLCBtX3BpeGVs
cy5iaXRzKCkpOwotICAgIHBhaW50ZXItPmRyYXdJbWFnZSgvKiB4ICovIDAsIC8qIHkgKi8gMCwg
bV9waXhlbHMucmdiU3dhcHBlZCgpLnRyYW5zZm9ybWVkKFFNYXRyaXgoKS5yb3RhdGUoMTgwKSkp
OwotICAgIGJpbmRGcmFtZWJ1ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIsIG1f
Y3VycmVudEZibyk7CiB9CiAKIFFSZWN0RiBHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpib3Vu
ZGluZ1JlY3QoKSBjb25zdApAQCAtNTgxLDcgKzYwMSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnJlc2hhcGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQogICAgIG1fY3VycmVudEhlaWdodCA9
IGhlaWdodDsKIAogICAgIG1faW50ZXJuYWwtPm1fYm91bmRpbmdSZWN0ID0gUVJlY3RGKFFQb2lu
dEYoMCwgMCksIFFTaXplRih3aWR0aCwgaGVpZ2h0KSk7Ci0gICAgbV9pbnRlcm5hbC0+bV9waXhl
bHMgPSBRSW1hZ2UobV9jdXJyZW50V2lkdGgsIG1fY3VycmVudEhlaWdodCwgUUltYWdlOjpGb3Jt
YXRfQVJHQjMyKTsKIAogICAgIG1faW50ZXJuYWwtPm1fZ2xXaWRnZXQtPm1ha2VDdXJyZW50KCk7
CiAK
</data>
<flag name="review"
          id="78258"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86048</attachid>
            <date>2011-03-17 05:14:12 -0700</date>
            <delta_ts>2011-03-17 09:23:36 -0700</delta_ts>
            <desc>Revised fix. Allows software fallback.</desc>
            <filename>56555-2.diff</filename>
            <type>text/plain</type>
            <size>4878</size>
            <attacher name="Jarkko Sakkinen">jarkko.j.sakkinen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYzlkOTAzLi5kZDVmOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDMtMTcgIEphcmtrbyBTYWtraW5lbiAgPGphcmtrby5qLnNha2tpbmVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIENyYXNoOiBRR0xXaWRnZXQgdmlld3BvcnQgaXMgc3dpdGNoZWQgdG8gUVdpZGdldCB2aWV3
cG9ydCB3aGlsZQorICAgICAgICBzaG93aW5nIGEgcGFnZSB3aXRoIFdlYkdMIGNvbnRlbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTU1CisKKyAg
ICAgICAgT24gZWFjaCBwYWludCBjYWxsIGNoZWNrcyB3aGV0aGVyIHZpZXdwb3J0IGlzIHN0aWxs
CisgICAgICAgIHRoZSBzYW1lIGFzIGluIGNyZWF0aW9uIGFuZCBwYWludGVyIGlzIGNyZWF0ZWQg
Zm9yIHRoYXQKKyAgICAgICAgdmlld3BvcnQuIElmIG5vdCwgZmFsbGJhY2tzIHRvIHNvZnR3YXJl
IGJsaXR0aW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFs
OjpHcmFwaGljc0NvbnRleHQzREludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6dGVzdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQpOgor
CiAyMDExLTAzLTE2ICBKZWZmIEpvaG5zb24gIDxnaXRodWJAbGFwY2F0c29mdHdhcmUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNE
UXQuY3BwCmluZGV4IGFmMTUzYTkuLjJjZGYxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCkBA
IC0xNTUsNyArMTU1LDEwIEBAIHB1YmxpYzoKICAgICB+R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5h
bCgpOwogCiAgICAgYm9vbCBpc0NvbnRleHRWYWxpZCgpIHsgcmV0dXJuIG1fY29udGV4dFZhbGlk
OyB9Ci0gICAgUUdMV2lkZ2V0KiBnZXRPd25lckdMV2lkZ2V0KFFXZWJQYWdlQ2xpZW50KiB3ZWJQ
YWdlQ2xpZW50KTsKKyAgICBRR0xXaWRnZXQqIGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKKyNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgYm9vbCB0ZXN0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpOworI2VuZGlmCiAgICAgdm9pZCBwYWludChRUGFpbnRlciosIGNvbnN0IFFTdHls
ZU9wdGlvbkdyYXBoaWNzSXRlbSosIFFXaWRnZXQqKTsKICAgICBRUmVjdEYgYm91bmRpbmdSZWN0
KCkgY29uc3Q7CiAKQEAgLTI1Myw3ICsyNTYsNyBAQCBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250
ZXh0M0Q6OkF0dHJpYnV0ZXMgbV9hdHRyczsKICAgICBIb3N0V2luZG93KiBtX2hvc3RXaW5kb3c7
CiAgICAgUUdMV2lkZ2V0KiBtX2dsV2lkZ2V0OwotICAgIFFHTFdpZGdldCogbV9vd25lckdMV2lk
Z2V0OworICAgIFFHTFdpZGdldCogbV92aWV3cG9ydEdMV2lkZ2V0OwogICAgIFFSZWN0RiBtX2Jv
dW5kaW5nUmVjdDsKICAgICBHTHVpbnQgbV90ZXh0dXJlOwogICAgIEdMdWludCBtX21haW5GYm87
CkBAIC0yODksMjYgKzI5MiwyMCBAQCBHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpHcmFwaGlj
c0NvbnRleHQzREludGVybmFsKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dAogICAgIDogbV9h
dHRycyhhdHRycykKICAgICAsIG1faG9zdFdpbmRvdyhob3N0V2luZG93KQogICAgICwgbV9nbFdp
ZGdldCgwKQotICAgICwgbV9vd25lckdMV2lkZ2V0KDApCisgICAgLCBtX3ZpZXdwb3J0R0xXaWRn
ZXQoMCkKICAgICAsIG1fdGV4dHVyZSgwKQogICAgICwgbV9tYWluRmJvKDApCiAgICAgLCBtX2N1
cnJlbnRGYm8oMCkKICAgICAsIG1fZGVwdGhCdWZmZXIoMCkKICAgICAsIG1fY29udGV4dFZhbGlk
KHRydWUpCiB7Ci0gICAgUGFnZUNsaWVudFFXaWRnZXQqIHdlYlBhZ2VDbGllbnQKLSAgICAgICAg
PSBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50UVdpZGdldCo+KGhvc3RXaW5kb3ctPnBsYXRmb3JtUGFn
ZUNsaWVudCgpKTsKLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICBpZiAo
d2ViUGFnZUNsaWVudC0+cGFnZS0+c2V0dGluZ3MoKS0+dGVzdEF0dHJpYnV0ZShRV2ViU2V0dGlu
Z3M6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSkgewotICAgICAgICBRQWJzdHJhY3RT
Y3JvbGxBcmVhKiBzY3JvbGxBcmVhID0gcW9iamVjdF9jYXN0PFFBYnN0cmFjdFNjcm9sbEFyZWEq
Pih3ZWJQYWdlQ2xpZW50LT5vd25lcldpZGdldCgpKTsKLSAgICAgICAgaWYgKHNjcm9sbEFyZWEp
Ci0gICAgICAgICAgICBtX293bmVyR0xXaWRnZXQgPSBxb2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0Kj4o
c2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7Ci0gICAgfQorICAgIGlmICh0ZXN0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZygpKQorICAgICAgICBtX3ZpZXdwb3J0R0xXaWRnZXQgPSBnZXRWaWV3cG9ydEdM
V2lkZ2V0KCk7CiAjZW5kaWYKIAotICAgIGlmIChtX293bmVyR0xXaWRnZXQpCi0gICAgICAgIG1f
Z2xXaWRnZXQgPSBuZXcgUUdMV2lkZ2V0KDAsIG1fb3duZXJHTFdpZGdldCk7CisgICAgaWYgKG1f
dmlld3BvcnRHTFdpZGdldCkKKyAgICAgICAgbV9nbFdpZGdldCA9IG5ldyBRR0xXaWRnZXQoMCwg
bV92aWV3cG9ydEdMV2lkZ2V0KTsKICAgICBlbHNlIHsKICAgICAgICAgUUdMRm9ybWF0IGZvcm1h
dDsKICAgICAgICAgZm9ybWF0LnNldERlcHRoKHRydWUpOwpAQCAtNDcxLDE3ICs0NjgsNDQgQEAg
R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6fkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwoKQog
ICAgIG1fZ2xXaWRnZXQgPSAwOwogfQogCitRR0xXaWRnZXQqIEdyYXBoaWNzQ29udGV4dDNESW50
ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQoKQoreworICAgIFBhZ2VDbGllbnRRV2lkZ2V0KiB3
ZWJQYWdlQ2xpZW50CisgICAgICAgID0gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFXaWRnZXQqPiht
X2hvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKKworICAgIFFBYnN0cmFjdFNjcm9s
bEFyZWEqIHNjcm9sbEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdl
YlBhZ2VDbGllbnQtPm93bmVyV2lkZ2V0KCkpOworCisgICAgaWYgKHNjcm9sbEFyZWEpCisgICAg
ICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0Kj4oc2Nyb2xsQXJlYS0+dmlld3BvcnQo
KSk7CisKKyAgICByZXR1cm4gMDsKK30KKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKK2Jvb2wgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6dGVzdEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmcoKQoreworICAgIFBhZ2VDbGllbnRRV2lkZ2V0KiB3ZWJQYWdlQ2xpZW50CisgICAgICAg
ID0gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFXaWRnZXQqPihtX2hvc3RXaW5kb3ctPnBsYXRmb3Jt
UGFnZUNsaWVudCgpKTsKKworICAgIHJldHVybiB3ZWJQYWdlQ2xpZW50CisgICAgICAgIC0+cGFn
ZQorICAgICAgICAtPnNldHRpbmdzKCkKKyAgICAgICAgLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0
aW5nczo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpOworfQorI2VuZGlmCisKIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQoUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0
IFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbSogb3B0aW9uLCBRV2lkZ2V0KiB3aWRnZXQpCiB7CiAg
ICAgUV9VTlVTRUQod2lkZ2V0KTsKLQogICAgIFFSZWN0RiByZWN0ID0gb3B0aW9uID8gb3B0aW9u
LT5yZWN0IDogYm91bmRpbmdSZWN0KCk7CiAKICNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05f
Q0hFQ0soNCwgNywgMCkKLSAgICAvLyBVc2UgZGlyZWN0IHRleHR1cmUgbWFwcGluZyBpZiBXZWJH
TCBjYW52YXMgaGFzIGEgc2hhcmVkIE9wZW5HTCBjb250ZXh0Ci0gICAgLy8gd2l0aCBicm93c2Vy
cyBPcGVuR0wgY29udGV4dC4KLSAgICBpZiAobV9vd25lckdMV2lkZ2V0KSB7Ci0gICAgICAgIG1f
b3duZXJHTFdpZGdldC0+ZHJhd1RleHR1cmUocmVjdCwgbV90ZXh0dXJlKTsKKyAgICBRR0xXaWRn
ZXQqIHZpZXdwb3J0R0xXaWRnZXQgPSBnZXRWaWV3cG9ydEdMV2lkZ2V0KCk7CisgICAgaWYgKHRl
c3RBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKKyAgICAgICAgICAgICYmIHZpZXdwb3J0R0xXaWRn
ZXQKKyAgICAgICAgICAgICYmIHZpZXdwb3J0R0xXaWRnZXQgPT0gbV92aWV3cG9ydEdMV2lkZ2V0
CisgICAgICAgICAgICAmJiB2aWV3cG9ydEdMV2lkZ2V0ID09IHBhaW50ZXItPmRldmljZSgpKSB7
CisgICAgICAgIHZpZXdwb3J0R0xXaWRnZXQtPmRyYXdUZXh0dXJlKHJlY3QsIG1fdGV4dHVyZSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86062</attachid>
            <date>2011-03-17 09:23:36 -0700</date>
            <delta_ts>2011-03-17 10:16:28 -0700</delta_ts>
            <desc>Fixed indentation</desc>
            <filename>56555-3.diff</filename>
            <type>text/plain</type>
            <size>4848</size>
            <attacher name="Jarkko Sakkinen">jarkko.j.sakkinen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYzlkOTAzLi5kZDVmOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDMtMTcgIEphcmtrbyBTYWtraW5lbiAgPGphcmtrby5qLnNha2tpbmVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIENyYXNoOiBRR0xXaWRnZXQgdmlld3BvcnQgaXMgc3dpdGNoZWQgdG8gUVdpZGdldCB2aWV3
cG9ydCB3aGlsZQorICAgICAgICBzaG93aW5nIGEgcGFnZSB3aXRoIFdlYkdMIGNvbnRlbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTU1CisKKyAg
ICAgICAgT24gZWFjaCBwYWludCBjYWxsIGNoZWNrcyB3aGV0aGVyIHZpZXdwb3J0IGlzIHN0aWxs
CisgICAgICAgIHRoZSBzYW1lIGFzIGluIGNyZWF0aW9uIGFuZCBwYWludGVyIGlzIGNyZWF0ZWQg
Zm9yIHRoYXQKKyAgICAgICAgdmlld3BvcnQuIElmIG5vdCwgZmFsbGJhY2tzIHRvIHNvZnR3YXJl
IGJsaXR0aW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFs
OjpHcmFwaGljc0NvbnRleHQzREludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6dGVzdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQpOgor
CiAyMDExLTAzLTE2ICBKZWZmIEpvaG5zb24gIDxnaXRodWJAbGFwY2F0c29mdHdhcmUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNE
UXQuY3BwCmluZGV4IGFmMTUzYTkuLmI4ZWMyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCkBA
IC0xNTUsNyArMTU1LDEwIEBAIHB1YmxpYzoKICAgICB+R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5h
bCgpOwogCiAgICAgYm9vbCBpc0NvbnRleHRWYWxpZCgpIHsgcmV0dXJuIG1fY29udGV4dFZhbGlk
OyB9Ci0gICAgUUdMV2lkZ2V0KiBnZXRPd25lckdMV2lkZ2V0KFFXZWJQYWdlQ2xpZW50KiB3ZWJQ
YWdlQ2xpZW50KTsKKyAgICBRR0xXaWRnZXQqIGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKKyNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgYm9vbCB0ZXN0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpOworI2VuZGlmCiAgICAgdm9pZCBwYWludChRUGFpbnRlciosIGNvbnN0IFFTdHls
ZU9wdGlvbkdyYXBoaWNzSXRlbSosIFFXaWRnZXQqKTsKICAgICBRUmVjdEYgYm91bmRpbmdSZWN0
KCkgY29uc3Q7CiAKQEAgLTI1Myw3ICsyNTYsNyBAQCBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250
ZXh0M0Q6OkF0dHJpYnV0ZXMgbV9hdHRyczsKICAgICBIb3N0V2luZG93KiBtX2hvc3RXaW5kb3c7
CiAgICAgUUdMV2lkZ2V0KiBtX2dsV2lkZ2V0OwotICAgIFFHTFdpZGdldCogbV9vd25lckdMV2lk
Z2V0OworICAgIFFHTFdpZGdldCogbV92aWV3cG9ydEdMV2lkZ2V0OwogICAgIFFSZWN0RiBtX2Jv
dW5kaW5nUmVjdDsKICAgICBHTHVpbnQgbV90ZXh0dXJlOwogICAgIEdMdWludCBtX21haW5GYm87
CkBAIC0yODksMjYgKzI5MiwyMCBAQCBHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpHcmFwaGlj
c0NvbnRleHQzREludGVybmFsKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dAogICAgIDogbV9h
dHRycyhhdHRycykKICAgICAsIG1faG9zdFdpbmRvdyhob3N0V2luZG93KQogICAgICwgbV9nbFdp
ZGdldCgwKQotICAgICwgbV9vd25lckdMV2lkZ2V0KDApCisgICAgLCBtX3ZpZXdwb3J0R0xXaWRn
ZXQoMCkKICAgICAsIG1fdGV4dHVyZSgwKQogICAgICwgbV9tYWluRmJvKDApCiAgICAgLCBtX2N1
cnJlbnRGYm8oMCkKICAgICAsIG1fZGVwdGhCdWZmZXIoMCkKICAgICAsIG1fY29udGV4dFZhbGlk
KHRydWUpCiB7Ci0gICAgUGFnZUNsaWVudFFXaWRnZXQqIHdlYlBhZ2VDbGllbnQKLSAgICAgICAg
PSBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50UVdpZGdldCo+KGhvc3RXaW5kb3ctPnBsYXRmb3JtUGFn
ZUNsaWVudCgpKTsKLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICBpZiAo
d2ViUGFnZUNsaWVudC0+cGFnZS0+c2V0dGluZ3MoKS0+dGVzdEF0dHJpYnV0ZShRV2ViU2V0dGlu
Z3M6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSkgewotICAgICAgICBRQWJzdHJhY3RT
Y3JvbGxBcmVhKiBzY3JvbGxBcmVhID0gcW9iamVjdF9jYXN0PFFBYnN0cmFjdFNjcm9sbEFyZWEq
Pih3ZWJQYWdlQ2xpZW50LT5vd25lcldpZGdldCgpKTsKLSAgICAgICAgaWYgKHNjcm9sbEFyZWEp
Ci0gICAgICAgICAgICBtX293bmVyR0xXaWRnZXQgPSBxb2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0Kj4o
c2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7Ci0gICAgfQorICAgIGlmICh0ZXN0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZygpKQorICAgICAgICBtX3ZpZXdwb3J0R0xXaWRnZXQgPSBnZXRWaWV3cG9ydEdM
V2lkZ2V0KCk7CiAjZW5kaWYKIAotICAgIGlmIChtX293bmVyR0xXaWRnZXQpCi0gICAgICAgIG1f
Z2xXaWRnZXQgPSBuZXcgUUdMV2lkZ2V0KDAsIG1fb3duZXJHTFdpZGdldCk7CisgICAgaWYgKG1f
dmlld3BvcnRHTFdpZGdldCkKKyAgICAgICAgbV9nbFdpZGdldCA9IG5ldyBRR0xXaWRnZXQoMCwg
bV92aWV3cG9ydEdMV2lkZ2V0KTsKICAgICBlbHNlIHsKICAgICAgICAgUUdMRm9ybWF0IGZvcm1h
dDsKICAgICAgICAgZm9ybWF0LnNldERlcHRoKHRydWUpOwpAQCAtNDcxLDE3ICs0NjgsNDEgQEAg
R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6fkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwoKQog
ICAgIG1fZ2xXaWRnZXQgPSAwOwogfQogCitRR0xXaWRnZXQqIEdyYXBoaWNzQ29udGV4dDNESW50
ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQoKQoreworICAgIFBhZ2VDbGllbnRRV2lkZ2V0KiB3
ZWJQYWdlQ2xpZW50CisgICAgICAgID0gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFXaWRnZXQqPiht
X2hvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKKworICAgIFFBYnN0cmFjdFNjcm9s
bEFyZWEqIHNjcm9sbEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdl
YlBhZ2VDbGllbnQtPm93bmVyV2lkZ2V0KCkpOworCisgICAgaWYgKHNjcm9sbEFyZWEpCisgICAg
ICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0Kj4oc2Nyb2xsQXJlYS0+dmlld3BvcnQo
KSk7CisKKyAgICByZXR1cm4gMDsKK30KKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKK2Jvb2wgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6dGVzdEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmcoKQoreworICAgIFBhZ2VDbGllbnRRV2lkZ2V0KiB3ZWJQYWdlQ2xpZW50CisgICAgICAg
ID0gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFXaWRnZXQqPihtX2hvc3RXaW5kb3ctPnBsYXRmb3Jt
UGFnZUNsaWVudCgpKTsKKworICAgIHJldHVybiB3ZWJQYWdlQ2xpZW50LT5wYWdlLT5zZXR0aW5n
cygpLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Vu
YWJsZWQpOworfQorI2VuZGlmCisKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFp
bnQoUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbSogb3B0
aW9uLCBRV2lkZ2V0KiB3aWRnZXQpCiB7CiAgICAgUV9VTlVTRUQod2lkZ2V0KTsKLQogICAgIFFS
ZWN0RiByZWN0ID0gb3B0aW9uID8gb3B0aW9uLT5yZWN0IDogYm91bmRpbmdSZWN0KCk7CiAKICNp
ZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNywgMCkKLSAgICAvLyBVc2UgZGly
ZWN0IHRleHR1cmUgbWFwcGluZyBpZiBXZWJHTCBjYW52YXMgaGFzIGEgc2hhcmVkIE9wZW5HTCBj
b250ZXh0Ci0gICAgLy8gd2l0aCBicm93c2VycyBPcGVuR0wgY29udGV4dC4KLSAgICBpZiAobV9v
d25lckdMV2lkZ2V0KSB7Ci0gICAgICAgIG1fb3duZXJHTFdpZGdldC0+ZHJhd1RleHR1cmUocmVj
dCwgbV90ZXh0dXJlKTsKKyAgICBRR0xXaWRnZXQqIHZpZXdwb3J0R0xXaWRnZXQgPSBnZXRWaWV3
cG9ydEdMV2lkZ2V0KCk7CisgICAgaWYgKHRlc3RBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKKyAg
ICAgICAgICAgICYmIHZpZXdwb3J0R0xXaWRnZXQKKyAgICAgICAgICAgICYmIHZpZXdwb3J0R0xX
aWRnZXQgPT0gbV92aWV3cG9ydEdMV2lkZ2V0CisgICAgICAgICAgICAmJiB2aWV3cG9ydEdMV2lk
Z2V0ID09IHBhaW50ZXItPmRldmljZSgpKSB7CisgICAgICAgIHZpZXdwb3J0R0xXaWRnZXQtPmRy
YXdUZXh0dXJlKHJlY3QsIG1fdGV4dHVyZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5k
aWYK
</data>
<flag name="review"
          id="78281"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86066</attachid>
            <date>2011-03-17 10:16:28 -0700</date>
            <delta_ts>2011-03-17 23:06:14 -0700</delta_ts>
            <desc>Fixed rest of the indentations.</desc>
            <filename>56555-4.diff</filename>
            <type>text/plain</type>
            <size>4791</size>
            <attacher name="Jarkko Sakkinen">jarkko.j.sakkinen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYzlkOTAzLi5kZDVmOGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDMtMTcgIEphcmtrbyBTYWtraW5lbiAgPGphcmtrby5qLnNha2tpbmVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIENyYXNoOiBRR0xXaWRnZXQgdmlld3BvcnQgaXMgc3dpdGNoZWQgdG8gUVdpZGdldCB2aWV3
cG9ydCB3aGlsZQorICAgICAgICBzaG93aW5nIGEgcGFnZSB3aXRoIFdlYkdMIGNvbnRlbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTU1CisKKyAg
ICAgICAgT24gZWFjaCBwYWludCBjYWxsIGNoZWNrcyB3aGV0aGVyIHZpZXdwb3J0IGlzIHN0aWxs
CisgICAgICAgIHRoZSBzYW1lIGFzIGluIGNyZWF0aW9uIGFuZCBwYWludGVyIGlzIGNyZWF0ZWQg
Zm9yIHRoYXQKKyAgICAgICAgdmlld3BvcnQuIElmIG5vdCwgZmFsbGJhY2tzIHRvIHNvZnR3YXJl
IGJsaXR0aW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0M0RRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFs
OjpHcmFwaGljc0NvbnRleHQzREludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6dGVzdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQpOgor
CiAyMDExLTAzLTE2ICBKZWZmIEpvaG5zb24gIDxnaXRodWJAbGFwY2F0c29mdHdhcmUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNE
UXQuY3BwCmluZGV4IGFmMTUzYTkuLmMwZmZjYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCkBA
IC0xNTUsNyArMTU1LDEwIEBAIHB1YmxpYzoKICAgICB+R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5h
bCgpOwogCiAgICAgYm9vbCBpc0NvbnRleHRWYWxpZCgpIHsgcmV0dXJuIG1fY29udGV4dFZhbGlk
OyB9Ci0gICAgUUdMV2lkZ2V0KiBnZXRPd25lckdMV2lkZ2V0KFFXZWJQYWdlQ2xpZW50KiB3ZWJQ
YWdlQ2xpZW50KTsKKyAgICBRR0xXaWRnZXQqIGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKKyNpZiBV
U0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgYm9vbCB0ZXN0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZygpOworI2VuZGlmCiAgICAgdm9pZCBwYWludChRUGFpbnRlciosIGNvbnN0IFFTdHls
ZU9wdGlvbkdyYXBoaWNzSXRlbSosIFFXaWRnZXQqKTsKICAgICBRUmVjdEYgYm91bmRpbmdSZWN0
KCkgY29uc3Q7CiAKQEAgLTI1Myw3ICsyNTYsNyBAQCBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250
ZXh0M0Q6OkF0dHJpYnV0ZXMgbV9hdHRyczsKICAgICBIb3N0V2luZG93KiBtX2hvc3RXaW5kb3c7
CiAgICAgUUdMV2lkZ2V0KiBtX2dsV2lkZ2V0OwotICAgIFFHTFdpZGdldCogbV9vd25lckdMV2lk
Z2V0OworICAgIFFHTFdpZGdldCogbV92aWV3cG9ydEdMV2lkZ2V0OwogICAgIFFSZWN0RiBtX2Jv
dW5kaW5nUmVjdDsKICAgICBHTHVpbnQgbV90ZXh0dXJlOwogICAgIEdMdWludCBtX21haW5GYm87
CkBAIC0yODksMjYgKzI5MiwyMCBAQCBHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpHcmFwaGlj
c0NvbnRleHQzREludGVybmFsKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dAogICAgIDogbV9h
dHRycyhhdHRycykKICAgICAsIG1faG9zdFdpbmRvdyhob3N0V2luZG93KQogICAgICwgbV9nbFdp
ZGdldCgwKQotICAgICwgbV9vd25lckdMV2lkZ2V0KDApCisgICAgLCBtX3ZpZXdwb3J0R0xXaWRn
ZXQoMCkKICAgICAsIG1fdGV4dHVyZSgwKQogICAgICwgbV9tYWluRmJvKDApCiAgICAgLCBtX2N1
cnJlbnRGYm8oMCkKICAgICAsIG1fZGVwdGhCdWZmZXIoMCkKICAgICAsIG1fY29udGV4dFZhbGlk
KHRydWUpCiB7Ci0gICAgUGFnZUNsaWVudFFXaWRnZXQqIHdlYlBhZ2VDbGllbnQKLSAgICAgICAg
PSBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50UVdpZGdldCo+KGhvc3RXaW5kb3ctPnBsYXRmb3JtUGFn
ZUNsaWVudCgpKTsKLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICBpZiAo
d2ViUGFnZUNsaWVudC0+cGFnZS0+c2V0dGluZ3MoKS0+dGVzdEF0dHJpYnV0ZShRV2ViU2V0dGlu
Z3M6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSkgewotICAgICAgICBRQWJzdHJhY3RT
Y3JvbGxBcmVhKiBzY3JvbGxBcmVhID0gcW9iamVjdF9jYXN0PFFBYnN0cmFjdFNjcm9sbEFyZWEq
Pih3ZWJQYWdlQ2xpZW50LT5vd25lcldpZGdldCgpKTsKLSAgICAgICAgaWYgKHNjcm9sbEFyZWEp
Ci0gICAgICAgICAgICBtX293bmVyR0xXaWRnZXQgPSBxb2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0Kj4o
c2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7Ci0gICAgfQorICAgIGlmICh0ZXN0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZygpKQorICAgICAgICBtX3ZpZXdwb3J0R0xXaWRnZXQgPSBnZXRWaWV3cG9ydEdM
V2lkZ2V0KCk7CiAjZW5kaWYKIAotICAgIGlmIChtX293bmVyR0xXaWRnZXQpCi0gICAgICAgIG1f
Z2xXaWRnZXQgPSBuZXcgUUdMV2lkZ2V0KDAsIG1fb3duZXJHTFdpZGdldCk7CisgICAgaWYgKG1f
dmlld3BvcnRHTFdpZGdldCkKKyAgICAgICAgbV9nbFdpZGdldCA9IG5ldyBRR0xXaWRnZXQoMCwg
bV92aWV3cG9ydEdMV2lkZ2V0KTsKICAgICBlbHNlIHsKICAgICAgICAgUUdMRm9ybWF0IGZvcm1h
dDsKICAgICAgICAgZm9ybWF0LnNldERlcHRoKHRydWUpOwpAQCAtNDcxLDE3ICs0NjgsMzggQEAg
R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6fkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwoKQog
ICAgIG1fZ2xXaWRnZXQgPSAwOwogfQogCitRR0xXaWRnZXQqIEdyYXBoaWNzQ29udGV4dDNESW50
ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQoKQoreworICAgIFBhZ2VDbGllbnRRV2lkZ2V0KiB3
ZWJQYWdlQ2xpZW50ID0gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFXaWRnZXQqPihtX2hvc3RXaW5k
b3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKKworICAgIFFBYnN0cmFjdFNjcm9sbEFyZWEqIHNj
cm9sbEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdlYlBhZ2VDbGll
bnQtPm93bmVyV2lkZ2V0KCkpOworCisgICAgaWYgKHNjcm9sbEFyZWEpCisgICAgICAgIHJldHVy
biBxb2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0Kj4oc2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7CisKKyAg
ICByZXR1cm4gMDsKK30KKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKK2Jvb2wg
R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6dGVzdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQor
eworICAgIFBhZ2VDbGllbnRRV2lkZ2V0KiB3ZWJQYWdlQ2xpZW50ID0gc3RhdGljX2Nhc3Q8UGFn
ZUNsaWVudFFXaWRnZXQqPihtX2hvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKTsKKwor
ICAgIHJldHVybiB3ZWJQYWdlQ2xpZW50LT5wYWdlLT5zZXR0aW5ncygpLT50ZXN0QXR0cmlidXRl
KFFXZWJTZXR0aW5nczo6QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpOworfQorI2VuZGlm
CisKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQoUVBhaW50ZXIqIHBhaW50
ZXIsIGNvbnN0IFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbSogb3B0aW9uLCBRV2lkZ2V0KiB3aWRn
ZXQpCiB7CiAgICAgUV9VTlVTRUQod2lkZ2V0KTsKLQogICAgIFFSZWN0RiByZWN0ID0gb3B0aW9u
ID8gb3B0aW9uLT5yZWN0IDogYm91bmRpbmdSZWN0KCk7CiAKICNpZiBRVF9WRVJTSU9OID49IFFU
X1ZFUlNJT05fQ0hFQ0soNCwgNywgMCkKICAgICAvLyBVc2UgZGlyZWN0IHRleHR1cmUgbWFwcGlu
ZyBpZiBXZWJHTCBjYW52YXMgaGFzIGEgc2hhcmVkIE9wZW5HTCBjb250ZXh0CiAgICAgLy8gd2l0
aCBicm93c2VycyBPcGVuR0wgY29udGV4dC4KLSAgICBpZiAobV9vd25lckdMV2lkZ2V0KSB7Ci0g
ICAgICAgIG1fb3duZXJHTFdpZGdldC0+ZHJhd1RleHR1cmUocmVjdCwgbV90ZXh0dXJlKTsKKyAg
ICBRR0xXaWRnZXQqIHZpZXdwb3J0R0xXaWRnZXQgPSBnZXRWaWV3cG9ydEdMV2lkZ2V0KCk7Cisg
ICAgaWYgKHRlc3RBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgJiYgdmlld3BvcnRHTFdpZGdldCAm
JiB2aWV3cG9ydEdMV2lkZ2V0ID09IG1fdmlld3BvcnRHTFdpZGdldCAmJiB2aWV3cG9ydEdMV2lk
Z2V0ID09IHBhaW50ZXItPmRldmljZSgpKSB7CisgICAgICAgIHZpZXdwb3J0R0xXaWRnZXQtPmRy
YXdUZXh0dXJlKHJlY3QsIG1fdGV4dHVyZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5k
aWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86138</attachid>
            <date>2011-03-17 23:06:14 -0700</date>
            <delta_ts>2011-03-18 02:16:21 -0700</delta_ts>
            <desc>Check AC on creation of WebGLRenderingContext</desc>
            <filename>56555-5.diff</filename>
            <type>text/plain</type>
            <size>5207</size>
            <attacher name="Jarkko Sakkinen">jarkko.j.sakkinen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYzlkOTAzLi41NjA5YzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTEtMDMtMTcgIEphcmtrbyBTYWtraW5lbiAgPGphcmtrby5qLnNha2tpbmVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIEVuYWJsZSBHcmFwaGljc0NvbnRleHQzRCBvbmx5IHdoZW4gdGhlIHdpbmRvdyBzdXJmYWNl
IHN1cHBvcnQgT3BlbkdMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NjU1NQorCisgICAgICAgIEFsbG93IGNyZWF0aW9uIG9mIFdlYkdMUmVuZGVyaW5n
Q29udGV4dCBpbiB0aGUgSFRNTENhbnZhc0VsZW1lbnQKKyAgICAgICAgb25seSBpZiBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVkLiBJbiBHcmFwaGljc0NvbnRleHQzRCwKKyAgICAg
ICAgd2hpbGUgYmxpdHRpbmcgdGhlIHN1cmZhY2UgY2hlY2sgdGhhdCB2aWV3cG9ydCBoYXNuJ3Qg
Y2hhbmdlZCBmcm9tCisgICAgICAgIGNyZWF0aW9uIGFuZCBwYWludGVyIGlzIGFzc29jaWF0ZWQg
dG8gdGhlIHZpZXdwb3J0LgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpHcmFwaGljc0NvbnRleHQz
REludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6
OmdldFZpZXdwb3J0R0xXaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0RJbnRlcm5hbDo6cGFpbnQpOgorCiAyMDExLTAzLTE2ICBKZWZmIEpvaG5zb24gIDxnaXRodWJA
bGFwY2F0c29mdHdhcmUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3Vy
eWFrb3YuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDY0
NjFkYjYuLmEwMTZkNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZh
c0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCkBAIC0xNzUsNyArMTc1LDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZh
c0VsZW1lbnQ6OmdldENvbnRleHQoY29uc3QgU3RyaW5nJiB0eXBlLCBDYW52YXMKICNpZiBFTkFC
TEUoV0VCR0wpICAgIAogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3VtZW50KCktPnNldHRp
bmdzKCk7CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT53ZWJHTEVuYWJsZWQoKQotI2lm
ICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQorI2lmICFQTEFURk9STShDSFJP
TUlVTSkKICAgICAgICAgJiYgc2V0dGluZ3MtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
KCkKICNlbmRpZgogICAgICAgICApIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKaW5kZXggYWYxNTNh
OS4uYWQ0NjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGFnZUNsaWVudFF0LmgiCisjaW5jbHVkZSAi
UVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJxd2VicGFnZS5oIgogI2luY2x1ZGUgPFFBYnN0
cmFjdFNjcm9sbEFyZWE+CiAjaW5jbHVkZSA8UUdyYXBoaWNzT2JqZWN0PgpAQCAtMTU1LDcgKzE1
NSw3IEBAIHB1YmxpYzoKICAgICB+R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbCgpOwogCiAgICAg
Ym9vbCBpc0NvbnRleHRWYWxpZCgpIHsgcmV0dXJuIG1fY29udGV4dFZhbGlkOyB9Ci0gICAgUUdM
V2lkZ2V0KiBnZXRPd25lckdMV2lkZ2V0KFFXZWJQYWdlQ2xpZW50KiB3ZWJQYWdlQ2xpZW50KTsK
KyAgICBRR0xXaWRnZXQqIGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKICAgICB2b2lkIHBhaW50KFFQ
YWludGVyKiwgY29uc3QgUVN0eWxlT3B0aW9uR3JhcGhpY3NJdGVtKiwgUVdpZGdldCopOwogICAg
IFFSZWN0RiBib3VuZGluZ1JlY3QoKSBjb25zdDsKIApAQCAtMjUzLDcgKzI1Myw3IEBAIHB1Ymxp
YzoKICAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBtX2F0dHJzOwogICAgIEhvc3RX
aW5kb3cqIG1faG9zdFdpbmRvdzsKICAgICBRR0xXaWRnZXQqIG1fZ2xXaWRnZXQ7Ci0gICAgUUdM
V2lkZ2V0KiBtX293bmVyR0xXaWRnZXQ7CisgICAgUUdMV2lkZ2V0KiBtX3ZpZXdwb3J0R0xXaWRn
ZXQ7CiAgICAgUVJlY3RGIG1fYm91bmRpbmdSZWN0OwogICAgIEdMdWludCBtX3RleHR1cmU7CiAg
ICAgR0x1aW50IG1fbWFpbkZibzsKQEAgLTI4OSwyNiArMjg5LDE3IEBAIEdyYXBoaWNzQ29udGV4
dDNESW50ZXJuYWw6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwoR3JhcGhpY3NDb250ZXh0M0Q6
OkF0dHJpYnV0CiAgICAgOiBtX2F0dHJzKGF0dHJzKQogICAgICwgbV9ob3N0V2luZG93KGhvc3RX
aW5kb3cpCiAgICAgLCBtX2dsV2lkZ2V0KDApCi0gICAgLCBtX293bmVyR0xXaWRnZXQoMCkKKyAg
ICAsIG1fdmlld3BvcnRHTFdpZGdldCgwKQogICAgICwgbV90ZXh0dXJlKDApCiAgICAgLCBtX21h
aW5GYm8oMCkKICAgICAsIG1fY3VycmVudEZibygwKQogICAgICwgbV9kZXB0aEJ1ZmZlcigwKQog
ICAgICwgbV9jb250ZXh0VmFsaWQodHJ1ZSkKIHsKLSAgICBQYWdlQ2xpZW50UVdpZGdldCogd2Vi
UGFnZUNsaWVudAotICAgICAgICA9IHN0YXRpY19jYXN0PFBhZ2VDbGllbnRRV2lkZ2V0Kj4oaG9z
dFdpbmRvdy0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpOworICAgIG1fdmlld3BvcnRHTFdpZGdldCA9
IGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKLSAgICBpZiAod2ViUGFnZUNsaWVudC0+cGFnZS0+c2V0dGluZ3MoKS0+dGVzdEF0dHJpYnV0
ZShRV2ViU2V0dGluZ3M6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSkgewotICAgICAg
ICBRQWJzdHJhY3RTY3JvbGxBcmVhKiBzY3JvbGxBcmVhID0gcW9iamVjdF9jYXN0PFFBYnN0cmFj
dFNjcm9sbEFyZWEqPih3ZWJQYWdlQ2xpZW50LT5vd25lcldpZGdldCgpKTsKLSAgICAgICAgaWYg
KHNjcm9sbEFyZWEpCi0gICAgICAgICAgICBtX293bmVyR0xXaWRnZXQgPSBxb2JqZWN0X2Nhc3Q8
UUdMV2lkZ2V0Kj4oc2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7Ci0gICAgfQotI2VuZGlmCi0KLSAg
ICBpZiAobV9vd25lckdMV2lkZ2V0KQotICAgICAgICBtX2dsV2lkZ2V0ID0gbmV3IFFHTFdpZGdl
dCgwLCBtX293bmVyR0xXaWRnZXQpOworICAgIGlmIChtX3ZpZXdwb3J0R0xXaWRnZXQpCisgICAg
ICAgIG1fZ2xXaWRnZXQgPSBuZXcgUUdMV2lkZ2V0KDAsIG1fdmlld3BvcnRHTFdpZGdldCk7CiAg
ICAgZWxzZSB7CiAgICAgICAgIFFHTEZvcm1hdCBmb3JtYXQ7CiAgICAgICAgIGZvcm1hdC5zZXRE
ZXB0aCh0cnVlKTsKQEAgLTQ3MSw2ICs0NjIsMTggQEAgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5h
bDo6fkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwoKQogICAgIG1fZ2xXaWRnZXQgPSAwOwogfQog
CitRR0xXaWRnZXQqIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRn
ZXQoKQoreworICAgIFFXZWJQYWdlQ2xpZW50KiB3ZWJQYWdlQ2xpZW50ID0gbV9ob3N0V2luZG93
LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKworICAgIFFBYnN0cmFjdFNjcm9sbEFyZWEqIHNjcm9s
bEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdlYlBhZ2VDbGllbnQt
Pm93bmVyV2lkZ2V0KCkpOworCisgICAgaWYgKHNjcm9sbEFyZWEpCisgICAgICAgIHJldHVybiBx
b2JqZWN0X2Nhc3Q8UUdMV2lkZ2V0Kj4oc2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7CisKKyAgICBy
ZXR1cm4gMDsKK30KKwogdm9pZCBHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpwYWludChRUGFp
bnRlciogcGFpbnRlciwgY29uc3QgUVN0eWxlT3B0aW9uR3JhcGhpY3NJdGVtKiBvcHRpb24sIFFX
aWRnZXQqIHdpZGdldCkKIHsKICAgICBRX1VOVVNFRCh3aWRnZXQpOwpAQCAtNDgwLDggKzQ4Myw5
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQoUVBhaW50ZXIqIHBhaW50
ZXIsIGNvbnN0IFFTdHlsZU9wdGlvbkdyYXBoCiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9O
X0NIRUNLKDQsIDcsIDApCiAgICAgLy8gVXNlIGRpcmVjdCB0ZXh0dXJlIG1hcHBpbmcgaWYgV2Vi
R0wgY2FudmFzIGhhcyBhIHNoYXJlZCBPcGVuR0wgY29udGV4dAogICAgIC8vIHdpdGggYnJvd3Nl
cnMgT3BlbkdMIGNvbnRleHQuCi0gICAgaWYgKG1fb3duZXJHTFdpZGdldCkgewotICAgICAgICBt
X293bmVyR0xXaWRnZXQtPmRyYXdUZXh0dXJlKHJlY3QsIG1fdGV4dHVyZSk7CisgICAgUUdMV2lk
Z2V0KiB2aWV3cG9ydEdMV2lkZ2V0ID0gZ2V0Vmlld3BvcnRHTFdpZGdldCgpOworICAgIGlmICh2
aWV3cG9ydEdMV2lkZ2V0ICYmIHZpZXdwb3J0R0xXaWRnZXQgPT0gbV92aWV3cG9ydEdMV2lkZ2V0
ICYmIHZpZXdwb3J0R0xXaWRnZXQgPT0gcGFpbnRlci0+ZGV2aWNlKCkpIHsKKyAgICAgICAgdmll
d3BvcnRHTFdpZGdldC0+ZHJhd1RleHR1cmUocmVjdCwgbV90ZXh0dXJlKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICNlbmRpZgo=
</data>
<flag name="review"
          id="78371"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86149</attachid>
            <date>2011-03-18 02:16:21 -0700</date>
            <delta_ts>2011-03-18 02:17:53 -0700</delta_ts>
            <desc>Removed unnecessary new line character</desc>
            <filename>56555-6.diff</filename>
            <type>text/plain</type>
            <size>1795</size>
            <attacher name="Jarkko Sakkinen">jarkko.j.sakkinen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYzlkOTAzLi41OTg3YzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTEtMDMtMTggIEphcmtrbyBTYWtraW5lbiAgPGphcmtrby5qLnNha2tpbmVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIEVuYWJsZSBHcmFwaGljc0NvbnRleHQzRCBvbmx5IHdoZW4gdGhlIHdpbmRvdyBzdXJmYWNl
IHN1cHBvcnQgT3BlbkdMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NjU1NQorCisgICAgICAgIEFsbG93IGNyZWF0aW9uIG9mIFdlYkdMUmVuZGVyaW5n
Q29udGV4dCBpbiB0aGUgSFRNTENhbnZhc0VsZW1lbnQKKyAgICAgICAgb25seSBpZiBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVkLiBJbiBHcmFwaGljc0NvbnRleHQzRCwKKyAgICAg
ICAgd2hpbGUgYmxpdHRpbmcgdGhlIHN1cmZhY2UgY2hlY2sgdGhhdCB2aWV3cG9ydCBoYXNuJ3Qg
Y2hhbmdlZCBmcm9tCisgICAgICAgIGNyZWF0aW9uIGFuZCBwYWludGVyIGlzIGFzc29jaWF0ZWQg
dG8gdGhlIHZpZXdwb3J0LgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpHcmFwaGljc0NvbnRleHQz
REludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6
OmdldFZpZXdwb3J0R0xXaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0RJbnRlcm5hbDo6cGFpbnQpOgorCiAyMDExLTAzLTE2ICBKZWZmIEpvaG5zb24gIDxnaXRodWJA
bGFwY2F0c29mdHdhcmUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3Vy
eWFrb3YuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCmluZGV4IGFkNDY2YmMuLjg1MDQwNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dDNEUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBo
aWNzQ29udGV4dDNEUXQuY3BwCkBAIC00NjcsNyArNDY3LDYgQEAgUUdMV2lkZ2V0KiBHcmFwaGlj
c0NvbnRleHQzREludGVybmFsOjpnZXRWaWV3cG9ydEdMV2lkZ2V0KCkKICAgICBRV2ViUGFnZUNs
aWVudCogd2ViUGFnZUNsaWVudCA9IG1faG9zdFdpbmRvdy0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7
CiAKICAgICBRQWJzdHJhY3RTY3JvbGxBcmVhKiBzY3JvbGxBcmVhID0gcW9iamVjdF9jYXN0PFFB
YnN0cmFjdFNjcm9sbEFyZWEqPih3ZWJQYWdlQ2xpZW50LT5vd25lcldpZGdldCgpKTsKLQogICAg
IGlmIChzY3JvbGxBcmVhKQogICAgICAgICByZXR1cm4gcW9iamVjdF9jYXN0PFFHTFdpZGdldCo+
KHNjcm9sbEFyZWEtPnZpZXdwb3J0KCkpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86150</attachid>
            <date>2011-03-18 02:17:53 -0700</date>
            <delta_ts>2011-03-18 07:28:20 -0700</delta_ts>
            <desc>Mistake in taking diff in last submit</desc>
            <filename>56555-6.diff</filename>
            <type>text/plain</type>
            <size>5205</size>
            <attacher name="Jarkko Sakkinen">jarkko.j.sakkinen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmYzlkOTAzLi41OTg3YzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTEtMDMtMTggIEphcmtrbyBTYWtraW5lbiAgPGphcmtrby5qLnNha2tpbmVuQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIEVuYWJsZSBHcmFwaGljc0NvbnRleHQzRCBvbmx5IHdoZW4gdGhlIHdpbmRvdyBzdXJmYWNl
IHN1cHBvcnQgT3BlbkdMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NjU1NQorCisgICAgICAgIEFsbG93IGNyZWF0aW9uIG9mIFdlYkdMUmVuZGVyaW5n
Q29udGV4dCBpbiB0aGUgSFRNTENhbnZhc0VsZW1lbnQKKyAgICAgICAgb25seSBpZiBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVkLiBJbiBHcmFwaGljc0NvbnRleHQzRCwKKyAgICAg
ICAgd2hpbGUgYmxpdHRpbmcgdGhlIHN1cmZhY2UgY2hlY2sgdGhhdCB2aWV3cG9ydCBoYXNuJ3Qg
Y2hhbmdlZCBmcm9tCisgICAgICAgIGNyZWF0aW9uIGFuZCBwYWludGVyIGlzIGFzc29jaWF0ZWQg
dG8gdGhlIHZpZXdwb3J0LgorCisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpHcmFwaGljc0NvbnRleHQz
REludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6
OmdldFZpZXdwb3J0R0xXaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0RJbnRlcm5hbDo6cGFpbnQpOgorCiAyMDExLTAzLTE2ICBKZWZmIEpvaG5zb24gIDxnaXRodWJA
bGFwY2F0c29mdHdhcmUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3Vy
eWFrb3YuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDY0
NjFkYjYuLmEwMTZkNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZh
c0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCkBAIC0xNzUsNyArMTc1LDcgQEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZh
c0VsZW1lbnQ6OmdldENvbnRleHQoY29uc3QgU3RyaW5nJiB0eXBlLCBDYW52YXMKICNpZiBFTkFC
TEUoV0VCR0wpICAgIAogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3VtZW50KCktPnNldHRp
bmdzKCk7CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT53ZWJHTEVuYWJsZWQoKQotI2lm
ICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQorI2lmICFQTEFURk9STShDSFJP
TUlVTSkKICAgICAgICAgJiYgc2V0dGluZ3MtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
KCkKICNlbmRpZgogICAgICAgICApIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKaW5kZXggYWYxNTNh
OS4uODUwNDA1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGFnZUNsaWVudFF0LmgiCisjaW5jbHVkZSAi
UVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJxd2VicGFnZS5oIgogI2luY2x1ZGUgPFFBYnN0
cmFjdFNjcm9sbEFyZWE+CiAjaW5jbHVkZSA8UUdyYXBoaWNzT2JqZWN0PgpAQCAtMTU1LDcgKzE1
NSw3IEBAIHB1YmxpYzoKICAgICB+R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbCgpOwogCiAgICAg
Ym9vbCBpc0NvbnRleHRWYWxpZCgpIHsgcmV0dXJuIG1fY29udGV4dFZhbGlkOyB9Ci0gICAgUUdM
V2lkZ2V0KiBnZXRPd25lckdMV2lkZ2V0KFFXZWJQYWdlQ2xpZW50KiB3ZWJQYWdlQ2xpZW50KTsK
KyAgICBRR0xXaWRnZXQqIGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKICAgICB2b2lkIHBhaW50KFFQ
YWludGVyKiwgY29uc3QgUVN0eWxlT3B0aW9uR3JhcGhpY3NJdGVtKiwgUVdpZGdldCopOwogICAg
IFFSZWN0RiBib3VuZGluZ1JlY3QoKSBjb25zdDsKIApAQCAtMjUzLDcgKzI1Myw3IEBAIHB1Ymxp
YzoKICAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBtX2F0dHJzOwogICAgIEhvc3RX
aW5kb3cqIG1faG9zdFdpbmRvdzsKICAgICBRR0xXaWRnZXQqIG1fZ2xXaWRnZXQ7Ci0gICAgUUdM
V2lkZ2V0KiBtX293bmVyR0xXaWRnZXQ7CisgICAgUUdMV2lkZ2V0KiBtX3ZpZXdwb3J0R0xXaWRn
ZXQ7CiAgICAgUVJlY3RGIG1fYm91bmRpbmdSZWN0OwogICAgIEdMdWludCBtX3RleHR1cmU7CiAg
ICAgR0x1aW50IG1fbWFpbkZibzsKQEAgLTI4OSwyNiArMjg5LDE3IEBAIEdyYXBoaWNzQ29udGV4
dDNESW50ZXJuYWw6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwoR3JhcGhpY3NDb250ZXh0M0Q6
OkF0dHJpYnV0CiAgICAgOiBtX2F0dHJzKGF0dHJzKQogICAgICwgbV9ob3N0V2luZG93KGhvc3RX
aW5kb3cpCiAgICAgLCBtX2dsV2lkZ2V0KDApCi0gICAgLCBtX293bmVyR0xXaWRnZXQoMCkKKyAg
ICAsIG1fdmlld3BvcnRHTFdpZGdldCgwKQogICAgICwgbV90ZXh0dXJlKDApCiAgICAgLCBtX21h
aW5GYm8oMCkKICAgICAsIG1fY3VycmVudEZibygwKQogICAgICwgbV9kZXB0aEJ1ZmZlcigwKQog
ICAgICwgbV9jb250ZXh0VmFsaWQodHJ1ZSkKIHsKLSAgICBQYWdlQ2xpZW50UVdpZGdldCogd2Vi
UGFnZUNsaWVudAotICAgICAgICA9IHN0YXRpY19jYXN0PFBhZ2VDbGllbnRRV2lkZ2V0Kj4oaG9z
dFdpbmRvdy0+cGxhdGZvcm1QYWdlQ2xpZW50KCkpOworICAgIG1fdmlld3BvcnRHTFdpZGdldCA9
IGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKIAotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKLSAgICBpZiAod2ViUGFnZUNsaWVudC0+cGFnZS0+c2V0dGluZ3MoKS0+dGVzdEF0dHJpYnV0
ZShRV2ViU2V0dGluZ3M6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSkgewotICAgICAg
ICBRQWJzdHJhY3RTY3JvbGxBcmVhKiBzY3JvbGxBcmVhID0gcW9iamVjdF9jYXN0PFFBYnN0cmFj
dFNjcm9sbEFyZWEqPih3ZWJQYWdlQ2xpZW50LT5vd25lcldpZGdldCgpKTsKLSAgICAgICAgaWYg
KHNjcm9sbEFyZWEpCi0gICAgICAgICAgICBtX293bmVyR0xXaWRnZXQgPSBxb2JqZWN0X2Nhc3Q8
UUdMV2lkZ2V0Kj4oc2Nyb2xsQXJlYS0+dmlld3BvcnQoKSk7Ci0gICAgfQotI2VuZGlmCi0KLSAg
ICBpZiAobV9vd25lckdMV2lkZ2V0KQotICAgICAgICBtX2dsV2lkZ2V0ID0gbmV3IFFHTFdpZGdl
dCgwLCBtX293bmVyR0xXaWRnZXQpOworICAgIGlmIChtX3ZpZXdwb3J0R0xXaWRnZXQpCisgICAg
ICAgIG1fZ2xXaWRnZXQgPSBuZXcgUUdMV2lkZ2V0KDAsIG1fdmlld3BvcnRHTFdpZGdldCk7CiAg
ICAgZWxzZSB7CiAgICAgICAgIFFHTEZvcm1hdCBmb3JtYXQ7CiAgICAgICAgIGZvcm1hdC5zZXRE
ZXB0aCh0cnVlKTsKQEAgLTQ3MSw2ICs0NjIsMTcgQEAgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5h
bDo6fkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwoKQogICAgIG1fZ2xXaWRnZXQgPSAwOwogfQog
CitRR0xXaWRnZXQqIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRn
ZXQoKQoreworICAgIFFXZWJQYWdlQ2xpZW50KiB3ZWJQYWdlQ2xpZW50ID0gbV9ob3N0V2luZG93
LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKworICAgIFFBYnN0cmFjdFNjcm9sbEFyZWEqIHNjcm9s
bEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdlYlBhZ2VDbGllbnQt
Pm93bmVyV2lkZ2V0KCkpOworICAgIGlmIChzY3JvbGxBcmVhKQorICAgICAgICByZXR1cm4gcW9i
amVjdF9jYXN0PFFHTFdpZGdldCo+KHNjcm9sbEFyZWEtPnZpZXdwb3J0KCkpOworCisgICAgcmV0
dXJuIDA7Cit9CisKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6cGFpbnQoUVBhaW50
ZXIqIHBhaW50ZXIsIGNvbnN0IFFTdHlsZU9wdGlvbkdyYXBoaWNzSXRlbSogb3B0aW9uLCBRV2lk
Z2V0KiB3aWRnZXQpCiB7CiAgICAgUV9VTlVTRUQod2lkZ2V0KTsKQEAgLTQ4MCw4ICs0ODIsOSBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OnBhaW50KFFQYWludGVyKiBwYWludGVy
LCBjb25zdCBRU3R5bGVPcHRpb25HcmFwaAogI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg0LCA3LCAwKQogICAgIC8vIFVzZSBkaXJlY3QgdGV4dHVyZSBtYXBwaW5nIGlmIFdlYkdM
IGNhbnZhcyBoYXMgYSBzaGFyZWQgT3BlbkdMIGNvbnRleHQKICAgICAvLyB3aXRoIGJyb3dzZXJz
IE9wZW5HTCBjb250ZXh0LgotICAgIGlmIChtX293bmVyR0xXaWRnZXQpIHsKLSAgICAgICAgbV9v
d25lckdMV2lkZ2V0LT5kcmF3VGV4dHVyZShyZWN0LCBtX3RleHR1cmUpOworICAgIFFHTFdpZGdl
dCogdmlld3BvcnRHTFdpZGdldCA9IGdldFZpZXdwb3J0R0xXaWRnZXQoKTsKKyAgICBpZiAodmll
d3BvcnRHTFdpZGdldCAmJiB2aWV3cG9ydEdMV2lkZ2V0ID09IG1fdmlld3BvcnRHTFdpZGdldCAm
JiB2aWV3cG9ydEdMV2lkZ2V0ID09IHBhaW50ZXItPmRldmljZSgpKSB7CisgICAgICAgIHZpZXdw
b3J0R0xXaWRnZXQtPmRyYXdUZXh0dXJlKHJlY3QsIG1fdGV4dHVyZSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>