<?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>58375</bug_id>
          
          <creation_ts>2011-04-12 14:12:01 -0700</creation_ts>
          <short_desc>[Qt] QNetworkReplyHandler refactoring: remove nested event loop.</short_desc>
          <delta_ts>2011-04-14 03:55:54 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>57075</dependson>
    
    <dependson>58430</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luiz Agostini">luiz</reporter>
          <assigned_to name="Luiz Agostini">luiz</assigned_to>
          <cc>kenneth</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384360</commentid>
    <comment_count>0</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-12 14:12:01 -0700</bug_when>
    <thetext>A nested event loop is not needed for synchronous loads any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384369</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-04-12 14:17:30 -0700</bug_when>
    <thetext>So where is the patch :-) ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384387</commentid>
    <comment_count>2</comment_count>
      <attachid>89273</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-12 14:30:47 -0700</bug_when>
    <thetext>Created attachment 89273
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384392</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-12 14:33:56 -0700</bug_when>
    <thetext>Attachment 89273 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/network/qt/ResourceHandleQt.cpp:56:  The parameter name &quot;response&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/network/qt/ResourceHandleQt.cpp:56:  The parameter name &quot;error&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384396</commentid>
    <comment_count>4</comment_count>
      <attachid>89273</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-04-12 14:40:42 -0700</bug_when>
    <thetext>Comment on attachment 89273
patch

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

&gt; Source/WebCore/platform/network/qt/ResourceHandleQt.cpp:66
&gt; +    ResourceResponse&amp; m_response;
&gt; +    ResourceError&amp; m_error;
&gt; +    Vector&lt;char&gt;&amp; m_data;

so we own these? who were setting them before? Im wondering, as I dont see that code removed here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384398</commentid>
    <comment_count>5</comment_count>
      <attachid>89273</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-04-12 14:41:34 -0700</bug_when>
    <thetext>Comment on attachment 89273
patch

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

Nice cleanup, just one thing-

&gt; Source/WebCore/ChangeLog:37
&gt;  
&gt;  2011-04-12  Luiz Agostini  &lt;luiz.agostini@openbossa.org&gt;
&gt;  

This hunk doesn&apos;t start at the top of the ChangeLog file :)

&gt; Source/WebCore/platform/network/qt/ResourceHandleQt.cpp:192
&gt; +    // starting in deferred mode gives d-&gt;m_job the chance of being set before sending the request.
&gt; +    d-&gt;m_job = new QNetworkReplyHandler(handle.get(), QNetworkReplyHandler::SynchronousLoad, true);
&gt; +    d-&gt;m_job-&gt;setLoadingDeferred(false);

This would be much less mysterious if QNetworkReplyHandler had a start() method that we would explicitly call from the outside.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384440</commentid>
    <comment_count>6</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-12 15:49:15 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 89273 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89273&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/qt/ResourceHandleQt.cpp:192
&gt; &gt; +    // starting in deferred mode gives d-&gt;m_job the chance of being set before sending the request.
&gt; &gt; +    d-&gt;m_job = new QNetworkReplyHandler(handle.get(), QNetworkReplyHandler::SynchronousLoad, true);
&gt; &gt; +    d-&gt;m_job-&gt;setLoadingDeferred(false);
&gt; 
&gt; This would be much less mysterious if QNetworkReplyHandler had a start() method that we would explicitly call from the outside.

This new method would be such that it would be called only once, just like the constructor. :)
For this to work I would be putting back flags to this class, what I would like to avoid.

Would it be better?
    
    // starting in deferred mode gives d-&gt;m_job the chance of being set before sending the request.
    QNetworkReplyHandler* replyHandler = new QNetworkReplyHandler(handle.get(), QNetworkReplyHandler::SynchronousLoad, true);
    d-&gt;m_job = replyHandler;
    d-&gt;m_job-&gt;setLoadingDeferred(false);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384462</commentid>
    <comment_count>7</comment_count>
      <attachid>89296</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-12 16:04:28 -0700</bug_when>
    <thetext>Created attachment 89296
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384471</commentid>
    <comment_count>8</comment_count>
      <attachid>89273</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-04-12 16:11:48 -0700</bug_when>
    <thetext>Comment on attachment 89273
patch

After discussing, I prefer this approach to keeping things clean. :3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384477</commentid>
    <comment_count>9</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-04-12 16:20:07 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 89273 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89273&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/qt/ResourceHandleQt.cpp:66
&gt; &gt; +    ResourceResponse&amp; m_response;
&gt; &gt; +    ResourceError&amp; m_error;
&gt; &gt; +    Vector&lt;char&gt;&amp; m_data;
&gt; 
&gt; so we own these? who were setting them before? Im wondering, as I dont see that code removed here

