<?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>163994</bug_id>
          
          <creation_ts>2016-10-25 16:18:50 -0700</creation_ts>
          <short_desc>[Win][Direct2D] Use smart pointers for Direct2D Path types</short_desc>
          <delta_ts>2016-10-25 19:00:39 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>163898</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>pvollan</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244519</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-25 16:18:50 -0700</bug_when>
    <thetext>Switch the D2D Path implementation to use a smart pointer for Direct2D native path types to reduce memory leaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244523</commentid>
    <comment_count>1</comment_count>
      <attachid>292843</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-25 16:28:34 -0700</bug_when>
    <thetext>Created attachment 292843
Patch

Strip the Path refactoring changes out of Bug 163898.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244526</commentid>
    <comment_count>2</comment_count>
      <attachid>292843</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-25 16:35:49 -0700</bug_when>
    <thetext>Comment on attachment 292843
Patch

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

&gt; Source/WebCore/platform/graphics/Path.h:172
&gt; +#if USE(DIRECT2D)
&gt; +        PlatformPathPtr platformPath() const { return m_path.get(); }
&gt; +#else
&gt;          PlatformPathPtr platformPath() const { return m_path; }
&gt; +#endif

It seems like other platforms ought to follow this and use smart pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244602</commentid>
    <comment_count>3</comment_count>
      <attachid>292843</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 19:00:34 -0700</bug_when>
    <thetext>Comment on attachment 292843
Patch

Clearing flags on attachment: 292843

Committed r207863: &lt;http://trac.webkit.org/changeset/207863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244603</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 19:00:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292843</attachid>
            <date>2016-10-25 16:28:34 -0700</date>
            <delta_ts>2016-10-25 19:00:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>path_update.patch</filename>
            <type>text/plain</type>
            <size>9975</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNzg1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE2LTEwLTI1ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dW0RpcmVjdDJEXSBV
