<?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>136212</bug_id>
          
          <creation_ts>2014-08-25 02:48:38 -0700</creation_ts>
          <short_desc>[TexMap] Use std::sort instead of qsort in TextureMapperLayer::sortByZOrder()</short_desc>
          <delta_ts>2015-01-07 05:19:28 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1031078</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-25 02:48:38 -0700</bug_when>
    <thetext>[TexMap] Use std::sort instead of qsort in TextureMapperLayer::sortByZOrder()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031079</commentid>
    <comment_count>1</comment_count>
      <attachid>237069</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-25 02:54:23 -0700</bug_when>
    <thetext>Created attachment 237069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031080</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-25 02:55:51 -0700</bug_when>
    <thetext>Attachment 237069 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:156:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 3 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>1031083</commentid>
    <comment_count>3</comment_count>
      <attachid>237069</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-08-25 03:12:04 -0700</bug_when>
    <thetext>Comment on attachment 237069
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:157
&gt; +            return a-&gt;m_centerZ &lt; b-&gt;m_centerZ * 1000;

why &quot;* 1000&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045348</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-10-31 12:37:25 -0700</bug_when>
    <thetext>It&apos;s not clear from this bug why the change is being proposed. Do you find that std::sort is quicker than qsort, or has better memory characteristics?

Could you include that in the ChangeLog to give context?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045349</commentid>
    <comment_count>5</comment_count>
      <attachid>237069</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-10-31 12:38:12 -0700</bug_when>
    <thetext>Comment on attachment 237069
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:157
&gt;&gt; +            return a-&gt;m_centerZ &lt; b-&gt;m_centerZ * 1000;
&gt; 
&gt; why &quot;* 1000&quot; ?

That&apos;s the same as was used in the original compareGraphicsLayerZValue method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045592</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-11-02 02:57:55 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; It&apos;s not clear from this bug why the change is being proposed. Do you find
&gt; that std::sort is quicker than qsort, or has better memory characteristics?
&gt; 
&gt; Could you include that in the ChangeLog to give context?

std::sort() can be faster due to ideally inlining the comparison function.

There are a couple of issues with rendering when std::sort() is used instead of qsort. I&apos;ll look into that first and then update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045593</commentid>
    <comment_count>7</comment_count>
      <attachid>237069</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-11-02 03:02:38 -0800</bug_when>
    <thetext>Comment on attachment 237069
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:157
&gt;&gt;&gt; +            return a-&gt;m_centerZ &lt; b-&gt;m_centerZ * 1000;
&gt;&gt; 
&gt;&gt; why &quot;* 1000&quot; ?
&gt; 
&gt; That&apos;s the same as was used in the original compareGraphicsLayerZValue method.

I kept the same comparison that was used for qsort. But I don&apos;t know off the top of my head why 1000 is used here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057995</commentid>
    <comment_count>8</comment_count>
      <attachid>237069</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-12-27 13:36:47 -0800</bug_when>
    <thetext>Comment on attachment 237069
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:157
&gt;&gt;&gt;&gt; +            return a-&gt;m_centerZ &lt; b-&gt;m_centerZ * 1000;
&gt;&gt;&gt; 
&gt;&gt;&gt; why &quot;* 1000&quot; ?
&gt;&gt; 
&gt;&gt; That&apos;s the same as was used in the original compareGraphicsLayerZValue method.
&gt; 
&gt; I kept the same comparison that was used for qsort. But I don&apos;t know off the top of my head why 1000 is used here.

That * 1000 is absolutely *not* the same as what was in the original function!

The original subtracts two floats and then multiplies the difference times 1000 to convert them to an integer that the sort algorithm can use. Look carefully at where the parentheses are.

This new code multiplies only b’s value by 1000. That’s not right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1058686</commentid>
    <comment_count>9</comment_count>
      <attachid>237069</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-05 03:26:07 -0800</bug_when>
    <thetext>Comment on attachment 237069
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:157
&gt;&gt;&gt;&gt;&gt; +            return a-&gt;m_centerZ &lt; b-&gt;m_centerZ * 1000;
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; why &quot;* 1000&quot; ?
&gt;&gt;&gt; 
&gt;&gt;&gt; That&apos;s the same as was used in the original compareGraphicsLayerZValue method.
&gt;&gt; 
&gt;&gt; I kept the same comparison that was used for qsort. But I don&apos;t know off the top of my head why 1000 is used here.
&gt; 
&gt; That * 1000 is absolutely *not* the same as what was in the original function!
&gt; 
&gt; The original subtracts two floats and then multiplies the difference times 1000 to convert them to an integer that the sort algorithm can use. Look carefully at where the parentheses are.
&gt; 
&gt; This new code multiplies only b’s value by 1000. That’s not right.