Look at ResourceHandle::loadResourceSynchronously(), this way the ownership is simply transferred to the out-arguments without making temporary copies in WebCoreSynchronousLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384550</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-12 17:29:21 -0700</bug_when>
    <thetext>I had to rollout http://trac.webkit.org/changeset/83659 too, because
it was conflicted with buggy http://trac.webkit.org/changeset/83634.

See https://bugs.webkit.org/show_bug.cgi?id=57075</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384659</commentid>
    <comment_count>11</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-12 21:39:30 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 89273 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89273&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/network/qt/ResourceHandleQt.cpp:66
&gt; &gt; &gt; +    ResourceResponse&amp; m_response;
&gt; &gt; &gt; +    ResourceError&amp; m_error;
&gt; &gt; &gt; +    Vector&lt;char&gt;&amp; m_data;
&gt; &gt; 
&gt; &gt; so we own these? who were setting them before? Im wondering, as I dont see that code removed here
&gt; 
&gt; Look at ResourceHandle::loadResourceSynchronously(), this way the ownership is simply transferred to the out-arguments without making temporary copies in WebCoreSynchronousLoader.

Sorry Kenneth, I did not see your question in time. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384671</commentid>
    <comment_count>12</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-12 22:03:28 -0700</bug_when>
    <thetext>	M	Source/WebCore/ChangeLog
	M	Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
	M	Source/WebCore/platform/network/qt/QNetworkReplyHandler.h
	M	Source/WebCore/platform/network/qt/ResourceHandleQt.cpp
Committed r83695</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384790</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-13 04:28:30 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt;     M    Source/WebCore/ChangeLog
&gt;     M    Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
&gt;     M    Source/WebCore/platform/network/qt/QNetworkReplyHandler.h
&gt;     M    Source/WebCore/platform/network/qt/ResourceHandleQt.cpp
&gt; Committed r83695