c2Ugc21hcnQgcG9pbnRlcnMgZm9yIERpcmVjdDJEIFBhdGggdHlwZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzk5NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBwYXRo
IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oOgorICAgICAgICAo
V2ViQ29yZTo6UGF0aDo6cGxhdGZvcm1QYXRoKTogVXNlIGEgQ09NUHRyIGZvciBtX3BhdGguCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dERpcmVjdDJELmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c3lzdGVtRmFjdG9yeSk6IFBy
ZXNlbnQgYmV0dGVyIEQyRCBkZWJ1ZyBvdXRwdXQKKyAgICAgICAgd2hlbiBydW5uaW5nIGEgZGVi
dWcgYnVpbGQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnBsYXRmb3JtSW5p
dCk6IEluaXRpYWxpemUgYSBEMkQgZGV2aWNlIGZyb20gYQorICAgICAgICBuYXRpdmUgR0RJIGRl
dmljZSBjb250ZXh0LgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpwbGF0Zm9y
bVN0cm9rZVN0eWxlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6
OmNsaXBCb3VuZHMpOiBTaW1wbGlmeSBjbGlwIGJvdW5kYXJ5IGNhbGN1bGF0aW9ucyBhbmQKKyAg
ICAgICAgYXZvaWQgZG9pbmcgbWF0aCBvbiBpbmZpbml0aWVzLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9QYXRoRGlyZWN0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2NyYXRj
aFJlbmRlclRhcmdldCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6flBhdGgpOiBT
d2l0Y2ggdG8gQ09NUHRyIGltcGxlbWVudGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6
ZW5zdXJlUGxhdGZvcm1QYXRoKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQYXRoOjphcHBl
bmRHZW9tZXRyeSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGF0aDo6b3BlcmF0b3I9KTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQYXRoOjppbml0aWFsaXplUGF0aFN0YXRlKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpQYXRoOjpzdHJva2VDb250YWlucyk6IFByb3ZpZGUgYW4g
aW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpQYXRoOjp0cmFuc2Zvcm0pOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlBhdGg6OmFkZEVsbGlwc2UpOiBObyBuZWVkIGZvciBleHBs
aWNpdCBjb25zdHJ1Y3Rpb24gb2YgdGhlCisgICAgICAgIEQyRDE6OlBvaW50MkYgb2JqZWN0Lgor
ICAgICAgICAoV2ViQ29yZTo6UGF0aDo6Y2xlYXIpOiBTd2l0Y2ggdG8gQ09NUHRyIGltcGxlbWVu
dGF0aW9uLgorCiAyMDE2LTEwLTI1ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAog
ICAgICAgICBOdW1iZXJlZCBsaXN0IHNob3VsZCBiZSByZXByZXNlbnRlZCB3aXRob3V0IOKAmOKA
puKAmQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAkocmV2aXNp
b24gMjA3ODQxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjUsNyArMTY1LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgICAgICAvLyBUbyBrZWVwIFBhdGgoKSBjaGVhcCwgaXQgZG9lcyBub3QgYWxsb2NhdGUgYSBQ
bGF0Zm9ybVBhdGggaW1tZWRpYXRlbHkKICAgICAgICAgLy8gbWVhbmluZyBQYXRoOjpwbGF0Zm9y
bVBhdGgoKSBjYW4gcmV0dXJuIG51bGwuCisjaWYgVVNFKERJUkVDVDJEKQorICAgICAgICBQbGF0
Zm9ybVBhdGhQdHIgcGxhdGZvcm1QYXRoKCkgY29uc3QgeyByZXR1cm4gbV9wYXRoLmdldCgpOyB9
CisjZWxzZQogICAgICAgICBQbGF0Zm9ybVBhdGhQdHIgcGxhdGZvcm1QYXRoKCkgY29uc3QgeyBy
ZXR1cm4gbV9wYXRoOyB9CisjZW5kaWYKICAgICAgICAgLy8gZW5zdXJlUGxhdGZvcm1QYXRoKCkg
d2lsbCBhbGxvY2F0ZSBhIFBsYXRmb3JtUGF0aCBpZiBpdCBoYXMgbm90IHlldCBiZWVuIGFuZCB3
aWxsIG5ldmVyIHJldHVybiBudWxsLgogICAgICAgICBXRUJDT1JFX0VYUE9SVCBQbGF0Zm9ybVBh
dGhQdHIgZW5zdXJlUGxhdGZvcm1QYXRoKCk7CiAKQEAgLTE5OSwxMCArMjAzLDEyIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgUGxhdGZvcm1Q
YXRoUHRyIG1fcGF0aCB7IG51bGxwdHIgfTsKICNpZiBVU0UoRElSRUNUMkQpCisgICAgICAgIENP
TVB0cjxJRDJEMUdlb21ldHJ5R3JvdXA+IG1fcGF0aDsKICAgICAgICAgQ09NUHRyPElEMkQxUGF0
aEdlb21ldHJ5PiBtX2FjdGl2ZVBhdGhHZW9tZXRyeTsKICAgICAgICAgQ09NUHRyPElEMkQxR2Vv
bWV0cnlTaW5rPiBtX2FjdGl2ZVBhdGg7CisjZWxzZQorICAgICAgICBQbGF0Zm9ybVBhdGhQdHIg
bV9wYXRoIHsgbnVsbHB0ciB9OwogI2VuZGlmCiAgICAgfTsKIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dERpcmVjdDJELmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3ND
b250ZXh0RGlyZWN0MkQuY3BwCShyZXZpc2lvbiAyMDc4NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0RGlyZWN0MkQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MSw3ICs3MSwxMyBAQCBJRDJEMUZhY3RvcnkqIEdyYXBoaWNzQ29udGV4dDo6
c3lzdGVtRmFjCiB7CiAgICAgc3RhdGljIElEMkQxRmFjdG9yeSogZGlyZWN0MkRGYWN0b3J5ID0g
bnVsbHB0cjsKICAgICBpZiAoIWRpcmVjdDJERmFjdG9yeSkgeworI2lmbmRlZiBOREVCVUcKKyAg
ICAgICAgRDJEMV9GQUNUT1JZX09QVElPTlMgb3B0aW9ucyA9IHsgfTsKKyAgICAgICAgb3B0aW9u
cy5kZWJ1Z0xldmVsID0gRDJEMV9ERUJVR19MRVZFTF9JTkZPUk1BVElPTjsKKyAgICAgICAgSFJF
U1VMVCBociA9IEQyRDFDcmVhdGVGYWN0b3J5KEQyRDFfRkFDVE9SWV9UWVBFX01VTFRJX1RIUkVB
REVELCBvcHRpb25zLCAmZGlyZWN0MkRGYWN0b3J5KTsKKyNlbHNlCiAgICAgICAgIEhSRVNVTFQg
aHIgPSBEMkQxQ3JlYXRlRmFjdG9yeShEMkQxX0ZBQ1RPUllfVFlQRV9NVUxUSV9USFJFQURFRCwg
JmRpcmVjdDJERmFjdG9yeSk7CisjZW5kaWYKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoU1VDQ0VF
REVEKGhyKSk7CiAgICAgfQogCkBAIC0xMDgsNyArMTE0LDIzIEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpwbGF0Zm9ybUluaXQoSERDIGgKICAgICBpZiAoIWhkYykKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgQ09NUHRyPElEMkQxUmVuZGVyVGFyZ2V0PiByZW5kZXJUYXJnZXQ7CisgICAgSEJJVE1B
UCBiaXRtYXAgPSBzdGF0aWNfY2FzdDxIQklUTUFQPihHZXRDdXJyZW50T2JqZWN0KGhkYywgT0JK
X0JJVE1BUCkpOworCisgICAgRElCUGl4ZWxEYXRhIHBpeGVsRGF0YShiaXRtYXApOworCisgICAg
YXV0byB0YXJnZXRQcm9wZXJ0aWVzID0gRDJEMTo6UmVuZGVyVGFyZ2V0UHJvcGVydGllcygpOwor
ICAgIHRhcmdldFByb3BlcnRpZXMucGl4ZWxGb3JtYXQgPSBEMkQxOjpQaXhlbEZvcm1hdChEWEdJ
X0ZPUk1BVF9COEc4UjhBOF9VTk9STSwgRDJEMV9BTFBIQV9NT0RFX0lHTk9SRSk7CisKKyAgICBD
T01QdHI8SUQyRDFEQ1JlbmRlclRhcmdldD4gcmVuZGVyVGFyZ2V0OworICAgIEhSRVNVTFQgaHIg
PSBzeXN0ZW1GYWN0b3J5KCktPkNyZWF0ZURDUmVuZGVyVGFyZ2V0KCZ0YXJnZXRQcm9wZXJ0aWVz
LCAmcmVuZGVyVGFyZ2V0KTsKKyAgICBpZiAoIVNVQ0NFRURFRChocikpCisgICAgICAgIHJldHVy
bjsKKworICAgIFJFQ1QgY2xpZW50UmVjdCA9IEludFJlY3QoSW50UG9pbnQoKSwgcGl4ZWxEYXRh
LnNpemUoKSk7CisgICAgaHIgPSByZW5kZXJUYXJnZXQtPkJpbmREQyhoZGMsICZjbGllbnRSZWN0
KTsKKyAgICBpZiAoIVNVQ0NFRURFRChocikpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fZGF0
YSA9IG5ldyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUocmVuZGVyVGFyZ2V0LmdldCgp
KTsKICAgICBtX2RhdGEtPm1faGRjID0gaGRjOwogICAgIC8vIE1ha2Ugc3VyZSB0aGUgY29udGV4
dCBzdGFydHMgaW4gc3luYyB3aXRoIG91ciBzdGF0ZS4KQEAgLTY3MSw2ICs2OTMsMTEgQEAgSUQy
RDFTdHJva2VTdHlsZSogR3JhcGhpY3NDb250ZXh0UGxhdGZvcgogICAgIHJldHVybiBtX2QyZFN0
cm9rZVN0eWxlLmdldCgpOwogfQogCitJRDJEMVN0cm9rZVN0eWxlKiBHcmFwaGljc0NvbnRleHQ6
OnBsYXRmb3JtU3Ryb2tlU3R5bGUoKSBjb25zdAoreworICAgIHJldHVybiBtX2RhdGEtPnN0cm9r
ZVN0eWxlKCk7Cit9CisKIC8vIFRoaXMgaXMgb25seSB1c2VkIHRvIGRyYXcgYm9yZGVycy4KIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TGluZShjb25zdCBGbG9hdFBvaW50JiBwb2ludDEsIGNv
bnN0IEZsb2F0UG9pbnQmIHBvaW50MikKIHsKQEAgLTEyNDgsMTQgKzEyNzUsMTMgQEAgSW50UmVj
dCBHcmFwaGljc0NvbnRleHQ6OmNsaXBCb3VuZHMoKSBjbwogICAgICAgICByZXR1cm4gSW50UmVj
dCgtMjA0OCwgLTIwNDgsIDQwOTYsIDQwOTYpOyAvLyBGSVhNRTogZGlzcGxheSBsaXN0cy4KICAg
ICB9CiAKLSAgICBEMkQxX1JFQ1RfRiBkMmRDbGlwQm91bmRzID0gRDJEMTo6SW5maW5pdGVSZWN0
KCk7Ci0gICAgRmxvYXRSZWN0IGNsaXBCb3VuZHMoZDJkQ2xpcEJvdW5kcy5sZWZ0LCBkMmRDbGlw
Qm91bmRzLnRvcCwgZDJkQ2xpcEJvdW5kcy5yaWdodCAtIGQyZENsaXBCb3VuZHMubGVmdCwgZDJk
Q2xpcEJvdW5kcy5ib3R0b20gLSBkMmRDbGlwQm91bmRzLnRvcCk7CisgICAgRDJEMV9TSVpFX0Yg
Y2xpcFNpemU7CisgICAgaWYgKGF1dG8gY2xpcExheWVyID0gbV9kYXRhLT5jbGlwTGF5ZXIoKSkK
KyAgICAgICAgY2xpcFNpemUgPSBjbGlwTGF5ZXItPkdldFNpemUoKTsKKyAgICBlbHNlCisgICAg
ICAgIGNsaXBTaXplID0gcGxhdGZvcm1Db250ZXh0KCktPkdldFNpemUoKTsKIAotICAgIGlmICht
X2RhdGEtPmNsaXBMYXllcigpKSB7Ci0gICAgICAgIGF1dG8gY2xpcFNpemUgPSBtX2RhdGEtPmNs
aXBMYXllcigpLT5HZXRTaXplKCk7Ci0gICAgICAgIGNsaXBCb3VuZHMuc2V0V2lkdGgoY2xpcFNp
emUud2lkdGgpOwotICAgICAgICBjbGlwQm91bmRzLnNldEhlaWdodChjbGlwU2l6ZS5oZWlnaHQp
OwotICAgIH0KKyAgICBGbG9hdFJlY3QgY2xpcEJvdW5kcyhJbnRQb2ludCgpLCBjbGlwU2l6ZSk7
CiAKICAgICByZXR1cm4gZW5jbG9zaW5nSW50UmVjdChjbGlwQm91bmRzKTsKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9QYXRoRGlyZWN0MkQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9QYXRoRGlyZWN0
MkQuY3BwCShyZXZpc2lvbiAyMDc4NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUGF0aERpcmVjdDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsMTEg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgaW5saW5lIElEMkQxUmVuZGVyVGFy
Z2V0KiBzY3JhdGNoUmVuZGVyVGFyZ2V0KCkKK3sKKyAgICBzdGF0aWMgQ09NUHRyPElEMkQxUmVu
ZGVyVGFyZ2V0PiByZW5kZXJUYXJnZXQgPSBhZG9wdENPTShHcmFwaGljc0NvbnRleHQ6OmRlZmF1
bHRSZW5kZXJUYXJnZXQoKSk7CisgICAgcmV0dXJuIHJlbmRlclRhcmdldC5nZXQoKTsKK30KIAog
UGF0aCBQYXRoOjpwb2x5Z29uUGF0aEZyb21Qb2ludHMoY29uc3QgVmVjdG9yPEZsb2F0UG9pbnQ+
JiBwb2ludHMpCiB7CkBAIC03MCw4ICs3NSw2IEBAIFBhdGg6OlBhdGgoKQogCiBQYXRoOjp+UGF0
aCgpCiB7Ci0gICAgaWYgKG1fcGF0aCkKLSAgICAgICAgbV9wYXRoLT5SZWxlYXNlKCk7CiB9CiAK
IFBsYXRmb3JtUGF0aFB0ciBQYXRoOjplbnN1cmVQbGF0Zm9ybVBhdGgoKQpAQCAtODMsNyArODYs
NyBAQCBQbGF0Zm9ybVBhdGhQdHIgUGF0aDo6ZW5zdXJlUGxhdGZvcm1QYXRoCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gbV9wYXRoOworICAgIHJldHVy
biBtX3BhdGguZ2V0KCk7CiB9CiAKIHZvaWQgUGF0aDo6YXBwZW5kR2VvbWV0cnkoSUQyRDFHZW9t
ZXRyeSogZ2VvbWV0cnkpCkBAIC0xMDEsNyArMTA0LDcgQEAgdm9pZCBQYXRoOjphcHBlbmRHZW9t
ZXRyeShJRDJEMUdlb21ldHJ5KgogCiAgICAgYXV0byBmaWxsTW9kZSA9IG1fcGF0aCA/IG1fcGF0
aC0+R2V0RmlsbE1vZGUoKSA6IEQyRDFfRklMTF9NT0RFX1dJTkRJTkc7CiAKLSAgICBDT01QdHI8
SUQyRDFHZW9tZXRyeUdyb3VwPiBwcm90ZWN0ZWRQYXRoID0gYWRvcHRDT00obV9wYXRoKTsKKyAg
ICBDT01QdHI8SUQyRDFHZW9tZXRyeUdyb3VwPiBwcm90ZWN0ZWRQYXRoID0gbV9wYXRoOwogICAg
IG1fcGF0aCA9IG51bGxwdHI7CiAKICAgICBIUkVTVUxUIGhyID0gR3JhcGhpY3NDb250ZXh0Ojpz
eXN0ZW1GYWN0b3J5KCktPkNyZWF0ZUdlb21ldHJ5R3JvdXAoZmlsbE1vZGUsIGdlb21ldHJpZXMu
ZGF0YSgpLCBnZW9tZXRyaWVzLnNpemUoKSwgJm1fcGF0aCk7CkBAIC0xNjIsMTMgKzE2NSw3IEBA
IFBhdGg6OlBhdGgoY29uc3QgUGF0aCYgb3RoZXIpCiAKIFBhdGgmIFBhdGg6Om9wZXJhdG9yPShj
b25zdCBQYXRoJiBvdGhlcikKIHsKLSAgICBpZiAobV9wYXRoKQotICAgICAgICBtX3BhdGgtPlJl
bGVhc2UoKTsKLQogICAgIG1fcGF0aCA9IG90aGVyLm1fcGF0aDsKLSAgICBpZiAobV9wYXRoKQot
ICAgICAgICBtX3BhdGgtPkFkZFJlZigpOwotCiAgICAgbV9hY3RpdmVQYXRoID0gb3RoZXIubV9h
Y3RpdmVQYXRoOwogICAgIG1fYWN0aXZlUGF0aEdlb21ldHJ5ID0gb3RoZXIubV9hY3RpdmVQYXRo
R2VvbWV0cnk7CiAKQEAgLTE3Nyw4ICsxNzQsNiBAQCBQYXRoJiBQYXRoOjpvcGVyYXRvcj0oY29u
c3QgUGF0aCYgb3RoZXIpCiAKIEhSRVNVTFQgUGF0aDo6aW5pdGlhbGl6ZVBhdGhTdGF0ZSgpCiB7
Ci0gICAgaWYgKG1fcGF0aCkKLSAgICAgICAgbV9wYXRoLT5SZWxlYXNlKCk7CiAgICAgbV9wYXRo
ID0gbnVsbHB0cjsKICAgICBtX2FjdGl2ZVBhdGggPSBudWxscHRyOwogICAgIG1fYWN0aXZlUGF0
aEdlb21ldHJ5ID0gbnVsbHB0cjsKQEAgLTIzMSwxMCArMjI2LDE3IEBAIGJvb2wgUGF0aDo6c3Ry
b2tlQ29udGFpbnMoU3Ryb2tlU3R5bGVBcHAKICAgICBpZiAoaXNOdWxsKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIFVOVVNFRF9QQVJBTShhcHBsaWVyKTsKLSAgICBVTlVTRURfUEFS
QU0ocG9pbnQpOwotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAg
IEFTU0VSVChhcHBsaWVyKTsKKworICAgIEdyYXBoaWNzQ29udGV4dCBzY3JhdGNoQ29udGV4dChz
Y3JhdGNoUmVuZGVyVGFyZ2V0KCkpOworICAgIGFwcGxpZXItPnN0cm9rZVN0eWxlKCZzY3JhdGNo
Q29udGV4dCk7CisKKyAgICBCT09MIGNvbnRhaW5zUG9pbnQgPSBmYWxzZTsKKyAgICBIUkVTVUxU
IGhyID0gbV9wYXRoLT5TdHJva2VDb250YWluc1BvaW50KHBvaW50LCBzY3JhdGNoQ29udGV4dC5z
dHJva2VUaGlja25lc3MoKSwgc2NyYXRjaENvbnRleHQucGxhdGZvcm1TdHJva2VTdHlsZSgpLCBu
dWxscHRyLCAxLjBmLCAmY29udGFpbnNQb2ludCk7CisgICAgaWYgKCFTVUNDRUVERUQoaHIpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gY29udGFpbnNQb2ludDsKIH0KIAog
dm9pZCBQYXRoOjp0cmFuc2xhdGUoY29uc3QgRmxvYXRTaXplJiBzaXplKQpAQCAtMjU3LDcgKzI1
OSw3IEBAIHZvaWQgUGF0aDo6dHJhbnNmb3JtKGNvbnN0IEFmZmluZVRyYW5zZm8KIAogICAgIGNv
bnN0IEQyRDFfTUFUUklYXzNYMl9GJiBkMmRUcmFuc2Zvcm0gPSBzdGF0aWNfY2FzdDxjb25zdCBE
MkQxX01BVFJJWF8zWDJfRj4odHJhbnNmb3JtKTsKICAgICBDT01QdHI8SUQyRDFUcmFuc2Zvcm1l
ZEdlb21ldHJ5PiB0cmFuc2Zvcm1lZFBhdGg7Ci0gICAgaWYgKCFTVUNDRUVERUQoR3JhcGhpY3ND
b250ZXh0OjpzeXN0ZW1GYWN0b3J5KCktPkNyZWF0ZVRyYW5zZm9ybWVkR2VvbWV0cnkobV9wYXRo
LCBkMmRUcmFuc2Zvcm0sICZ0cmFuc2Zvcm1lZFBhdGgpKSkKKyAgICBpZiAoIVNVQ0NFRURFRChH
cmFwaGljc0NvbnRleHQ6OnN5c3RlbUZhY3RvcnkoKS0+Q3JlYXRlVHJhbnNmb3JtZWRHZW9tZXRy
eShtX3BhdGguZ2V0KCksIGQyZFRyYW5zZm9ybSwgJnRyYW5zZm9ybWVkUGF0aCkpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBWZWN0b3I8SUQyRDFHZW9tZXRyeSo+IGdlb21ldHJpZXM7CkBAIC0y
NzEsNyArMjczLDYgQEAgdm9pZCBQYXRoOjp0cmFuc2Zvcm0oY29uc3QgQWZmaW5lVHJhbnNmbwog
CiAgICAgYXV0byBmaWxsTW9kZSA9IG1fcGF0aC0+R2V0RmlsbE1vZGUoKTsKIAotICAgIG1fcGF0
aC0+UmVsZWFzZSgpOwogICAgIG1fcGF0aCA9IG51bGxwdHI7CiAKICAgICBIUkVTVUxUIGhyID0g
R3JhcGhpY3NDb250ZXh0OjpzeXN0ZW1GYWN0b3J5KCktPkNyZWF0ZUdlb21ldHJ5R3JvdXAoZmls
bE1vZGUsIGdlb21ldHJpZXMuZGF0YSgpLCBnZW9tZXRyaWVzLnNpemUoKSwgJm1fcGF0aCk7CkBA
IC00NzYsNyArNDc3LDcgQEAgdm9pZCBQYXRoOjphZGRFbGxpcHNlKEZsb2F0UG9pbnQgcCwgZmxv
YQogdm9pZCBQYXRoOjphZGRFbGxpcHNlKGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBDT01Q
dHI8SUQyRDFFbGxpcHNlR2VvbWV0cnk+IGVsbGlwc2U7Ci0gICAgSFJFU1VMVCBociA9IEdyYXBo
aWNzQ29udGV4dDo6c3lzdGVtRmFjdG9yeSgpLT5DcmVhdGVFbGxpcHNlR2VvbWV0cnkoRDJEMTo6
RWxsaXBzZShEMkQxOjpQb2ludDJGKHIuY2VudGVyKCkueCgpLCByLmNlbnRlcigpLnkoKSksIHIu
d2lkdGgoKSwgci5oZWlnaHQoKSksICZlbGxpcHNlKTsKKyAgICBIUkVTVUxUIGhyID0gR3JhcGhp
Y3NDb250ZXh0OjpzeXN0ZW1GYWN0b3J5KCktPkNyZWF0ZUVsbGlwc2VHZW9tZXRyeShEMkQxOjpF
bGxpcHNlKHIuY2VudGVyKCksIHIud2lkdGgoKSwgci5oZWlnaHQoKSksICZlbGxpcHNlKTsKICAg
ICBSRUxFQVNFX0FTU0VSVChTVUNDRUVERUQoaHIpKTsKICAgICBhcHBlbmRHZW9tZXRyeShlbGxp
cHNlLmdldCgpKTsKIH0KQEAgLTQ5OCw5ICs0OTksNiBAQCB2b2lkIFBhdGg6OmNsZWFyKCkKICAg
ICBpZiAoaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChtX3BhdGgpCi0gICAg
ICAgIG1fcGF0aC0+UmVsZWFzZSgpOwotCiAgICAgbV9wYXRoID0gbnVsbHB0cjsKICAgICBtX2Fj
dGl2ZVBhdGggPSBudWxscHRyOwogICAgIG1fYWN0aXZlUGF0aEdlb21ldHJ5ID0gbnVsbHB0cjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>