Well, that turned out embarrassing.

Thanks for spotting it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059063</commentid>
    <comment_count>10</comment_count>
      <attachid>244075</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-06 11:05:59 -0800</bug_when>
    <thetext>Created attachment 244075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059066</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-06 11:08:56 -0800</bug_when>
    <thetext>Attachment 244075 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:156:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 2 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>1059377</commentid>
    <comment_count>12</comment_count>
      <attachid>244075</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-07 05:19:19 -0800</bug_when>
    <thetext>Comment on attachment 244075
Patch

Clearing flags on attachment: 244075

Committed r178035: &lt;http://trac.webkit.org/changeset/178035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059378</commentid>
    <comment_count>13</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-07 05:19:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237069</attachid>
            <date>2014-08-25 02:54:23 -0700</date>
            <delta_ts>2015-01-06 11:05:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136212-20140825025414.patch</filename>
            <type>text/plain</type>
            <size>3200</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MjkwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA4LTI1ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbVGV4TWFwXSBVc2Ugc3Rk
Ojpzb3J0IGluc3RlYWQgb2YgcXNvcnQgaW4gVGV4dHVyZU1hcHBlckxheWVyOjpzb3J0QnlaT3Jk
ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2
MjEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNl
IHN0ZDo6c29ydCgpIGluc3RlYWQgb2YgcXNvcnQoKSB0byBzb3J0IHRoZSBUZXh0dXJlTWFwcGVy
TGF5ZXIgb2JqZWN0cworICAgICAgICBieSB0aGVpciB6LW9yZGVyLiBBIGxhbWJkYSBleHByZXNz
aW9uIGNhbiBiZSB1c2VkIHRvIGNvbXBhcmUgdGhlIG1fY2VudGVyWiAKKyAgICAgICAgbWVtYmVy
IHZhcmlhYmxlcyBvZiBhbnkgdHdvIFRleHR1cmVNYXBwZXJMYXllcnMuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6c29ydEJ5Wk9yZGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6Y29tcGFyZUdyYXBoaWNzTGF5ZXJzWlZhbHVlKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckxheWVyLmg6CisKIDIwMTQtMDgtMjUgIFNoaXZha3VtYXIgSk0gIDxzaGl2YS5qbUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBXZWIgQ29yZTogRml4IHVudXNlZCBwYXJhbWV0ZXIgYnVpbGQgd2Fy
bmluZy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyTGF5ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCShyZXZpc2lvbiAxNzI5MDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckxheWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUwLDE2ICsxNTAsMTIgQEAgdm9pZCBUZXh0
dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZihjb25zdAogICAgICAgICBtX2NvbnRlbnRzTGF5ZXIt
PmRyYXdCb3JkZXIob3B0aW9ucy50ZXh0dXJlTWFwcGVyLCBtX3N0YXRlLmRlYnVnQm9yZGVyQ29s
b3IsIG1fc3RhdGUuZGVidWdCb3JkZXJXaWR0aCwgbV9zdGF0ZS5jb250ZW50c1JlY3QsIHRyYW5z
Zm9ybSk7CiB9CiAKLWludCBUZXh0dXJlTWFwcGVyTGF5ZXI6OmNvbXBhcmVHcmFwaGljc0xheWVy
c1pWYWx1ZShjb25zdCB2b2lkKiBhLCBjb25zdCB2b2lkKiBiKQordm9pZCBUZXh0dXJlTWFwcGVy
TGF5ZXI6OnNvcnRCeVpPcmRlcihWZWN0b3I8VGV4dHVyZU1hcHBlckxheWVyKj4mIGFycmF5KQog
ewotICAgIFRleHR1cmVNYXBwZXJMYXllciogY29uc3QqIGxheWVyQSA9IHN0YXRpY19jYXN0PFRl
eHR1cmVNYXBwZXJMYXllciogY29uc3QqPihhKTsKLSAgICBUZXh0dXJlTWFwcGVyTGF5ZXIqIGNv
bnN0KiBsYXllckIgPSBzdGF0aWNfY2FzdDxUZXh0dXJlTWFwcGVyTGF5ZXIqIGNvbnN0Kj4oYik7
Ci0gICAgcmV0dXJuIGludCgoKCpsYXllckEpLT5tX2NlbnRlclogLSAoKmxheWVyQiktPm1fY2Vu
dGVyWikgKiAxMDAwKTsKLX0KLQotdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnNvcnRCeVpPcmRl
cihWZWN0b3I8VGV4dHVyZU1hcHBlckxheWVyKiA+JiBhcnJheSkKLXsKLSAgICBxc29ydChhcnJh
eS5kYXRhKCksIGFycmF5LnNpemUoKSwgc2l6ZW9mKFRleHR1cmVNYXBwZXJMYXllciopLCBjb21w
YXJlR3JhcGhpY3NMYXllcnNaVmFsdWUpOworICAgIHN0ZDo6c29ydChhcnJheS5iZWdpbigpLCBh
cnJheS5lbmQoKSwKKyAgICAgICAgW10oVGV4dHVyZU1hcHBlckxheWVyKiBhLCBUZXh0dXJlTWFw
cGVyTGF5ZXIqIGIpIHsKKyAgICAgICAgICAgIHJldHVybiBhLT5tX2NlbnRlclogPCBiLT5tX2Nl
bnRlclogKiAxMDAwOworICAgICAgICB9KTsKIH0KIAogdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6
OnBhaW50U2VsZkFuZENoaWxkcmVuKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9w
dGlvbnMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckxheWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCShyZXZpc2lvbiAxNzI5MDApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxh
eWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw4ICsxNDQsNyBAQCBwcml2YXRlOgogICAgIH0K
ICAgICB2b2lkIGNvbXB1dGVUcmFuc2Zvcm1zUmVjdXJzaXZlKCk7CiAKLSAgICBzdGF0aWMgaW50
IGNvbXBhcmVHcmFwaGljc0xheWVyc1pWYWx1ZShjb25zdCB2b2lkKiBhLCBjb25zdCB2b2lkKiBi
KTsKLSAgICBzdGF0aWMgdm9pZCBzb3J0QnlaT3JkZXIoVmVjdG9yPFRleHR1cmVNYXBwZXJMYXll
ciogPiYgYXJyYXkpOworICAgIHN0YXRpYyB2b2lkIHNvcnRCeVpPcmRlcihWZWN0b3I8VGV4dHVy
ZU1hcHBlckxheWVyKj4mIGFycmF5KTsKIAogICAgIFBhc3NSZWZQdHI8Qml0bWFwVGV4dHVyZT4g
dGV4dHVyZSgpIHsgcmV0dXJuIG1fYmFja2luZ1N0b3JlID8gbV9iYWNraW5nU3RvcmUtPnRleHR1
cmUoKSA6IDA7IH0KICAgICBGbG9hdFBvaW50IGFkanVzdGVkUG9zaXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX3N0YXRlLnBvcyArIG1fc2Nyb2xsUG9zaXRpb25EZWx0YSAtIG1fdXNlclNjcm9sbE9m
ZnNldDsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244075</attachid>
            <date>2015-01-06 11:05:59 -0800</date>
            <delta_ts>2015-01-07 05:19:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136212-20150106110756.patch</filename>
            <type>text/plain</type>
            <size>3185</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3OTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDIxZmM5Yjc1ZDRiNTEz