It broke http tests with WK2. :(

See https://bugs.webkit.org/show_bug.cgi?id=58430 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384800</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-13 04:43:47 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt;     M    Source/WebCore/ChangeLog
&gt; &gt;     M    Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
&gt; &gt;     M    Source/WebCore/platform/network/qt/QNetworkReplyHandler.h
&gt; &gt;     M    Source/WebCore/platform/network/qt/ResourceHandleQt.cpp
&gt; &gt; Committed r83695
&gt; 
&gt; It broke http tests with WK2. :(
&gt; 
&gt; See https://bugs.webkit.org/show_bug.cgi?id=58430 for details.

It was rolled out by http://trac.webkit.org/changeset/83720. (rs=kling)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385629</commentid>
    <comment_count>15</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-14 03:55:54 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/83788</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89273</attachid>
            <date>2011-04-12 14:30:47 -0700</date>
            <delta_ts>2011-04-12 16:11:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Qt-QNetworkReplyHandler-refactoring-remove-nested-ev.patch</filename>
            <type>text/plain</type>
            <size>8202</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA5MzY0MGQ3MTUyYmZhZTZhZTFhMDM1YWU4ODY4OTUxOTk3Y2Q5NDUwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMTIgQXByIDIwMTEgMTg6Mjc6MjggLTAzMDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIFFOZXR3b3JrUmVwbHlIYW5kbGVyIHJlZmFjdG9yaW5nOiByZW1vdmUgbmVzdGVk
IGV2ZW50IGxvb3AuCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgz
NzUKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKQXMgUU5BTSBub3cgbWFrZXMgYWN0dWFs
IHN5bmNocm9ub3VzIGxvYWRzIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGEgbmVzdGVkIGV2ZW50IGxv
b3AKaW4gUmVzb3VyY2VIYW5kbGVRdC4KCk1vdmluZyB0aGUgY2FsbCBmb3IgUU5ldHdvcmtSZXBs
eVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCBmcm9tClJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5IHRvIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzdGFydCBmb3IgdGhlCnJl
ZGlyZWN0aW9ucyB0byB3b3JrIGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLgoKKiBwbGF0Zm9ybS9u
ZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKFdlYkNvcmU6OlFOZXR3b3JrUmVw
bHlIYW5kbGVyOjpzdGFydCk6CiogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFu
ZGxlci5oOgoqIHBsYXRmb3JtL25ldHdvcmsvcXQvUmVzb3VyY2VIYW5kbGVRdC5jcHA6CihXZWJD
b3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik6
CihXZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgoo
V2ViQ29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRGYWlsKToKKFdlYkNvcmU6OlJl
c291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKLS0tCiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjMgKysrKysrKysr
CiAuLi4vcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAgICB8ICAg
IDcgKy0tCiAuLi4vcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oICAg
ICB8ICAgIDUgKy0KIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291cmNlSGFuZGxlUXQuY3Bw
ICAgICAgIHwgICA1MSArKysrKy0tLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzOCBp
bnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzNjNGRhNS4uZjEz
ZWQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMzUsNiArMzUsMjkgQEAKIAogMjAxMS0wNC0xMiAgTHVpeiBB
Z29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAorICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFFOZXR3b3JrUmVwbHlIYW5kbGVy
IHJlZmFjdG9yaW5nOiByZW1vdmUgbmVzdGVkIGV2ZW50IGxvb3AuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODM3NQorCisgICAgICAgIEFzIFFOQU0g
bm93IG1ha2VzIGFjdHVhbCBzeW5jaHJvbm91cyBsb2FkcyB0aGVyZSBpcyBubyBuZWVkIGZvciBh
IG5lc3RlZCBldmVudCBsb29wCisgICAgICAgIGluIFJlc291cmNlSGFuZGxlUXQuCisKKyAgICAg
ICAgTW92aW5nIHRoZSBjYWxsIGZvciBRTmV0d29ya1JlcGx5V3JhcHBlcjo6c3luY2hyb25vdXNM
b2FkIGZyb20KKyAgICAgICAgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkgdG8gUU5ldHdvcmtSZXBseUhhbmRsZXI6OnN0YXJ0IGZvciB0aGUgCisgICAgICAgIHJlZGly
ZWN0aW9ucyB0byB3b3JrIGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLgorCisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL3F0L1Jlc291cmNlSGFuZGxlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlkRmFpbCk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisK
KzIwMTEtMDQtMTIgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+
CisKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KIAogICAgICAgICBbUXRdIFFO
ZXR3b3JrUmVwbHlIYW5kbGVyIHJlZmFjdG9yaW5nOiBzaWduYWwgcXVldWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFu
ZGxlci5jcHAKaW5kZXggNDhjM2FhMS4uNTMxNzM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAK
QEAgLTYyNSw2ICs2MjUsNyBAQCB2b2lkIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzdGFydCgpCiAg
ICAgbV9yZXBseVdyYXBwZXIgPSBuZXcgUU5ldHdvcmtSZXBseVdyYXBwZXIoJm1fcXVldWUsIHJl
cGx5LCB0aGlzKTsKIAogICAgIGlmIChtX2xvYWRUeXBlID09IFN5bmNocm9ub3VzTG9hZCAmJiBt
X3JlcGx5V3JhcHBlci0+cmVwbHkoKS0+aXNGaW5pc2hlZCgpKSB7CisgICAgICAgIG1fcmVwbHlX
cmFwcGVyLT5zeW5jaHJvbm91c0xvYWQoKTsKICAgICAgICAgLy8gSWYgc3VwcG9ydGVkLCBhIHN5
bmNocm9ub3VzIHJlcXVlc3Qgd2lsbCBiZSBmaW5pc2hlZCBhdCB0aGlzIHBvaW50LCBubyBuZWVk
IHRvIGhvb2sgdXAgdGhlIHNpZ25hbHMuCiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02MzMs
MTIgKzYzNCw2IEBAIHZvaWQgUU5ldHdvcmtSZXBseUhhbmRsZXI6OnN0YXJ0KCkKICAgICAgICAg
Y29ubmVjdChtX3JlcGx5V3JhcHBlci0+cmVwbHkoKSwgU0lHTkFMKHVwbG9hZFByb2dyZXNzKHFp
bnQ2NCwgcWludDY0KSksIHRoaXMsIFNMT1QodXBsb2FkUHJvZ3Jlc3MocWludDY0LCBxaW50NjQp
KSk7CiB9CiAKLXZvaWQgUU5ldHdvcmtSZXBseUhhbmRsZXI6OnN5bmNocm9ub3VzTG9hZCgpCi17
Ci0gICAgaWYgKG1fcmVwbHlXcmFwcGVyKQotICAgICAgICBtX3JlcGx5V3JhcHBlci0+c3luY2hy
b25vdXNMb2FkKCk7Ci19Ci0KIH0KIAogI2luY2x1ZGUgIm1vY19RTmV0d29ya1JlcGx5SGFuZGxl
ci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FO
ZXR3b3JrUmVwbHlIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0
L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKaW5kZXggMGE1N2NlMy4uNDUyMzk5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuaApAQCAtMTA2LDEyICsxMDYsMTEgQEAgcHVibGljOgogCiAgICAgUU5ldHdvcmtS
ZXBseSogcmVsZWFzZSgpOwogCi0gICAgdm9pZCBzeW5jaHJvbm91c0xvYWQoKTsKLQotcHVibGlj
IHNsb3RzOgogICAgIHZvaWQgZmluaXNoKCk7CiAgICAgdm9pZCBzZW5kUmVzcG9uc2VJZk5lZWRl
ZCgpOwogICAgIHZvaWQgZm9yd2FyZERhdGEoKTsKKworcHVibGljIHNsb3RzOgogICAgIHZvaWQg
dXBsb2FkUHJvZ3Jlc3MocWludDY0IGJ5dGVzU2VudCwgcWludDY0IGJ5dGVzVG90YWwpOwogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9S
ZXNvdXJjZUhhbmRsZVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQv
UmVzb3VyY2VIYW5kbGVRdC5jcHAKaW5kZXggZGNlZDdiMi4uNGQ4YzIyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZUhhbmRsZVF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291cmNlSGFuZGxlUXQu
Y3BwCkBAIC01MywzMSArNTMsMjMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBXZWJD
b3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewogcHVi
bGljOgotICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwotCi0gICAgdm9pZCB3YWl0Rm9y
Q29tcGxldGlvbigpOworICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFZlY3RvcjxjaGFyPiYgZGF0YSk7
CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0
YShSZXNvdXJjZUhhbmRsZSosIGNvbnN0IGNoYXIqLCBpbnQsIGludCBsZW5ndGhSZWNlaXZlZCk7
CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqLCBkb3Vi
bGUgLypmaW5pc2hUaW1lKi8pOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsKFJlc291cmNlSGFu
ZGxlKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCi0gICAgUmVzb3VyY2VSZXNwb25zZSByZXNv
dXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQotICAgIFJlc291cmNl
RXJyb3IgcmVzb3VyY2VFcnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KLSAgICBWZWN0
b3I8Y2hhcj4gZGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YTsgfQotCi0gICAgdm9pZCBzZXRS
ZXBseUZpbmlzaGVkKGJvb2wgZmluaXNoZWQpIHsgbV9yZXBseUZpbmlzaGVkID0gZmluaXNoZWQ7
IH0KLQogcHJpdmF0ZToKLSAgICBSZXNvdXJjZVJlc3BvbnNlIG1fcmVzcG9uc2U7Ci0gICAgUmVz
b3VyY2VFcnJvciBtX2Vycm9yOwotICAgIFZlY3RvcjxjaGFyPiBtX2RhdGE7Ci0gICAgUUV2ZW50
TG9vcCBtX2V2ZW50TG9vcDsKLSAgICBib29sIG1fcmVwbHlGaW5pc2hlZDsKKyAgICBSZXNvdXJj
ZVJlc3BvbnNlJiBtX3Jlc3BvbnNlOworICAgIFJlc291cmNlRXJyb3ImIG1fZXJyb3I7CisgICAg
VmVjdG9yPGNoYXI+JiBtX2RhdGE7CiB9OwogCi1XZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6Oldl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcigpCi0gICAgICAgIDogbV9yZXBseUZpbmlzaGVkKGZhbHNl
KQorV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFJlc291cmNlRXJyb3ImIGVycm9yLCBWZWN0b3I8Y2hh
cj4mIGRhdGEpCisgICAgICAgIDogbV9yZXNwb25zZShyZXNwb25zZSkKKyAgICAgICAgLCBtX2Vy
cm9yKGVycm9yKQorICAgICAgICAsIG1fZGF0YShkYXRhKQogewogfQogCkBAIC05MywyMCArODUs
MTEgQEAgdm9pZCBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKFJlc291
cmNlSGFuZGxlKiwgY29uc3QgY2hhciogZGF0YSwKIAogdm9pZCBXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqLCBkb3VibGUpCiB7Ci0gICAg
aWYgKCFtX3JlcGx5RmluaXNoZWQpCi0gICAgICAgIG1fZXZlbnRMb29wLmV4aXQoKTsKIH0KIAog
dm9pZCBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZEZhaWwoUmVzb3VyY2VIYW5kbGUqLCBj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIHsKICAgICBtX2Vycm9yID0gZXJyb3I7Ci0gICAg
aWYgKCFtX3JlcGx5RmluaXNoZWQpCi0gICAgICAgIG1fZXZlbnRMb29wLmV4aXQoKTsKLX0KLQot
dm9pZCBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OndhaXRGb3JDb21wbGV0aW9uKCkKLXsKLSAg
ICBtX2V2ZW50TG9vcC5leGVjKFFFdmVudExvb3A6OkV4Y2x1ZGVVc2VySW5wdXRFdmVudHMpOwog
fQogCiBSZXNvdXJjZUhhbmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpCkBA
IC0xOTEsNyArMTc0LDcgQEAgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IFJlc291cmNlSGFuZGxl
OjpidWZmZXJlZERhdGEoKQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzIC8qc3RvcmVkQ3JlZGVudGlhbHMqLywgUmVz
b3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8Y2hh
cj4mIGRhdGEpCiB7Ci0gICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIHN5bmNMb2FkZXI7Cisg
ICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIHN5bmNMb2FkZXIocmVzcG9uc2UsIGVycm9yLCBk
YXRhKTsKICAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVmKG5ldyBS
ZXNvdXJjZUhhbmRsZShyZXF1ZXN0LCAmc3luY0xvYWRlciwgdHJ1ZSwgZmFsc2UpKTsKIAogICAg
IFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CkBAIC0y
MDQsMTkgKzE4Nyw5IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0CiAgICAgICAgIGQtPm1fZmly
c3RSZXF1ZXN0LnNldFVSTCh1cmxXaXRoQ3JlZGVudGlhbHMpOwogICAgIH0KICAgICBkLT5tX2Nv
bnRleHQgPSBjb250ZXh0OwotICAgIGQtPm1fam9iID0gbmV3IFFOZXR3b3JrUmVwbHlIYW5kbGVy
KGhhbmRsZS5nZXQoKSwgUU5ldHdvcmtSZXBseUhhbmRsZXI6OlN5bmNocm9ub3VzTG9hZCk7Ci0K
LSAgICBRTmV0d29ya1JlcGx5KiByZXBseSA9IGQtPm1fam9iLT5yZXBseSgpOwotICAgIC8vIFdo
ZW4gdXNpbmcgc3luY2hyb25vdXMgY2FsbHMsIHdlIGFyZSBmaW5pc2hlZCB3aGVuIHJlYWNoaW5n
IHRoaXMgcG9pbnQuCi0gICAgaWYgKHJlcGx5LT5pc0ZpbmlzaGVkKCkpIHsKLSAgICAgICAgc3lu
Y0xvYWRlci5zZXRSZXBseUZpbmlzaGVkKHRydWUpOwotICAgICAgICBkLT5tX2pvYi0+c3luY2hy
b25vdXNMb2FkKCk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHN5bmNMb2FkZXIud2FpdEZvckNvbXBs
ZXRpb24oKTsKLQotICAgIGVycm9yID0gc3luY0xvYWRlci5yZXNvdXJjZUVycm9yKCk7Ci0gICAg
ZGF0YSA9IHN5bmNMb2FkZXIuZGF0YSgpOwotICAgIHJlc3BvbnNlID0gc3luY0xvYWRlci5yZXNv
dXJjZVJlc3BvbnNlKCk7CisgICAgLy8gc3RhcnRpbmcgaW4gZGVmZXJyZWQgbW9kZSBnaXZlcyBk
LT5tX2pvYiB0aGUgY2hhbmNlIG9mIGJlaW5nIHNldCBiZWZvcmUgc2VuZGluZyB0aGUgcmVxdWVz
dC4KKyAgICBkLT5tX2pvYiA9IG5ldyBRTmV0d29ya1JlcGx5SGFuZGxlcihoYW5kbGUuZ2V0KCks
IFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpTeW5jaHJvbm91c0xvYWQsIHRydWUpOworICAgIGQtPm1f
am9iLT5zZXRMb2FkaW5nRGVmZXJyZWQoZmFsc2UpOwogfQogCiB2b2lkIFJlc291cmNlSGFuZGxl
OjpwbGF0Zm9ybVNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCi0tIAoxLjcuMQoK
</data>
<flag name="review"
          id="81927"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89296</attachid>
            <date>2011-04-12 16:04:28 -0700</date>
            <delta_ts>2011-04-12 16:10:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Qt-QNetworkReplyHandler-refactoring-remove-nested-ev.patch</filename>
            <type>text/plain</type>
            <size>8887</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSBiZmUyNDIwYjBkMDUzM2VmZGMwMTNiN2MyN2Q3ZWVlNDJkNTgwNjFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMTIgQXByIDIwMTEgMjA6MDE6MzYgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIFFOZXR3b3JrUmVwbHlIYW5kbGVyIHJlZmFjdG9yaW5nOiByZW1vdmUgbmVzdGVk
IGV2ZW50IGxvb3AuCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgz
NzUKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKQXMgUU5BTSBub3cgbWFrZXMgYWN0dWFs
IHN5bmNocm9ub3VzIGxvYWRzIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGEgbmVzdGVkIGV2ZW50IGxv
b3AKaW4gUmVzb3VyY2VIYW5kbGVRdC4KCk1vdmluZyB0aGUgY2FsbCBmb3IgUU5ldHdvcmtSZXBs
eVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCBmcm9tClJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5IHRvIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzdGFydCBmb3IgdGhlCnJl
ZGlyZWN0aW9ucyB0byB3b3JrIGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLgoKKiBwbGF0Zm9ybS9u
ZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKFdlYkNvcmU6OlFOZXR3b3JrUmVw
bHlIYW5kbGVyOjpzdGFydCk6CiogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFu
ZGxlci5oOgoqIHBsYXRmb3JtL25ldHdvcmsvcXQvUmVzb3VyY2VIYW5kbGVRdC5jcHA6CihXZWJD
b3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik6
CihXZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CihXZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToKKFdl
YkNvcmU6OldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6CihXZWJD
b3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZEZhaWwpOgooV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgotLS0KIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyNSArKysrKysKIC4uLi9w
bGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCAgIHwgICAgNyArLS0K
IC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmggICAgIHwgICAg
NSArLQogLi4uL3BsYXRmb3JtL25ldHdvcmsvcXQvUmVzb3VyY2VIYW5kbGVRdC5jcHAgICAgICAg
fCAgIDg2ICsrKysrLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlv
bnMoKyksIDc2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNjU4ZjY1Li42NWU4MTE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDQtMTIgIEx1aXogQWdvc3RpbmkgIDxs
dWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW1F0XSBRTmV0d29ya1JlcGx5SGFuZGxlciByZWZhY3Rvcmlu
ZzogcmVtb3ZlIG5lc3RlZCBldmVudCBsb29wLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgzNzUKKworICAgICAgICBBcyBRTkFNIG5vdyBtYWtlcyBh
Y3R1YWwgc3luY2hyb25vdXMgbG9hZHMgdGhlcmUgaXMgbm8gbmVlZCBmb3IgYSBuZXN0ZWQgZXZl
bnQgbG9vcAorICAgICAgICBpbiBSZXNvdXJjZUhhbmRsZVF0LgorCisgICAgICAgIE1vdmluZyB0
aGUgY2FsbCBmb3IgUU5ldHdvcmtSZXBseVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCBmcm9tCisg
ICAgICAgIFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5IHRvIFFOZXR3
b3JrUmVwbHlIYW5kbGVyOjpzdGFydCBmb3IgdGhlCisgICAgICAgIHJlZGlyZWN0aW9ucyB0byB3
b3JrIGluIHN5bmNocm9ub3VzIHJlcXVlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29y
a1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUU5l
dHdvcmtSZXBseUhhbmRsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291
cmNlSGFuZGxlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJDb3JlU3luY2hyb25vdXNMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyOjpkaWRGYWlsKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToK
KwogMjAxMS0wNC0xMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmluZGV4IDQ4
YzNhYTEuLjUzMTczNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCkBAIC02MjUsNiArNjI1LDcg
QEAgdm9pZCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQoKQogICAgIG1fcmVwbHlXcmFwcGVy
ID0gbmV3IFFOZXR3b3JrUmVwbHlXcmFwcGVyKCZtX3F1ZXVlLCByZXBseSwgdGhpcyk7CiAKICAg
ICBpZiAobV9sb2FkVHlwZSA9PSBTeW5jaHJvbm91c0xvYWQgJiYgbV9yZXBseVdyYXBwZXItPnJl
cGx5KCktPmlzRmluaXNoZWQoKSkgeworICAgICAgICBtX3JlcGx5V3JhcHBlci0+c3luY2hyb25v
dXNMb2FkKCk7CiAgICAgICAgIC8vIElmIHN1cHBvcnRlZCwgYSBzeW5jaHJvbm91cyByZXF1ZXN0
IHdpbGwgYmUgZmluaXNoZWQgYXQgdGhpcyBwb2ludCwgbm8gbmVlZCB0byBob29rIHVwIHRoZSBz
aWduYWxzLgogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjMzLDEyICs2MzQsNiBAQCB2b2lk
IFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzdGFydCgpCiAgICAgICAgIGNvbm5lY3QobV9yZXBseVdy
YXBwZXItPnJlcGx5KCksIFNJR05BTCh1cGxvYWRQcm9ncmVzcyhxaW50NjQsIHFpbnQ2NCkpLCB0
aGlzLCBTTE9UKHVwbG9hZFByb2dyZXNzKHFpbnQ2NCwgcWludDY0KSkpOwogfQogCi12b2lkIFFO
ZXR3b3JrUmVwbHlIYW5kbGVyOjpzeW5jaHJvbm91c0xvYWQoKQotewotICAgIGlmIChtX3JlcGx5
V3JhcHBlcikKLSAgICAgICAgbV9yZXBseVdyYXBwZXItPnN5bmNocm9ub3VzTG9hZCgpOwotfQot
CiB9CiAKICNpbmNsdWRlICJtb2NfUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFu
ZGxlci5oCmluZGV4IDBhNTdjZTMuLjQ1MjM5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKQEAgLTEw
NiwxMiArMTA2LDExIEBAIHB1YmxpYzoKIAogICAgIFFOZXR3b3JrUmVwbHkqIHJlbGVhc2UoKTsK
IAotICAgIHZvaWQgc3luY2hyb25vdXNMb2FkKCk7Ci0KLXB1YmxpYyBzbG90czoKICAgICB2b2lk
IGZpbmlzaCgpOwogICAgIHZvaWQgc2VuZFJlc3BvbnNlSWZOZWVkZWQoKTsKICAgICB2b2lkIGZv
cndhcmREYXRhKCk7CisKK3B1YmxpYyBzbG90czoKICAgICB2b2lkIHVwbG9hZFByb2dyZXNzKHFp
bnQ2NCBieXRlc1NlbnQsIHFpbnQ2NCBieXRlc1RvdGFsKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUmVzb3VyY2VIYW5kbGVRdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1Jlc291cmNlSGFuZGxlUXQu
Y3BwCmluZGV4IGRjZWQ3YjIuLmMxNmEyNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUmVzb3VyY2VIYW5kbGVRdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZUhhbmRsZVF0LmNwcApAQCAtNTMsNjIgKzUz
LDIyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXZWJDb3Jl
U3luY2hyb25vdXNMb2FkZXIoKTsKLQotICAgIHZvaWQgd2FpdEZvckNvbXBsZXRpb24oKTsKLQot
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VIYW5kbGUqLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKFJl
c291cmNlSGFuZGxlKiwgY29uc3QgY2hhciosIGludCwgaW50IGxlbmd0aFJlY2VpdmVkKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSosIGRvdWJsZSAv
KmZpbmlzaFRpbWUqLyk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoUmVzb3VyY2VIYW5kbGUq
LCBjb25zdCBSZXNvdXJjZUVycm9yJik7Ci0KLSAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc291cmNl
UmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlOyB9Ci0gICAgUmVzb3VyY2VFcnJv
ciByZXNvdXJjZUVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcjsgfQotICAgIFZlY3Rvcjxj
aGFyPiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhOyB9Ci0KLSAgICB2b2lkIHNldFJlcGx5
RmluaXNoZWQoYm9vbCBmaW5pc2hlZCkgeyBtX3JlcGx5RmluaXNoZWQgPSBmaW5pc2hlZDsgfQot
CisgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBSZXNvdXJjZUVycm9yJiBlcnJvciwgVmVjdG9yPGNoYXI+JiBkYXRhKQorICAgICAgICA6IG1f
cmVzcG9uc2UocmVzcG9uc2UpCisgICAgICAgICwgbV9lcnJvcihlcnJvcikKKyAgICAgICAgLCBt
X2RhdGEoZGF0YSkKKyAgICB7fQorCisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25z
ZShSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKSB7IG1f
cmVzcG9uc2UgPSByZXNwb25zZTsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShS
ZXNvdXJjZUhhbmRsZSosIGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgsIGludCkgeyBtX2Rh
dGEuYXBwZW5kKGRhdGEsIGxlbmd0aCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9h
ZGluZyhSZXNvdXJjZUhhbmRsZSosIGRvdWJsZSAvKmZpbmlzaFRpbWUqLykge30KKyAgICB2aXJ0
dWFsIHZvaWQgZGlkRmFpbChSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFJlc291cmNlRXJyb3ImIGVy
cm9yKSB7IG1fZXJyb3IgPSBlcnJvcjsgfQogcHJpdmF0ZToKLSAgICBSZXNvdXJjZVJlc3BvbnNl
IG1fcmVzcG9uc2U7Ci0gICAgUmVzb3VyY2VFcnJvciBtX2Vycm9yOwotICAgIFZlY3RvcjxjaGFy
PiBtX2RhdGE7Ci0gICAgUUV2ZW50TG9vcCBtX2V2ZW50TG9vcDsKLSAgICBib29sIG1fcmVwbHlG
aW5pc2hlZDsKKyAgICBSZXNvdXJjZVJlc3BvbnNlJiBtX3Jlc3BvbnNlOworICAgIFJlc291cmNl
RXJyb3ImIG1fZXJyb3I7CisgICAgVmVjdG9yPGNoYXI+JiBtX2RhdGE7CiB9OwogCi1XZWJDb3Jl
U3luY2hyb25vdXNMb2FkZXI6OldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpCi0gICAgICAgIDog
bV9yZXBseUZpbmlzaGVkKGZhbHNlKQotewotfQotCi12b2lkIFdlYkNvcmVTeW5jaHJvbm91c0xv
YWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCi17Ci0gICAgbV9yZXNwb25zZSA9IHJlc3BvbnNlOwotfQotCi12
b2lkIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoUmVzb3VyY2VIYW5k
bGUqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBpbnQpCi17Ci0gICAgbV9kYXRhLmFw
cGVuZChkYXRhLCBsZW5ndGgpOwotfQotCi12b2lkIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6
ZGlkRmluaXNoTG9hZGluZyhSZXNvdXJjZUhhbmRsZSosIGRvdWJsZSkKLXsKLSAgICBpZiAoIW1f
cmVwbHlGaW5pc2hlZCkKLSAgICAgICAgbV9ldmVudExvb3AuZXhpdCgpOwotfQotCi12b2lkIFdl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSosIGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQotewotICAgIG1fZXJyb3IgPSBlcnJvcjsKLSAgICBpZiAoIW1f
cmVwbHlGaW5pc2hlZCkKLSAgICAgICAgbV9ldmVudExvb3AuZXhpdCgpOwotfQotCi12b2lkIFdl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcjo6d2FpdEZvckNvbXBsZXRpb24oKQotewotICAgIG1fZXZl
bnRMb29wLmV4ZWMoUUV2ZW50TG9vcDo6RXhjbHVkZVVzZXJJbnB1dEV2ZW50cyk7Ci19Ci0KIFJl
c291cmNlSGFuZGxlSW50ZXJuYWw6On5SZXNvdXJjZUhhbmRsZUludGVybmFsKCkKIHsKIH0KQEAg
LTE5MSw3ICsxNTEsNyBAQCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUmVzb3VyY2VIYW5kbGU6
OmJ1ZmZlcmVkRGF0YSgpCiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlhbHMgLypzdG9yZWRDcmVkZW50aWFscyovLCBSZXNv
dXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3RvcjxjaGFy
PiYgZGF0YSkKIHsKLSAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgc3luY0xvYWRlcjsKKyAg
ICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgc3luY0xvYWRlcihyZXNwb25zZSwgZXJyb3IsIGRh
dGEpOwogICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gYWRvcHRSZWYobmV3IFJl
c291cmNlSGFuZGxlKHJlcXVlc3QsICZzeW5jTG9hZGVyLCB0cnVlLCBmYWxzZSkpOwogCiAgICAg
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKQEAgLTIw
NCwxOSArMTY0LDExIEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0CiAgICAgICAgIGQtPm1fZmly
c3RSZXF1ZXN0LnNldFVSTCh1cmxXaXRoQ3JlZGVudGlhbHMpOwogICAgIH0KICAgICBkLT5tX2Nv
bnRleHQgPSBjb250ZXh0OwotICAgIGQtPm1fam9iID0gbmV3IFFOZXR3b3JrUmVwbHlIYW5kbGVy
KGhhbmRsZS5nZXQoKSwgUU5ldHdvcmtSZXBseUhhbmRsZXI6OlN5bmNocm9ub3VzTG9hZCk7Ci0K
LSAgICBRTmV0d29ya1JlcGx5KiByZXBseSA9IGQtPm1fam9iLT5yZXBseSgpOwotICAgIC8vIFdo
ZW4gdXNpbmcgc3luY2hyb25vdXMgY2FsbHMsIHdlIGFyZSBmaW5pc2hlZCB3aGVuIHJlYWNoaW5n
IHRoaXMgcG9pbnQuCi0gICAgaWYgKHJlcGx5LT5pc0ZpbmlzaGVkKCkpIHsKLSAgICAgICAgc3lu
Y0xvYWRlci5zZXRSZXBseUZpbmlzaGVkKHRydWUpOwotICAgICAgICBkLT5tX2pvYi0+c3luY2hy
b25vdXNMb2FkKCk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHN5bmNMb2FkZXIud2FpdEZvckNvbXBs
ZXRpb24oKTsKLQotICAgIGVycm9yID0gc3luY0xvYWRlci5yZXNvdXJjZUVycm9yKCk7Ci0gICAg
ZGF0YSA9IHN5bmNMb2FkZXIuZGF0YSgpOwotICAgIHJlc3BvbnNlID0gc3luY0xvYWRlci5yZXNv
dXJjZVJlc3BvbnNlKCk7CisKKyAgICAvLyBzdGFydGluZyBpbiBkZWZlcnJlZCBtb2RlIGdpdmVz
IGQtPm1fam9iIHRoZSBjaGFuY2Ugb2YgYmVpbmcgc2V0IGJlZm9yZSBzZW5kaW5nIHRoZSByZXF1
ZXN0LgorICAgIFFOZXR3b3JrUmVwbHlIYW5kbGVyKiByZXBseUhhbmRsZXIgPSBuZXcgUU5ldHdv
cmtSZXBseUhhbmRsZXIoaGFuZGxlLmdldCgpLCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6U3luY2hy
b25vdXNMb2FkLCB0cnVlKTsKKyAgICBkLT5tX2pvYiA9IHJlcGx5SGFuZGxlcjsKKyAgICBkLT5t
X2pvYi0+c2V0TG9hZGluZ0RlZmVycmVkKGZhbHNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQotLSAKMS43LjEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>