<?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>109550</bug_id>
          
          <creation_ts>2013-02-12 00:03:18 -0800</creation_ts>
          <short_desc>DeleteButtonController::enable and disable should be called via a RAII object</short_desc>
          <delta_ts>2013-02-15 13:53:25 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>109549</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enrica</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>leviw</cc>
    
    <cc>mifenton</cc>
    
    <cc>peter+ews</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>830622</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-12 00:03:18 -0800</bug_when>
    <thetext>DeleteButtonController::enable/disable should be wrapped in a RAII object.

Introducing such a RAII object will also allow us to further reduce the number of if-defs for ENABLE_DELETION_UI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831966</commentid>
    <comment_count>1</comment_count>
      <attachid>188097</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-13 09:25:15 -0800</bug_when>
    <thetext>Created attachment 188097
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831967</commentid>
    <comment_count>2</comment_count>
      <attachid>188098</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-13 09:25:48 -0800</bug_when>
    <thetext>Created attachment 188098
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831976</commentid>
    <comment_count>3</comment_count>
      <attachid>188098</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 09:31:05 -0800</bug_when>
    <thetext>Comment on attachment 188098
Cleanup

Attachment 188098 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16538176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831977</commentid>
    <comment_count>4</comment_count>
      <attachid>188098</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-13 09:32:36 -0800</bug_when>
    <thetext>Comment on attachment 188098
Cleanup

Attachment 188098 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16537200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831979</commentid>
    <comment_count>5</comment_count>
      <attachid>188098</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-13 09:33:07 -0800</bug_when>
    <thetext>Comment on attachment 188098
Cleanup

Attachment 188098 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/16543211</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831981</commentid>
    <comment_count>6</comment_count>
      <attachid>188098</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-13 09:35:56 -0800</bug_when>
    <thetext>Comment on attachment 188098
Cleanup

Attachment 188098 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16514224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831982</commentid>
    <comment_count>7</comment_count>
      <attachid>188098</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-02-13 09:36:44 -0800</bug_when>
    <thetext>Comment on attachment 188098
Cleanup

Attachment 188098 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16538177</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832001</commentid>
    <comment_count>8</comment_count>
      <attachid>188098</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 10:00:26 -0800</bug_when>
    <thetext>Comment on attachment 188098
Cleanup

Attachment 188098 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16454927</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832007</commentid>
    <comment_count>9</comment_count>
      <attachid>188098</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-02-13 10:04:03 -0800</bug_when>
    <thetext>Comment on attachment 188098
Cleanup

Attachment 188098 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/16536200</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832023</commentid>
    <comment_count>10</comment_count>
      <attachid>188113</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-13 10:17:15 -0800</bug_when>
    <thetext>Created attachment 188113
Fixed build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832130</commentid>
    <comment_count>11</comment_count>
      <attachid>188113</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2013-02-13 11:50:29 -0800</bug_when>
    <thetext>Comment on attachment 188113
Fixed build

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

Nicely done. Please address my comment before landing.

&gt; Source/WebCore/editing/markup.cpp:650
&gt; +    RefPtr&lt;Range&gt; updatedRangeRef = frame-&gt;editor()-&gt;avoidIntersectionWithDeleteButtonController(range);

There is now nothing that checks here if the frame is not NULL. If the check was needed before I think you should add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834246</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-15 12:01:13 -0800</bug_when>
    <thetext>Committed r143030: &lt;http://trac.webkit.org/changeset/143030&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834357</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-15 13:53:25 -0800</bug_when>
    <thetext>Fixed one obvious error in my patch: http://trac.webkit.org/changeset/143048</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188097</attachid>
            <date>2013-02-13 09:25:15 -0800</date>
            <delta_ts>2013-02-13 09:25:46 -0800</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-109550-20130213092143.patch</filename>
            <type>text/plain</type>
            <size>8764</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0Mjc1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAyLTEzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXI6OmVuYWJsZSBhbmQgZGlzYWJsZSBzaG91bGQgYmUgY2FsbGVkIHZpYSBhIFJBSUkgb2JqZWN0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBE
ZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlLCBhIGZyaWVuZCBjbGFzcyBvZiBEZWxl
dGVCdXR0b25Db250cm9sbGVyLAorICAgICAgICBhbmQgbWFkZSBEZWxldGVCdXR0b25Db250cm9s
bGVyOjplbmFibGUvZGlzYWJsZSBwcml2YXRlLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5v
ZGUuY3BwOgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6dW5hcHBseSk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpyZWFwcGx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjphcHBseSk6CisgICAgICAgICogZWRpdGluZy9E
ZWxldGVCdXR0b25Db250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIpOgorICAgICAgICAoRGVsZXRlQnV0dG9uQ29udHJvbGxlckRp
c2FibGVTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWxldGVCdXR0b25Db250cm9sbGVyRGlz
YWJsZVNjb3BlOjpEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGU6On5EZWxldGVCdXR0
b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVNYXJrdXApOgorICAgICAgICAoV2ViQ29yZTo6Y3Jl
YXRlRnJhZ21lbnRGcm9tTm9kZXMpOgorCiAyMDEzLTAyLTEzICBSYXNobWkgU2h5YW1hc3VuZGFy
ICA8cmFzaG1pLnMyQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFRoZSAyRCBDYW52YXMgZnVuY3Rp
b25zIGZpbGxUZXh0KCkvc3Ryb2tlVGV4dCgpIHNob3VsZCBkaXNwbGF5IG5vdGhpbmcgd2hlbiBt
YXhXaWR0aCBpcyBsZXNzIHRoZW4gb3IgZXF1YWwgdG8gemVybwpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmNwcAkocmV2aXNpb24gMTQyNzQ0KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5ICsyNiw3IEBACiAj
aW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkNoaWxkTGlzdE11dGF0aW9uU2Nv
cGUuaCIKICNpbmNsdWRlICJDb250YWluZXJOb2RlQWxnb3JpdGhtcy5oIgotI2lmIEVOQUJMRShE
RUxFVElPTl9VSSkKICNpbmNsdWRlICJEZWxldGVCdXR0b25Db250cm9sbGVyLmgiCi0jZW5kaWYK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3Np
dGVFZGl0Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9D
b21wb3NpdGVFZGl0Q29tbWFuZC5jcHAJKHJldmlzaW9uIDE0Mjc0NCkKKysrIFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDMsMTYgKzEwMywxNiBAQCB2b2lkIEVkaXRDb21tYW5kQ29tcG9zaXRpb246OnVuYXBwbHkoKQog
ICAgIC8vIGlmIG9uZSBpcyBuZWNlc3NhcnkgKGxpa2UgZm9yIHRoZSBjcmVhdGlvbiBvZiBWaXNp
YmxlUG9zaXRpb25zKS4KICAgICBtX2RvY3VtZW50LT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoKTsKIAorICAgIHsKICNpZiBFTkFCTEUoREVMRVRJT05fVUkpCi0gICAgRGVs
ZXRlQnV0dG9uQ29udHJvbGxlciogZGVsZXRlQnV0dG9uQ29udHJvbGxlciA9IGZyYW1lLT5lZGl0
b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpOwotICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXItPmRpc2FibGUoKTsKLSNlbmRpZgotICAgIHNpemVfdCBzaXplID0gbV9jb21tYW5kcy5zaXpl
KCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IHNpemU7IGkgIT0gMDsgLS1pKQotICAgICAgICBtX2Nv
bW1hbmRzW2kgLSAxXS0+ZG9VbmFwcGx5KCk7Ci0jaWYgRU5BQkxFKERFTEVUSU9OX1VJKQotICAg
IGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVuYWJsZSgpOworICAgICAgICBEZWxldGVCdXR0b25D
b250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUo
ZnJhbWUuZ2V0KCkpOwogI2VuZGlmCisKKyAgICAgICAgc2l6ZV90IHNpemUgPSBtX2NvbW1hbmRz
LnNpemUoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IHNpemU7IGk7IC0taSkKKyAgICAgICAg
ICAgIG1fY29tbWFuZHNbaSAtIDFdLT5kb1VuYXBwbHkoKTsKKyAgICB9CisKICAgICBmcmFtZS0+
ZWRpdG9yKCktPnVuYXBwbGllZEVkaXRpbmcodGhpcyk7CiB9CiAKQEAgLTEyNiwxNyArMTI2LDE1
IEBAIHZvaWQgRWRpdENvbW1hbmRDb21wb3NpdGlvbjo6cmVhcHBseSgpCiAgICAgLy8gTG93IGxl
dmVsIG9wZXJhdGlvbnMsIGxpa2UgUmVtb3ZlTm9kZUNvbW1hbmQsIGRvbid0IHJlcXVpcmUgYSBs
YXlvdXQgYmVjYXVzZSB0aGUgaGlnaCBsZXZlbCBvcGVyYXRpb25zIHRoYXQgdXNlIHRoZW0gcGVy
Zm9ybSBvbmUKICAgICAvLyBpZiBvbmUgaXMgbmVjZXNzYXJ5IChsaWtlIGZvciB0aGUgY3JlYXRp
b24gb2YgVmlzaWJsZVBvc2l0aW9ucykuCiAgICAgbV9kb2N1bWVudC0+dXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgCi0jaWYgRU5BQkxFKERFTEVUSU9OX1VJKQot
ICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIqIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIgPSBmcmFt
ZS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKTsKLSAgICBkZWxldGVCdXR0b25D
b250cm9sbGVyLT5kaXNhYmxlKCk7Ci0jZW5kaWYKLSAgICBzaXplX3Qgc2l6ZSA9IG1fY29tbWFu
ZHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpICE9IHNpemU7ICsraSkKLSAgICAg
ICAgbV9jb21tYW5kc1tpXS0+ZG9SZWFwcGx5KCk7CisKKyAgICB7CiAjaWYgRU5BQkxFKERFTEVU
SU9OX1VJKQotICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVuYWJsZSgpOworICAgICAgICBE
ZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJE
aXNhYmxlU2NvcGUoZnJhbWUuZ2V0KCkpOwogI2VuZGlmCisgICAgICAgIHNpemVfdCBzaXplID0g
bV9jb21tYW5kcy5zaXplKCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpICE9IHNpemU7
ICsraSkKKyAgICAgICAgICAgIG1fY29tbWFuZHNbaV0tPmRvUmVhcHBseSgpOworICAgIH0KICAg
ICAKICAgICBmcmFtZS0+ZWRpdG9yKCktPnJlYXBwbGllZEVkaXRpbmcodGhpcyk7CiB9CkBAIC0y
MTEsMTMgKzIwOSw5IEBAIHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OmFwcGx5KCkKICAgICB7
CiAgICAgICAgIEV2ZW50UXVldWVTY29wZSBzY29wZTsKICNpZiBFTkFCTEUoREVMRVRJT05fVUkp
Ci0gICAgICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIqIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIg
PSBmcmFtZS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKTsKLSAgICAgICAgZGVs
ZXRlQnV0dG9uQ29udHJvbGxlci0+ZGlzYWJsZSgpOworICAgICAgICBEZWxldGVCdXR0b25Db250
cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUoZnJh
bWUpOwogI2VuZGlmCiAgICAgICAgIGRvQXBwbHkoKTsKLSNpZiBFTkFCTEUoREVMRVRJT05fVUkp
Ci0gICAgICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVuYWJsZSgpOwotI2VuZGlmCiAgICAg
fQogCiAgICAgLy8gT25seSBuZWVkIHRvIGNhbGwgYXBwbGllZEVkaXRpbmcgZm9yIHRvcC1sZXZl
bCBjb21tYW5kcywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29u
dHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0
dG9uQ29udHJvbGxlci5oCShyZXZpc2lvbiAxNDI3NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJfaAogCiAjaW5jbHVkZSAiRGVs
ZXRlQnV0dG9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBEZWxldGVCdXR0b247Ci1jbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxFbGVtZW50Owog
Y2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKQEAgLTUwLDE1ICs1
MCwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93KEhUTUxFbGVtZW50Kik7CiAgICAgdm9pZCBo
aWRlKCk7CiAKLSAgICB2b2lkIGVuYWJsZSgpOwotICAgIHZvaWQgZGlzYWJsZSgpOwotCiAgICAg
dm9pZCBkZWxldGVUYXJnZXQoKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgYnV0dG9uRWxlbWVudElkZW50aWZpZXI7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNv
bnN0IG91dGxpbmVFbGVtZW50SWRlbnRpZmllcjsKICAgICBzdGF0aWMgY29uc3QgY2hhciogY29u
c3QgY29udGFpbmVyRWxlbWVudElkZW50aWZpZXI7CisgICAgCisgICAgdm9pZCBlbmFibGUoKTsK
KyAgICB2b2lkIGRpc2FibGUoKTsKKyAgICBmcmllbmQgY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJv
bGxlckRpc2FibGVTY29wZTsKIAogICAgIHZvaWQgY3JlYXRlRGVsZXRpb25VSSgpOwogICAgIGJv
b2wgZW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuICghbV9kaXNhYmxlU3RhY2spOyB9CkBAIC03Myw2
ICs3NCwyNSBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fZGlzYWJsZVN0YWNrOwogfTsKIAor
Y2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZSB7CitwdWJsaWM6CisgICAg
RGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZShGcmFtZSogZnJhbWUpCisgICAgICAg
IDogbV9mcmFtZShmcmFtZSkKKyAgICB7CisgICAgICAgIGlmIChmcmFtZSkKKyAgICAgICAgICAg
IGZyYW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpLT5kaXNhYmxlKCk7Cisg
ICAgfQorCisgICAgfkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUoKQorICAgIHsK
KyAgICAgICAgaWYgKG1fZnJhbWUpCisgICAgICAgICAgICBtX2ZyYW1lLT5lZGl0b3IoKS0+ZGVs
ZXRlQnV0dG9uQ29udHJvbGxlcigpLT5lbmFibGUoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
UmVmUHRyPEZyYW1lPiBtX2ZyYW1lOworfTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHJldmlzaW9uIDE0Mjc0NCkK
KysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjM5LDI1ICs2MzksMjEgQEAgU3RyaW5nIGNyZWF0ZU1hcmt1cChjb25zdCBSYW5nZSogcmFuZ2Us
IAogICAgIGlmICghZG9jdW1lbnQpCiAgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCisg
ICAgY29uc3QgUmFuZ2UqIHVwZGF0ZWRSYW5nZSA9IHJhbmdlOworCisjaWYgRU5BQkxFKERFTEVU
SU9OX1VJKQogICAgIC8vIERpc2FibGUgdGhlIGRlbGV0ZSBidXR0b24gc28gaXQncyBlbGVtZW50
cyBhcmUgbm90IHNlcmlhbGl6ZWQgaW50byB0aGUgbWFya3VwLAogICAgIC8vIGJ1dCBtYWtlIHN1
cmUgbmVpdGhlciBlbmRwb2ludCBpcyBpbnNpZGUgdGhlIGRlbGV0ZSB1c2VyIGludGVyZmFjZS4K
LSNpZiBFTkFCTEUoREVMRVRJT05fVUkpCiAgICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQtPmZy
YW1lKCk7Ci0gICAgaWYgKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIqIGRlbGV0ZUJ1dHRvbiA9IGZy
YW1lID8gZnJhbWUtPmVkaXRvcigpLT5kZWxldGVCdXR0b25Db250cm9sbGVyKCkgOiAwKSB7Ci0g
ICAgICAgIFJlZlB0cjxSYW5nZT4gdXBkYXRlZFJhbmdlID0gZnJhbWUtPmVkaXRvcigpLT5hdm9p
ZEludGVyc2VjdGlvbldpdGhEZWxldGVCdXR0b25Db250cm9sbGVyKHJhbmdlKTsKLSAgICAgICAg
aWYgKCF1cGRhdGVkUmFuZ2UpCi0gICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQot
ICAgICAgICBkZWxldGVCdXR0b24tPmRpc2FibGUoKTsKLQotICAgICAgICBTdHJpbmcgcmVzdWx0
ID0gY3JlYXRlTWFya3VwSW50ZXJuYWwoZG9jdW1lbnQsIHJhbmdlLCB1cGRhdGVkUmFuZ2UuZ2V0
KCksIG5vZGVzLCBzaG91bGRBbm5vdGF0ZSwgY29udmVydEJsb2Nrc1RvSW5saW5lcywgc2hvdWxk
UmVzb2x2ZVVSTHMpOwotCi0gICAgICAgIGRlbGV0ZUJ1dHRvbi0+ZW5hYmxlKCk7CisgICAgRGVs
ZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZSBkZWxldGVCdXR0b25Db250cm9sbGVyRGlz
YWJsZVNjb3BlKGZyYW1lKTsKIAotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KKyAgICBS
ZWZQdHI8UmFuZ2U+IHVwZGF0ZWRSYW5nZVJlZiA9IGZyYW1lLT5lZGl0b3IoKS0+YXZvaWRJbnRl
cnNlY3Rpb25XaXRoRGVsZXRlQnV0dG9uQ29udHJvbGxlcihyYW5nZSk7CisgICAgdXBkYXRlZFJh
bmdlID0gdXBkYXRlZFJhbmdlUmVmLmdldCgpOworICAgIGlmICghdXBkYXRlZFJhbmdlKQorICAg
ICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICNlbmRpZgotICAgIHJldHVybiBjcmVhdGVNYXJr
dXBJbnRlcm5hbChkb2N1bWVudCwgcmFuZ2UsIHJhbmdlLCBub2Rlcywgc2hvdWxkQW5ub3RhdGUs
IGNvbnZlcnRCbG9ja3NUb0lubGluZXMsIHNob3VsZFJlc29sdmVVUkxzKTsKKworICAgIHJldHVy
biBjcmVhdGVNYXJrdXBJbnRlcm5hbChkb2N1bWVudCwgcmFuZ2UsIHVwZGF0ZWRSYW5nZSwgbm9k
ZXMsIHNob3VsZEFubm90YXRlLCBjb252ZXJ0QmxvY2tzVG9JbmxpbmVzLCBzaG91bGRSZXNvbHZl
VVJMcyk7CiB9CiAKIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRG
cm9tTWFya3VwKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBtYXJrdXAsIGNvbnN0
IFN0cmluZyYgYmFzZVVSTCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Bl
cm1pc3Npb24pCkBAIC05MDksOSArOTA1LDkgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50
PiBjcmVhdGVGcmFnbQogCiAjaWYgRU5BQkxFKERFTEVUSU9OX1VJKQogICAgIC8vIGRpc2FibGUg
dGhlIGRlbGV0ZSBidXR0b24gc28gaXQncyBlbGVtZW50cyBhcmUgbm90IHNlcmlhbGl6ZWQgaW50
byB0aGUgbWFya3VwCi0gICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQotICAgICAgICBkb2N1bWVu
dC0+ZnJhbWUoKS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKS0+ZGlzYWJsZSgp
OworICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUoZG9jdW1lbnQtPmZyYW1l
KCkpOwogI2VuZGlmCisKICAgICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJhZ21lbnQgPSBk
b2N1bWVudC0+Y3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogCiAgICAgc2l6ZV90IHNpemUgPSBu
b2Rlcy5zaXplKCk7CkBAIC05MjEsMTAgKzkxNyw2IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFn
bWVudD4gY3JlYXRlRnJhZ20KICAgICAgICAgZnJhZ21lbnQtPmFwcGVuZENoaWxkKGVsZW1lbnQu
cmVsZWFzZSgpLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICB9CiAKLSNpZiBFTkFCTEUoREVM
RVRJT05fVUkpCi0gICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQotICAgICAgICBkb2N1bWVudC0+
ZnJhbWUoKS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKS0+ZW5hYmxlKCk7Ci0j
ZW5kaWYKICAgICByZXR1cm4gZnJhZ21lbnQucmVsZWFzZSgpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188098</attachid>
            <date>2013-02-13 09:25:48 -0800</date>
            <delta_ts>2013-02-13 10:17:13 -0800</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-109550-20130213092217.patch</filename>
            <type>text/plain</type>
            <size>8269</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0Mjc1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAyLTEzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXI6OmVuYWJsZSBhbmQgZGlzYWJsZSBzaG91bGQgYmUgY2FsbGVkIHZpYSBhIFJBSUkgb2JqZWN0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBE
ZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlLCBhIGZyaWVuZCBjbGFzcyBvZiBEZWxl
dGVCdXR0b25Db250cm9sbGVyLAorICAgICAgICBhbmQgbWFkZSBEZWxldGVCdXR0b25Db250cm9s
bGVyOjplbmFibGUvZGlzYWJsZSBwcml2YXRlLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5v
ZGUuY3BwOgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6dW5hcHBseSk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpyZWFwcGx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjphcHBseSk6CisgICAgICAgICogZWRpdGluZy9E
ZWxldGVCdXR0b25Db250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIpOgorICAgICAgICAoRGVsZXRlQnV0dG9uQ29udHJvbGxlckRp
c2FibGVTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWxldGVCdXR0b25Db250cm9sbGVyRGlz
YWJsZVNjb3BlOjpEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGU6On5EZWxldGVCdXR0
b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVNYXJrdXApOgorICAgICAgICAoV2ViQ29yZTo6Y3Jl
YXRlRnJhZ21lbnRGcm9tTm9kZXMpOgorCiAyMDEzLTAyLTEzICBSYXNobWkgU2h5YW1hc3VuZGFy
ICA8cmFzaG1pLnMyQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFRoZSAyRCBDYW52YXMgZnVuY3Rp
b25zIGZpbGxUZXh0KCkvc3Ryb2tlVGV4dCgpIHNob3VsZCBkaXNwbGF5IG5vdGhpbmcgd2hlbiBt
YXhXaWR0aCBpcyBsZXNzIHRoZW4gb3IgZXF1YWwgdG8gemVybwpJbmRleDogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAJKHJldmlzaW9uIDE0Mjc0
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDMsMTYgKzEwMywxNiBAQCB2b2lkIEVkaXRDb21tYW5kQ29tcG9z
aXRpb246OnVuYXBwbHkoKQogICAgIC8vIGlmIG9uZSBpcyBuZWNlc3NhcnkgKGxpa2UgZm9yIHRo
ZSBjcmVhdGlvbiBvZiBWaXNpYmxlUG9zaXRpb25zKS4KICAgICBtX2RvY3VtZW50LT51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAorICAgIHsKICNpZiBFTkFCTEUoREVM
RVRJT05fVUkpCi0gICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlciogZGVsZXRlQnV0dG9uQ29udHJv
bGxlciA9IGZyYW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpOwotICAgIGRl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmRpc2FibGUoKTsKLSNlbmRpZgotICAgIHNpemVfdCBzaXpl
ID0gbV9jb21tYW5kcy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IHNpemU7IGkgIT0gMDsg
LS1pKQotICAgICAgICBtX2NvbW1hbmRzW2kgLSAxXS0+ZG9VbmFwcGx5KCk7Ci0jaWYgRU5BQkxF
KERFTEVUSU9OX1VJKQotICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVuYWJsZSgpOworICAg
ICAgICBEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXJEaXNhYmxlU2NvcGUoZnJhbWUuZ2V0KCkpOwogI2VuZGlmCisKKyAgICAgICAgc2l6ZV90
IHNpemUgPSBtX2NvbW1hbmRzLnNpemUoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IHNpemU7
IGk7IC0taSkKKyAgICAgICAgICAgIG1fY29tbWFuZHNbaSAtIDFdLT5kb1VuYXBwbHkoKTsKKyAg
ICB9CisKICAgICBmcmFtZS0+ZWRpdG9yKCktPnVuYXBwbGllZEVkaXRpbmcodGhpcyk7CiB9CiAK
QEAgLTEyNiwxNyArMTI2LDE1IEBAIHZvaWQgRWRpdENvbW1hbmRDb21wb3NpdGlvbjo6cmVhcHBs
eSgpCiAgICAgLy8gTG93IGxldmVsIG9wZXJhdGlvbnMsIGxpa2UgUmVtb3ZlTm9kZUNvbW1hbmQs
IGRvbid0IHJlcXVpcmUgYSBsYXlvdXQgYmVjYXVzZSB0aGUgaGlnaCBsZXZlbCBvcGVyYXRpb25z
IHRoYXQgdXNlIHRoZW0gcGVyZm9ybSBvbmUKICAgICAvLyBpZiBvbmUgaXMgbmVjZXNzYXJ5IChs
aWtlIGZvciB0aGUgY3JlYXRpb24gb2YgVmlzaWJsZVBvc2l0aW9ucykuCiAgICAgbV9kb2N1bWVu
dC0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgCi0jaWYgRU5B
QkxFKERFTEVUSU9OX1VJKQotICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIqIGRlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIgPSBmcmFtZS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKTsK
LSAgICBkZWxldGVCdXR0b25Db250cm9sbGVyLT5kaXNhYmxlKCk7Ci0jZW5kaWYKLSAgICBzaXpl
X3Qgc2l6ZSA9IG1fY29tbWFuZHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpICE9
IHNpemU7ICsraSkKLSAgICAgICAgbV9jb21tYW5kc1tpXS0+ZG9SZWFwcGx5KCk7CisKKyAgICB7
CiAjaWYgRU5BQkxFKERFTEVUSU9OX1VJKQotICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVu
YWJsZSgpOworICAgICAgICBEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUoZnJhbWUuZ2V0KCkpOwogI2VuZGlmCisgICAg
ICAgIHNpemVfdCBzaXplID0gbV9jb21tYW5kcy5zaXplKCk7CisgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpICE9IHNpemU7ICsraSkKKyAgICAgICAgICAgIG1fY29tbWFuZHNbaV0tPmRvUmVh
cHBseSgpOworICAgIH0KICAgICAKICAgICBmcmFtZS0+ZWRpdG9yKCktPnJlYXBwbGllZEVkaXRp
bmcodGhpcyk7CiB9CkBAIC0yMTEsMTMgKzIwOSw5IEBAIHZvaWQgQ29tcG9zaXRlRWRpdENvbW1h
bmQ6OmFwcGx5KCkKICAgICB7CiAgICAgICAgIEV2ZW50UXVldWVTY29wZSBzY29wZTsKICNpZiBF
TkFCTEUoREVMRVRJT05fVUkpCi0gICAgICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIqIGRlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIgPSBmcmFtZS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIoKTsKLSAgICAgICAgZGVsZXRlQnV0dG9uQ29udHJvbGxlci0+ZGlzYWJsZSgpOworICAgICAg
ICBEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXJEaXNhYmxlU2NvcGUoZnJhbWUpOwogI2VuZGlmCiAgICAgICAgIGRvQXBwbHkoKTsKLSNpZiBF
TkFCTEUoREVMRVRJT05fVUkpCi0gICAgICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVuYWJs
ZSgpOwotI2VuZGlmCiAgICAgfQogCiAgICAgLy8gT25seSBuZWVkIHRvIGNhbGwgYXBwbGllZEVk
aXRpbmcgZm9yIHRvcC1sZXZlbCBjb21tYW5kcywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCShyZXZpc2lvbiAxNDI3NDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJf
aAogCiAjaW5jbHVkZSAiRGVsZXRlQnV0dG9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZWxldGVCdXR0b247Ci1jbGFzcyBGcmFtZTsKIGNs
YXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVj
dGlvbjsKQEAgLTUwLDE1ICs1MCwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93KEhUTUxFbGVt
ZW50Kik7CiAgICAgdm9pZCBoaWRlKCk7CiAKLSAgICB2b2lkIGVuYWJsZSgpOwotICAgIHZvaWQg
ZGlzYWJsZSgpOwotCiAgICAgdm9pZCBkZWxldGVUYXJnZXQoKTsKIAogcHJpdmF0ZToKICAgICBz
dGF0aWMgY29uc3QgY2hhciogY29uc3QgYnV0dG9uRWxlbWVudElkZW50aWZpZXI7CiAgICAgc3Rh
dGljIGNvbnN0IGNoYXIqIGNvbnN0IG91dGxpbmVFbGVtZW50SWRlbnRpZmllcjsKICAgICBzdGF0
aWMgY29uc3QgY2hhciogY29uc3QgY29udGFpbmVyRWxlbWVudElkZW50aWZpZXI7CisgICAgCisg
ICAgdm9pZCBlbmFibGUoKTsKKyAgICB2b2lkIGRpc2FibGUoKTsKKyAgICBmcmllbmQgY2xhc3Mg
RGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZTsKIAogICAgIHZvaWQgY3JlYXRlRGVs
ZXRpb25VSSgpOwogICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuICghbV9kaXNhYmxl
U3RhY2spOyB9CkBAIC03Myw2ICs3NCwyNSBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fZGlz
YWJsZVN0YWNrOwogfTsKIAorY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29w
ZSB7CitwdWJsaWM6CisgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZShGcmFt
ZSogZnJhbWUpCisgICAgICAgIDogbV9mcmFtZShmcmFtZSkKKyAgICB7CisgICAgICAgIGlmIChm
cmFtZSkKKyAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxl
cigpLT5kaXNhYmxlKCk7CisgICAgfQorCisgICAgfkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNh
YmxlU2NvcGUoKQorICAgIHsKKyAgICAgICAgaWYgKG1fZnJhbWUpCisgICAgICAgICAgICBtX2Zy
YW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpLT5lbmFibGUoKTsKKyAgICB9
CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEZyYW1lPiBtX2ZyYW1lOworfTsKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFy
a3VwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJ
KHJldmlzaW9uIDE0Mjc0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjM5LDI1ICs2MzksMjEgQEAgU3RyaW5nIGNyZWF0ZU1hcmt1cChj
b25zdCBSYW5nZSogcmFuZ2UsIAogICAgIGlmICghZG9jdW1lbnQpCiAgICAgICAgIHJldHVybiBl
bXB0eVN0cmluZygpOwogCisgICAgY29uc3QgUmFuZ2UqIHVwZGF0ZWRSYW5nZSA9IHJhbmdlOwor
CisjaWYgRU5BQkxFKERFTEVUSU9OX1VJKQogICAgIC8vIERpc2FibGUgdGhlIGRlbGV0ZSBidXR0
b24gc28gaXQncyBlbGVtZW50cyBhcmUgbm90IHNlcmlhbGl6ZWQgaW50byB0aGUgbWFya3VwLAog
ICAgIC8vIGJ1dCBtYWtlIHN1cmUgbmVpdGhlciBlbmRwb2ludCBpcyBpbnNpZGUgdGhlIGRlbGV0
ZSB1c2VyIGludGVyZmFjZS4KLSNpZiBFTkFCTEUoREVMRVRJT05fVUkpCiAgICAgRnJhbWUqIGZy
YW1lID0gZG9jdW1lbnQtPmZyYW1lKCk7Ci0gICAgaWYgKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIq
IGRlbGV0ZUJ1dHRvbiA9IGZyYW1lID8gZnJhbWUtPmVkaXRvcigpLT5kZWxldGVCdXR0b25Db250
cm9sbGVyKCkgOiAwKSB7Ci0gICAgICAgIFJlZlB0cjxSYW5nZT4gdXBkYXRlZFJhbmdlID0gZnJh
bWUtPmVkaXRvcigpLT5hdm9pZEludGVyc2VjdGlvbldpdGhEZWxldGVCdXR0b25Db250cm9sbGVy
KHJhbmdlKTsKLSAgICAgICAgaWYgKCF1cGRhdGVkUmFuZ2UpCi0gICAgICAgICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKLQotICAgICAgICBkZWxldGVCdXR0b24tPmRpc2FibGUoKTsKLQotICAg
ICAgICBTdHJpbmcgcmVzdWx0ID0gY3JlYXRlTWFya3VwSW50ZXJuYWwoZG9jdW1lbnQsIHJhbmdl
LCB1cGRhdGVkUmFuZ2UuZ2V0KCksIG5vZGVzLCBzaG91bGRBbm5vdGF0ZSwgY29udmVydEJsb2Nr
c1RvSW5saW5lcywgc2hvdWxkUmVzb2x2ZVVSTHMpOwotCi0gICAgICAgIGRlbGV0ZUJ1dHRvbi0+
ZW5hYmxlKCk7CisgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZSBkZWxldGVC
dXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKGZyYW1lKTsKIAotICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgIH0KKyAgICBSZWZQdHI8UmFuZ2U+IHVwZGF0ZWRSYW5nZVJlZiA9IGZyYW1lLT5l
ZGl0b3IoKS0+YXZvaWRJbnRlcnNlY3Rpb25XaXRoRGVsZXRlQnV0dG9uQ29udHJvbGxlcihyYW5n
ZSk7CisgICAgdXBkYXRlZFJhbmdlID0gdXBkYXRlZFJhbmdlUmVmLmdldCgpOworICAgIGlmICgh
dXBkYXRlZFJhbmdlKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICNlbmRpZgotICAg
IHJldHVybiBjcmVhdGVNYXJrdXBJbnRlcm5hbChkb2N1bWVudCwgcmFuZ2UsIHJhbmdlLCBub2Rl
cywgc2hvdWxkQW5ub3RhdGUsIGNvbnZlcnRCbG9ja3NUb0lubGluZXMsIHNob3VsZFJlc29sdmVV
UkxzKTsKKworICAgIHJldHVybiBjcmVhdGVNYXJrdXBJbnRlcm5hbChkb2N1bWVudCwgcmFuZ2Us
IHVwZGF0ZWRSYW5nZSwgbm9kZXMsIHNob3VsZEFubm90YXRlLCBjb252ZXJ0QmxvY2tzVG9Jbmxp
bmVzLCBzaG91bGRSZXNvbHZlVVJMcyk7CiB9CiAKIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVu
dD4gY3JlYXRlRnJhZ21lbnRGcm9tTWFya3VwKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3Ry
aW5nJiBtYXJrdXAsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJt
aXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24pCkBAIC05MDksOSArOTA1LDkgQEAgUGFzc1JlZlB0
cjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbQogCiAjaWYgRU5BQkxFKERFTEVUSU9OX1VJ
KQogICAgIC8vIGRpc2FibGUgdGhlIGRlbGV0ZSBidXR0b24gc28gaXQncyBlbGVtZW50cyBhcmUg
bm90IHNlcmlhbGl6ZWQgaW50byB0aGUgbWFya3VwCi0gICAgaWYgKGRvY3VtZW50LT5mcmFtZSgp
KQotICAgICAgICBkb2N1bWVudC0+ZnJhbWUoKS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoKS0+ZGlzYWJsZSgpOworICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2Nv
cGUoZG9jdW1lbnQtPmZyYW1lKCkpOwogI2VuZGlmCisKICAgICBSZWZQdHI8RG9jdW1lbnRGcmFn
bWVudD4gZnJhZ21lbnQgPSBkb2N1bWVudC0+Y3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogCiAg
ICAgc2l6ZV90IHNpemUgPSBub2Rlcy5zaXplKCk7CkBAIC05MjEsMTAgKzkxNyw2IEBAIFBhc3NS
ZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ20KICAgICAgICAgZnJhZ21lbnQtPmFw
cGVuZENoaWxkKGVsZW1lbnQucmVsZWFzZSgpLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKICAgICB9
CiAKLSNpZiBFTkFCTEUoREVMRVRJT05fVUkpCi0gICAgaWYgKGRvY3VtZW50LT5mcmFtZSgpKQot
ICAgICAgICBkb2N1bWVudC0+ZnJhbWUoKS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIoKS0+ZW5hYmxlKCk7Ci0jZW5kaWYKICAgICByZXR1cm4gZnJhZ21lbnQucmVsZWFzZSgpOwog
fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188113</attachid>
            <date>2013-02-13 10:17:15 -0800</date>
            <delta_ts>2013-02-13 11:50:29 -0800</delta_ts>
            <desc>Fixed build</desc>
            <filename>bug-109550-20130213101344.patch</filename>
            <type>text/plain</type>
            <size>8306</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0Mjc1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAyLTEzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXI6OmVuYWJsZSBhbmQgZGlzYWJsZSBzaG91bGQgYmUgY2FsbGVkIHZpYSBhIFJBSUkgb2JqZWN0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBE
ZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlLCBhIGZyaWVuZCBjbGFzcyBvZiBEZWxl
dGVCdXR0b25Db250cm9sbGVyLAorICAgICAgICBhbmQgbWFkZSBEZWxldGVCdXR0b25Db250cm9s
bGVyOjplbmFibGUvZGlzYWJsZSBwcml2YXRlLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5v
ZGUuY3BwOgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRDb21wb3NpdGlvbjo6dW5hcHBseSk6CisgICAgICAg
IChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjpyZWFwcGx5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjphcHBseSk6CisgICAgICAgICogZWRpdGluZy9E
ZWxldGVCdXR0b25Db250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIpOgorICAgICAgICAoRGVsZXRlQnV0dG9uQ29udHJvbGxlckRp
c2FibGVTY29wZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWxldGVCdXR0b25Db250cm9sbGVyRGlz
YWJsZVNjb3BlOjpEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKToKKyAgICAgICAg
KFdlYkNvcmU6OkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGU6On5EZWxldGVCdXR0
b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKToKKyAgICAgICAgKiBlZGl0aW5nL21hcmt1cC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVNYXJrdXApOgorICAgICAgICAoV2ViQ29yZTo6Y3Jl
YXRlRnJhZ21lbnRGcm9tTm9kZXMpOgorCiAyMDEzLTAyLTEzICBSYXNobWkgU2h5YW1hc3VuZGFy
ICA8cmFzaG1pLnMyQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFRoZSAyRCBDYW52YXMgZnVuY3Rp
b25zIGZpbGxUZXh0KCkvc3Ryb2tlVGV4dCgpIHNob3VsZCBkaXNwbGF5IG5vdGhpbmcgd2hlbiBt
YXhXaWR0aCBpcyBsZXNzIHRoZW4gb3IgZXF1YWwgdG8gemVybwpJbmRleDogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAJKHJldmlzaW9uIDE0Mjc0
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDMsMTYgKzEwMywxNiBAQCB2b2lkIEVkaXRDb21tYW5kQ29tcG9z
aXRpb246OnVuYXBwbHkoKQogICAgIC8vIGlmIG9uZSBpcyBuZWNlc3NhcnkgKGxpa2UgZm9yIHRo
ZSBjcmVhdGlvbiBvZiBWaXNpYmxlUG9zaXRpb25zKS4KICAgICBtX2RvY3VtZW50LT51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAorICAgIHsKICNpZiBFTkFCTEUoREVM
RVRJT05fVUkpCi0gICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlciogZGVsZXRlQnV0dG9uQ29udHJv
bGxlciA9IGZyYW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpOwotICAgIGRl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmRpc2FibGUoKTsKLSNlbmRpZgotICAgIHNpemVfdCBzaXpl
ID0gbV9jb21tYW5kcy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IHNpemU7IGkgIT0gMDsg
LS1pKQotICAgICAgICBtX2NvbW1hbmRzW2kgLSAxXS0+ZG9VbmFwcGx5KCk7Ci0jaWYgRU5BQkxF
KERFTEVUSU9OX1VJKQotICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVuYWJsZSgpOworICAg
ICAgICBEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXJEaXNhYmxlU2NvcGUoZnJhbWUuZ2V0KCkpOwogI2VuZGlmCisKKyAgICAgICAgc2l6ZV90
IHNpemUgPSBtX2NvbW1hbmRzLnNpemUoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IHNpemU7
IGk7IC0taSkKKyAgICAgICAgICAgIG1fY29tbWFuZHNbaSAtIDFdLT5kb1VuYXBwbHkoKTsKKyAg
ICB9CisKICAgICBmcmFtZS0+ZWRpdG9yKCktPnVuYXBwbGllZEVkaXRpbmcodGhpcyk7CiB9CiAK
QEAgLTEyNiwxNyArMTI2LDE1IEBAIHZvaWQgRWRpdENvbW1hbmRDb21wb3NpdGlvbjo6cmVhcHBs
eSgpCiAgICAgLy8gTG93IGxldmVsIG9wZXJhdGlvbnMsIGxpa2UgUmVtb3ZlTm9kZUNvbW1hbmQs
IGRvbid0IHJlcXVpcmUgYSBsYXlvdXQgYmVjYXVzZSB0aGUgaGlnaCBsZXZlbCBvcGVyYXRpb25z
IHRoYXQgdXNlIHRoZW0gcGVyZm9ybSBvbmUKICAgICAvLyBpZiBvbmUgaXMgbmVjZXNzYXJ5IChs
aWtlIGZvciB0aGUgY3JlYXRpb24gb2YgVmlzaWJsZVBvc2l0aW9ucykuCiAgICAgbV9kb2N1bWVu
dC0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7Ci0gICAgCi0jaWYgRU5B
QkxFKERFTEVUSU9OX1VJKQotICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIqIGRlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIgPSBmcmFtZS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoKTsK
LSAgICBkZWxldGVCdXR0b25Db250cm9sbGVyLT5kaXNhYmxlKCk7Ci0jZW5kaWYKLSAgICBzaXpl
X3Qgc2l6ZSA9IG1fY29tbWFuZHMuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpICE9
IHNpemU7ICsraSkKLSAgICAgICAgbV9jb21tYW5kc1tpXS0+ZG9SZWFwcGx5KCk7CisKKyAgICB7
CiAjaWYgRU5BQkxFKERFTEVUSU9OX1VJKQotICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVu
YWJsZSgpOworICAgICAgICBEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUoZnJhbWUuZ2V0KCkpOwogI2VuZGlmCisgICAg
ICAgIHNpemVfdCBzaXplID0gbV9jb21tYW5kcy5zaXplKCk7CisgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpICE9IHNpemU7ICsraSkKKyAgICAgICAgICAgIG1fY29tbWFuZHNbaV0tPmRvUmVh
cHBseSgpOworICAgIH0KICAgICAKICAgICBmcmFtZS0+ZWRpdG9yKCktPnJlYXBwbGllZEVkaXRp
bmcodGhpcyk7CiB9CkBAIC0yMTEsMTMgKzIwOSw5IEBAIHZvaWQgQ29tcG9zaXRlRWRpdENvbW1h
bmQ6OmFwcGx5KCkKICAgICB7CiAgICAgICAgIEV2ZW50UXVldWVTY29wZSBzY29wZTsKICNpZiBF
TkFCTEUoREVMRVRJT05fVUkpCi0gICAgICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIqIGRlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIgPSBmcmFtZS0+ZWRpdG9yKCktPmRlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIoKTsKLSAgICAgICAgZGVsZXRlQnV0dG9uQ29udHJvbGxlci0+ZGlzYWJsZSgpOworICAgICAg
ICBEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlIGRlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXJEaXNhYmxlU2NvcGUoZnJhbWUpOwogI2VuZGlmCiAgICAgICAgIGRvQXBwbHkoKTsKLSNpZiBF
TkFCTEUoREVMRVRJT05fVUkpCi0gICAgICAgIGRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXItPmVuYWJs
ZSgpOwotI2VuZGlmCiAgICAgfQogCiAgICAgLy8gT25seSBuZWVkIHRvIGNhbGwgYXBwbGllZEVk
aXRpbmcgZm9yIHRvcC1sZXZlbCBjb21tYW5kcywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCShyZXZpc2lvbiAxNDI3NDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMjcsMTEgKzI3LDEzIEBACiAjZGVmaW5lIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJf
aAogCiAjaW5jbHVkZSAiRGVsZXRlQnV0dG9uLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCisjaWYgRU5BQkxFKERFTEVUSU9OX1VJKQorCiBjbGFzcyBEZWxl
dGVCdXR0b247Ci1jbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVy
T2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKQEAgLTUwLDE1ICs1MiwxNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzaG93KEhUTUxFbGVtZW50Kik7CiAgICAgdm9pZCBoaWRlKCk7CiAKLSAg
ICB2b2lkIGVuYWJsZSgpOwotICAgIHZvaWQgZGlzYWJsZSgpOwotCiAgICAgdm9pZCBkZWxldGVU
YXJnZXQoKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgYnV0dG9u
RWxlbWVudElkZW50aWZpZXI7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG91dGxpbmVF
bGVtZW50SWRlbnRpZmllcjsKICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgY29udGFpbmVy
RWxlbWVudElkZW50aWZpZXI7CisgICAgCisgICAgdm9pZCBlbmFibGUoKTsKKyAgICB2b2lkIGRp
c2FibGUoKTsKKyAgICBmcmllbmQgY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2FibGVT
Y29wZTsKIAogICAgIHZvaWQgY3JlYXRlRGVsZXRpb25VSSgpOwogICAgIGJvb2wgZW5hYmxlZCgp
IGNvbnN0IHsgcmV0dXJuICghbV9kaXNhYmxlU3RhY2spOyB9CkBAIC03Myw2ICs3NiwyNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fZGlzYWJsZVN0YWNrOwogfTsKIAorY2xhc3MgRGVsZXRl
QnV0dG9uQ29udHJvbGxlckRpc2FibGVTY29wZSB7CitwdWJsaWM6CisgICAgRGVsZXRlQnV0dG9u
Q29udHJvbGxlckRpc2FibGVTY29wZShGcmFtZSogZnJhbWUpCisgICAgICAgIDogbV9mcmFtZShm
cmFtZSkKKyAgICB7CisgICAgICAgIGlmIChmcmFtZSkKKyAgICAgICAgICAgIGZyYW1lLT5lZGl0
b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpLT5kaXNhYmxlKCk7CisgICAgfQorCisgICAg
fkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUoKQorICAgIHsKKyAgICAgICAgaWYg
KG1fZnJhbWUpCisgICAgICAgICAgICBtX2ZyYW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29u
dHJvbGxlcigpLT5lbmFibGUoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEZyYW1l
PiBtX2ZyYW1lOworfTsKKworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCShyZXZpc2lvbiAxNDI3NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYz
OSwyNSArNjM5LDIxIEBAIFN0cmluZyBjcmVhdGVNYXJrdXAoY29uc3QgUmFuZ2UqIHJhbmdlLCAK
ICAgICBpZiAoIWRvY3VtZW50KQogICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKIAorICAg
IGNvbnN0IFJhbmdlKiB1cGRhdGVkUmFuZ2UgPSByYW5nZTsKKworI2lmIEVOQUJMRShERUxFVElP
Tl9VSSkKICAgICAvLyBEaXNhYmxlIHRoZSBkZWxldGUgYnV0dG9uIHNvIGl0J3MgZWxlbWVudHMg
YXJlIG5vdCBzZXJpYWxpemVkIGludG8gdGhlIG1hcmt1cCwKICAgICAvLyBidXQgbWFrZSBzdXJl
IG5laXRoZXIgZW5kcG9pbnQgaXMgaW5zaWRlIHRoZSBkZWxldGUgdXNlciBpbnRlcmZhY2UuCi0j
aWYgRU5BQkxFKERFTEVUSU9OX1VJKQogICAgIEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50LT5mcmFt
ZSgpOwotICAgIGlmIChEZWxldGVCdXR0b25Db250cm9sbGVyKiBkZWxldGVCdXR0b24gPSBmcmFt
ZSA/IGZyYW1lLT5lZGl0b3IoKS0+ZGVsZXRlQnV0dG9uQ29udHJvbGxlcigpIDogMCkgewotICAg
ICAgICBSZWZQdHI8UmFuZ2U+IHVwZGF0ZWRSYW5nZSA9IGZyYW1lLT5lZGl0b3IoKS0+YXZvaWRJ
bnRlcnNlY3Rpb25XaXRoRGVsZXRlQnV0dG9uQ29udHJvbGxlcihyYW5nZSk7Ci0gICAgICAgIGlm
ICghdXBkYXRlZFJhbmdlKQotICAgICAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0KLSAg
ICAgICAgZGVsZXRlQnV0dG9uLT5kaXNhYmxlKCk7Ci0KLSAgICAgICAgU3RyaW5nIHJlc3VsdCA9
IGNyZWF0ZU1hcmt1cEludGVybmFsKGRvY3VtZW50LCByYW5nZSwgdXBkYXRlZFJhbmdlLmdldCgp
LCBub2Rlcywgc2hvdWxkQW5ub3RhdGUsIGNvbnZlcnRCbG9ja3NUb0lubGluZXMsIHNob3VsZFJl
c29sdmVVUkxzKTsKLQotICAgICAgICBkZWxldGVCdXR0b24tPmVuYWJsZSgpOworICAgIERlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXJEaXNhYmxlU2NvcGUgZGVsZXRlQnV0dG9uQ29udHJvbGxlckRpc2Fi
bGVTY29wZShmcmFtZSk7CiAKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9CisgICAgUmVm
UHRyPFJhbmdlPiB1cGRhdGVkUmFuZ2VSZWYgPSBmcmFtZS0+ZWRpdG9yKCktPmF2b2lkSW50ZXJz
ZWN0aW9uV2l0aERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIocmFuZ2UpOworICAgIHVwZGF0ZWRSYW5n
ZSA9IHVwZGF0ZWRSYW5nZVJlZi5nZXQoKTsKKyAgICBpZiAoIXVwZGF0ZWRSYW5nZSkKKyAgICAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAjZW5kaWYKLSAgICByZXR1cm4gY3JlYXRlTWFya3Vw
SW50ZXJuYWwoZG9jdW1lbnQsIHJhbmdlLCByYW5nZSwgbm9kZXMsIHNob3VsZEFubm90YXRlLCBj
b252ZXJ0QmxvY2tzVG9JbmxpbmVzLCBzaG91bGRSZXNvbHZlVVJMcyk7CisKKyAgICByZXR1cm4g
Y3JlYXRlTWFya3VwSW50ZXJuYWwoZG9jdW1lbnQsIHJhbmdlLCB1cGRhdGVkUmFuZ2UsIG5vZGVz
LCBzaG91bGRBbm5vdGF0ZSwgY29udmVydEJsb2Nrc1RvSW5saW5lcywgc2hvdWxkUmVzb2x2ZVVS
THMpOwogfQogCiBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtZW50RnJv
bU1hcmt1cChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgbWFya3VwLCBjb25zdCBT
dHJpbmcmIGJhc2VVUkwsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiBzY3JpcHRpbmdQZXJt
aXNzaW9uKQpAQCAtOTA5LDkgKzkwNSw5IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4g
Y3JlYXRlRnJhZ20KIAogI2lmIEVOQUJMRShERUxFVElPTl9VSSkKICAgICAvLyBkaXNhYmxlIHRo
ZSBkZWxldGUgYnV0dG9uIHNvIGl0J3MgZWxlbWVudHMgYXJlIG5vdCBzZXJpYWxpemVkIGludG8g
dGhlIG1hcmt1cAotICAgIGlmIChkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZG9jdW1lbnQt
PmZyYW1lKCktPmVkaXRvcigpLT5kZWxldGVCdXR0b25Db250cm9sbGVyKCktPmRpc2FibGUoKTsK
KyAgICBEZWxldGVCdXR0b25Db250cm9sbGVyRGlzYWJsZVNjb3BlKGRvY3VtZW50LT5mcmFtZSgp
KTsKICNlbmRpZgorCiAgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gZG9j
dW1lbnQtPmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKIAogICAgIHNpemVfdCBzaXplID0gbm9k
ZXMuc2l6ZSgpOwpAQCAtOTIxLDEwICs5MTcsNiBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IGNyZWF0ZUZyYWdtCiAgICAgICAgIGZyYWdtZW50LT5hcHBlbmRDaGlsZChlbGVtZW50LnJl
bGVhc2UoKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgfQogCi0jaWYgRU5BQkxFKERFTEVU
SU9OX1VJKQotICAgIGlmIChkb2N1bWVudC0+ZnJhbWUoKSkKLSAgICAgICAgZG9jdW1lbnQtPmZy
YW1lKCktPmVkaXRvcigpLT5kZWxldGVCdXR0b25Db250cm9sbGVyKCktPmVuYWJsZSgpOwotI2Vu
ZGlmCiAgICAgcmV0dXJuIGZyYWdtZW50LnJlbGVhc2UoKTsKIH0KIAo=
</data>
<flag name="review"
          id="208135"
          type_id="1"
          status="+"
          setter="enrica"
    />
          </attachment>
      

    </bug>

</bugzilla>