NTY0YzNhZmJkMDJhYjA3Yzc4NjI5YzNkZS4uNWE4YWFkYmQ4MjU5NWYzMzdjZWViNmMwMDk0YTZm
ZmYxY2ZjZTBhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTAxLTA2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbVGV4TWFwXSBVc2Ug
c3RkOjpzb3J0IGluc3RlYWQgb2YgcXNvcnQgaW4gVGV4dHVyZU1hcHBlckxheWVyOjpzb3J0Qnla
T3JkZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTM2MjEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXNlIHN0ZDo6c29ydCgpIGluc3RlYWQgb2YgcXNvcnQoKSB0byBzb3J0IHRoZSBUZXh0dXJlTWFw
cGVyTGF5ZXIgb2JqZWN0cworICAgICAgICBieSB0aGVpciB6LW9yZGVyLiBBIGxhbWJkYSBleHBy
ZXNzaW9uIGNhbiBiZSB1c2VkIHRvIGNvbXBhcmUgdGhlIG1fY2VudGVyWiAKKyAgICAgICAgbWVt
YmVyIHZhcmlhYmxlcyBvZiBhbnkgdHdvIFRleHR1cmVNYXBwZXJMYXllcnMuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6c29ydEJ5Wk9yZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6Y29tcGFyZUdyYXBoaWNzTGF5ZXJzWlZhbHVl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckxheWVyLmg6CisKIDIwMTUtMDEtMDYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlc29sdmUgbWlycm9yaW5nIGFuZCB2YXJpYW50IGluIEZvbnQgaW5z
dGVhZCBvZiBGb250R2x5cGhzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCmluZGV4IDJkYTNl
MjIwYTEzYmQ3ZTNjYjk3NmZmNDdkZDdlMWIzMjI2NGRmZjUuLjhlNDllODcxODkyNjlmMzZhNWIz
YjBhM2EzM2JhYjQ2ZmU2YWZhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwCkBAIC0x
NTAsMTYgKzE1MCwxMiBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmKGNvbnN0
IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCiAgICAgICAgIG1fY29udGVudHNM
YXllci0+ZHJhd0JvcmRlcihvcHRpb25zLnRleHR1cmVNYXBwZXIsIG1fc3RhdGUuZGVidWdCb3Jk
ZXJDb2xvciwgbV9zdGF0ZS5kZWJ1Z0JvcmRlcldpZHRoLCBtX3N0YXRlLmNvbnRlbnRzUmVjdCwg
dHJhbnNmb3JtKTsKIH0KIAotaW50IFRleHR1cmVNYXBwZXJMYXllcjo6Y29tcGFyZUdyYXBoaWNz
TGF5ZXJzWlZhbHVlKGNvbnN0IHZvaWQqIGEsIGNvbnN0IHZvaWQqIGIpCi17Ci0gICAgVGV4dHVy
ZU1hcHBlckxheWVyKiBjb25zdCogbGF5ZXJBID0gc3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckxh
eWVyKiBjb25zdCo+KGEpOwotICAgIFRleHR1cmVNYXBwZXJMYXllciogY29uc3QqIGxheWVyQiA9
IHN0YXRpY19jYXN0PFRleHR1cmVNYXBwZXJMYXllciogY29uc3QqPihiKTsKLSAgICByZXR1cm4g
aW50KCgoKmxheWVyQSktPm1fY2VudGVyWiAtICgqbGF5ZXJCKS0+bV9jZW50ZXJaKSAqIDEwMDAp
OwotfQotCiB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c29ydEJ5Wk9yZGVyKFZlY3RvcjxUZXh0
dXJlTWFwcGVyTGF5ZXIqID4mIGFycmF5KQogewotICAgIHFzb3J0KGFycmF5LmRhdGEoKSwgYXJy
YXkuc2l6ZSgpLCBzaXplb2YoVGV4dHVyZU1hcHBlckxheWVyKiksIGNvbXBhcmVHcmFwaGljc0xh
eWVyc1pWYWx1ZSk7CisgICAgc3RkOjpzb3J0KGFycmF5LmJlZ2luKCksIGFycmF5LmVuZCgpLAor
ICAgICAgICBbXShUZXh0dXJlTWFwcGVyTGF5ZXIqIGEsIFRleHR1cmVNYXBwZXJMYXllciogYikg
eworICAgICAgICAgICAgcmV0dXJuIGEtPm1fY2VudGVyWiA8IGItPm1fY2VudGVyWjsKKyAgICAg
ICAgfSk7CiB9CiAKIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJl
bihjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXll
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJMYXllci5oCmluZGV4IDE0MGEwZWQyYzc3Y2Q1NjM2OWNmODhjZTc2MjhmMjk1YmE2OTc3NDIu
LmE0N2EwYzlmZjhkZDFkOGY0OGFkOGNhMjYwNzA0NWU3MjEwMzJjMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckxheWVyLmgKQEAgLTEzOCw3ICsxMzgsNiBAQCBwcml2YXRlOgogICAgIH0KICAgICB2b2lk
IGNvbXB1dGVUcmFuc2Zvcm1zUmVjdXJzaXZlKCk7CiAKLSAgICBzdGF0aWMgaW50IGNvbXBhcmVH
cmFwaGljc0xheWVyc1pWYWx1ZShjb25zdCB2b2lkKiBhLCBjb25zdCB2b2lkKiBiKTsKICAgICBz
dGF0aWMgdm9pZCBzb3J0QnlaT3JkZXIoVmVjdG9yPFRleHR1cmVNYXBwZXJMYXllciogPiYgYXJy
YXkpOwogCiAgICAgUGFzc1JlZlB0cjxCaXRtYXBUZXh0dXJlPiB0ZXh0dXJlKCkgeyByZXR1cm4g
bV9iYWNraW5nU3RvcmUgPyBtX2JhY2tpbmdTdG9yZS0+dGV4dHVyZSgpIDogMDsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>