<?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>147793</bug_id>
          
          <creation_ts>2015-08-07 14:01:50 -0700</creation_ts>
          <short_desc>Post-review comments on r188146</short_desc>
          <delta_ts>2015-08-07 14:55:33 -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>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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1115870</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-07 14:01:50 -0700</bug_when>
    <thetext>Post-review comments on r188146</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115873</commentid>
    <comment_count>1</comment_count>
      <attachid>258526</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-07 14:03:48 -0700</bug_when>
    <thetext>Created attachment 258526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115885</commentid>
    <comment_count>2</comment_count>
      <attachid>258526</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-07 14:39:48 -0700</bug_when>
    <thetext>Comment on attachment 258526
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:55
&gt; +        return originalFont;

Take originalFont to be non-null and features to be null. Then this will cause a memory leak because on return from this function the originalFont will have a retain count of 2. Assuming you like the design of having a non void return type for this function, one way to prevent this is to change the data type of originalFont from CTFontRef to RetainPtr&lt;CTFontRef&gt;.

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:60
&gt; +        appendTrueTypeFeature(featureArray.get(), (*features)[i]);
&gt; +        appendOpenTypeFeature(featureArray.get(), (*features)[i]);

Is there a better way to write (*features)[i]? One idea is to rename the argument features to featuresPtr and then define a local variable, features, that is constant lvalue reference to FontFeatureSettings after line 55. Then write the remaining code for this function in terms of features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115891</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-07 14:51:26 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 258526 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=258526&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:55
&gt; &gt; +        return originalFont;
&gt; 
&gt; [...] Then this will
&gt; cause a memory leak because on return from this function the originalFont
&gt; will have a retain count of 2. 

Disregard this remark. It will not leak. Though it will ref-count churn :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115892</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-08-07 14:55:33 -0700</bug_when>
    <thetext>Committed r188168: &lt;http://trac.webkit.org/changeset/188168&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258526</attachid>
            <date>2015-08-07 14:03:48 -0700</date>
            <delta_ts>2015-08-07 14:39:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147793-20150807140337.patch</filename>
            <type>text/plain</type>
            <size>11004</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY3NjIzYjgyNWY0MTRk
OWI4ZDhlN2FmZDUxMWZjMDJkYmU3MDNkMi4uMDNiODMyZWU2NDMxY2E0NWU0YmRlODFkNTI2ZTk1
ZmI3NWVhMGU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTA4LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUG9zdC1yZXZp
ZXcgY29tbWVudHMgb24gcjE4ODE0NgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ3NzkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6YXBwZW5kVHJ1ZVR5cGVGZWF0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6
OmFwcGVuZE9wZW5UeXBlRmVhdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjphcHBseUZvbnRGZWF0
dXJlU2V0dGluZ3MpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJ
T1MubW06CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmdldFN5c3RlbUZvbnRGYWxsYmFj
a0ZvckNoYXJhY3RlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpjcmVhdGVGb250
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hl
TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Zm9udFdpdGhGYW1pbHkpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udENhY2hlOjpzeXN0ZW1GYWxsYmFja0ZvckNoYXJhY3RlcnMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lSU9TOjp1cGRhdGVDYWNoZWRTeXN0ZW1Gb250RGVzY3JpcHRpb24pOgorCiAy
MDE1LTA4LTA3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFz
aCB3aGVuIGZvbGxvd2luZyBhIEdvb2dsZSBzZWFyY2ggbGluayB0byBUd2l0dGVyIHdpdGggTGlt
aXQgQWR1bHQgQ29udGVudCBlbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5oCmluZGV4IDExYjFlYTEzNGQwZjZmM2UzYTdlMGE1YWE2ZWM1M2MyMmY5
YzAyMjUuLmJkOGZhMTc4YzRmYzQ4ODYwZDMwMjlhYzY0MmZiOGI4M2JhZjY5YjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC0yMTUsNyArMjE1
LDcgQEAgcHJpdmF0ZToKIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKLVJldGFpblB0cjxDVEZv
bnRSZWY+IGFwcGx5Rm9udEZlYXR1cmVTZXR0aW5ncyhDVEZvbnRSZWYsIGNvbnN0IEZvbnRGZWF0
dXJlU2V0dGluZ3MmKTsKK1JldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5Rm9udEZlYXR1cmVTZXR0
aW5ncyhDVEZvbnRSZWYsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqKTsKICNlbmRpZgogCiAj
aWYgIVBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCA1YjZjYTU5OGNj
NDJiYzhhMmM1MGMyMDMxYjMzMzgzNjUyNTI0OWJjLi40OTA5NjIyNjgyNWY4Y2MwYjcxYzFlMjQx
MTM3NjI0ODVmODI2ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0yOCwxMSArMjgs
OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBhcHBlbmRU
cnVlVHlwZUZlYXR1cmUoQ0ZNdXRhYmxlQXJyYXlSZWYgZmVhdHVyZXMsIGNvbnN0IEZvbnRGZWF0
dXJlJiBmZWF0dXJlKQorc3RhdGljIGlubGluZSB2b2lkIGFwcGVuZFRydWVUeXBlRmVhdHVyZShD
Rk11dGFibGVBcnJheVJlZiwgY29uc3QgRm9udEZlYXR1cmUmKQogewotICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgbWFwIE9wZW5UeXBlIGZlYXR1cmUgc3RyaW5ncyB0byB0aGUgVHJ1ZVR5cGUgZmVh
dHVyZSB0eXBlIGlkZW50aWZpZXJzIGxpc3RlZCBpbiA8Q29yZVRleHQvU0ZOVExheW91dFR5cGVz
Lmg+Ci0gICAgVU5VU0VEX1BBUkFNKGZlYXR1cmVzKTsKLSAgICBVTlVTRURfUEFSQU0oZmVhdHVy
ZSk7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBtYXAgT3BlblR5cGUgZmVhdHVyZSBzdHJpbmdz
IHRvIHRoZSBUcnVlVHlwZSBmZWF0dXJlIHR5cGUgaWRlbnRpZmllcnMgbGlzdGVkIGluIDxDb3Jl
VGV4dC9TRk5UTGF5b3V0VHlwZXMuaD4uCiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhcHBlbmRP
cGVuVHlwZUZlYXR1cmUoQ0ZNdXRhYmxlQXJyYXlSZWYgZmVhdHVyZXMsIGNvbnN0IEZvbnRGZWF0
dXJlJiBmZWF0dXJlKQpAQCAtNDEsOSArMzksOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXBwZW5k
T3BlblR5cGVGZWF0dXJlKENGTXV0YWJsZUFycmF5UmVmIGZlYXR1cmVzLCBjb25zdCBGb250Rgog
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gZmVhdHVyZUtleSA9IGZlYXR1cmUudGFnKCkuc3Ry
aW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKICAgICBpbnQgcmF3RmVhdHVyZVZhbHVlID0gZmVhdHVy
ZS52YWx1ZSgpOwogICAgIFJldGFpblB0cjxDRk51bWJlclJlZj4gZmVhdHVyZVZhbHVlID0gYWRv
cHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJJbnRUeXBl
LCAmcmF3RmVhdHVyZVZhbHVlKSk7Ci0gICAgQ0ZTdHJpbmdSZWYgZmVhdHVyZURpY3Rpb25hcnlL
ZXlzW10gPSB7a0NURm9udE9wZW5UeXBlRmVhdHVyZVRhZywga0NURm9udE9wZW5UeXBlRmVhdHVy
ZVZhbHVlfTsKLSAgICBDRlR5cGVSZWYgZmVhdHVyZURpY3Rpb25hcnlWYWx1ZXNbXSA9IHtmZWF0
dXJlS2V5LmdldCgpLCBmZWF0dXJlVmFsdWUuZ2V0KCl9OwotICAgIFJldGFpblB0cjxDRkRpY3Rp
b25hcnlSZWY+IGZlYXR1cmVEaWN0aW9uYXJ5ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgKGNvbnN0IHZvaWQqKilmZWF0dXJlRGljdGlvbmFyeUtleXMs
IGZlYXR1cmVEaWN0aW9uYXJ5VmFsdWVzLCAyLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFj
a3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CisgICAgQ0ZTdHJpbmdSZWYg
ZmVhdHVyZURpY3Rpb25hcnlLZXlzW10gPSB7IGtDVEZvbnRPcGVuVHlwZUZlYXR1cmVUYWcsIGtD
VEZvbnRPcGVuVHlwZUZlYXR1cmVWYWx1ZSB9OworICAgIENGVHlwZVJlZiBmZWF0dXJlRGljdGlv
bmFyeVZhbHVlc1tdID0geyBmZWF0dXJlS2V5LmdldCgpLCBmZWF0dXJlVmFsdWUuZ2V0KCkgfTsK
KyAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBmZWF0dXJlRGljdGlvbmFyeSA9IGFkb3B0
Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIChjb25zdCB2b2lkKiop
ZmVhdHVyZURpY3Rpb25hcnlLZXlzLCBmZWF0dXJlRGljdGlvbmFyeVZhbHVlcywgV1RGX0FSUkFZ
X0xFTkdUSChmZWF0dXJlRGljdGlvbmFyeVZhbHVlcyksICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNh
bGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAgICBDRkFycmF5
QXBwZW5kVmFsdWUoZmVhdHVyZXMsIGZlYXR1cmVEaWN0aW9uYXJ5LmdldCgpKTsKICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKGZlYXR1cmVzKTsKQEAgLTUxLDEyICs0OSwxNSBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgYXBwZW5kT3BlblR5cGVGZWF0dXJlKENGTXV0YWJsZUFycmF5UmVmIGZlYXR1cmVz
LCBjb25zdCBGb250RgogI2VuZGlmCiB9CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5Rm9u
dEZlYXR1cmVTZXR0aW5ncyhDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBGb250RmVhdHVy
ZVNldHRpbmdzJiBmZWF0dXJlcykKK1JldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5Rm9udEZlYXR1
cmVTZXR0aW5ncyhDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBGb250RmVhdHVyZVNldHRp
bmdzKiBmZWF0dXJlcykKIHsKLSAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlQXJyYXlSZWY+IGZlYXR1
cmVBcnJheSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwgZmVhdHVyZXMuc2l6ZSgpLCAma0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7Ci0gICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBmZWF0dXJlcy5zaXplKCk7ICsraSkgewotICAgICAgICBhcHBlbmRU
cnVlVHlwZUZlYXR1cmUoZmVhdHVyZUFycmF5LmdldCgpLCBmZWF0dXJlc1tpXSk7Ci0gICAgICAg
IGFwcGVuZE9wZW5UeXBlRmVhdHVyZShmZWF0dXJlQXJyYXkuZ2V0KCksIGZlYXR1cmVzW2ldKTsK
KyAgICBpZiAoIW9yaWdpbmFsRm9udCB8fCAhZmVhdHVyZXMgfHwgIWZlYXR1cmVzLT5zaXplKCkp
CisgICAgICAgIHJldHVybiBvcmlnaW5hbEZvbnQ7CisKKyAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxl
QXJyYXlSZWY+IGZlYXR1cmVBcnJheSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZU11dGFibGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgZmVhdHVyZXMtPnNpemUoKSwgJmtDRlR5cGVBcnJheUNhbGxCYWNr
cykpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZmVhdHVyZXMtPnNpemUoKTsgKytpKSB7
CisgICAgICAgIGFwcGVuZFRydWVUeXBlRmVhdHVyZShmZWF0dXJlQXJyYXkuZ2V0KCksICgqZmVh
dHVyZXMpW2ldKTsKKyAgICAgICAgYXBwZW5kT3BlblR5cGVGZWF0dXJlKGZlYXR1cmVBcnJheS5n
ZXQoKSwgKCpmZWF0dXJlcylbaV0pOwogICAgIH0KICAgICBDRkFycmF5UmVmIGZlYXR1cmVBcnJh
eVB0ciA9IGZlYXR1cmVBcnJheS5nZXQoKTsKICAgICBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVm
PiBkaWN0aW9uYXJ5ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGUoa0NGQWxsb2NhdG9yRGVm
YXVsdCwgKGNvbnN0IHZvaWQqKikma0NURm9udEZlYXR1cmVTZXR0aW5nc0F0dHJpYnV0ZSwgKGNv
bnN0IHZvaWQqKikmZmVhdHVyZUFycmF5UHRyLCAxLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxs
QmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQppbmRleCA5
ZDk2ZGQzMzcxNjA3YmIzNjZmNzRhZmFkOWU5MWY1YTRlMDYwZDI2Li4zZDBkZTJhOGQyN2VlNzQ4
NGUyYWJkNTJiM2UwOWM5MGZiMWVjOTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0KQEAgLTg1LDggKzg1LDcgQEAgUGFz
c1JlZlB0cjxGb250PiBGb250Q2FjaGU6OmdldFN5c3RlbUZvbnRGYWxsYmFja0ZvckNoYXJhY3Rl
cnMoY29uc3QgRm9udERlc2NyaXAKICAgICBpZiAoIXN1YnN0aXR1dGVGb250KQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIAotICAgIGlmIChzdWJzdGl0dXRlRm9udCAmJiBkZXNjcmlwdGlvbi5m
ZWF0dXJlU2V0dGluZ3MoKSAmJiBkZXNjcmlwdGlvbi5mZWF0dXJlU2V0dGluZ3MoKS0+c2l6ZSgp
KQotICAgICAgICBzdWJzdGl0dXRlRm9udCA9IGFwcGx5Rm9udEZlYXR1cmVTZXR0aW5ncyhzdWJz
dGl0dXRlRm9udC5nZXQoKSwgKmRlc2NyaXB0aW9uLmZlYXR1cmVTZXR0aW5ncygpKTsKKyAgICBz
dWJzdGl0dXRlRm9udCA9IGFwcGx5Rm9udEZlYXR1cmVTZXR0aW5ncyhzdWJzdGl0dXRlRm9udC5n
ZXQoKSwgZGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCkpOwogCiAgICAgQ1RGb250U3ltYm9s
aWNUcmFpdHMgb3JpZ2luYWxUcmFpdHMgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhjdEZvbnQp
OwogICAgIENURm9udFN5bWJvbGljVHJhaXRzIGFjdHVhbFRyYWl0cyA9IDA7CkBAIC02OTUsOCAr
Njk0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNoZTo6Y3Jl
YXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGUKICAgICBpZiAoIWN0Rm9udCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoY3RGb250ICYmIGZvbnREZXNjcmlwdGlvbi5m
ZWF0dXJlU2V0dGluZ3MoKSAmJiBmb250RGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCktPnNp
emUoKSkKLSAgICAgICAgY3RGb250ID0gYXBwbHlGb250RmVhdHVyZVNldHRpbmdzKGN0Rm9udC5n
ZXQoKSwgKmZvbnREZXNjcmlwdGlvbi5mZWF0dXJlU2V0dGluZ3MoKSk7CisgICAgY3RGb250ID0g
YXBwbHlGb250RmVhdHVyZVNldHRpbmdzKGN0Rm9udC5nZXQoKSwgZm9udERlc2NyaXB0aW9uLmZl
YXR1cmVTZXR0aW5ncygpKTsKIAogICAgIENURm9udFN5bWJvbGljVHJhaXRzIGFjdHVhbFRyYWl0
cyA9IDA7CiAgICAgaWYgKGlzRm9udFdlaWdodEJvbGQoZm9udERlc2NyaXB0aW9uLndlaWdodCgp
KSB8fCBmb250RGVzY3JpcHRpb24uaXRhbGljKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQppbmRleCAzYjJhOGU3MDhmNDUw
ZjY4ZDJlNDhkZDI1M2U2YzYzZmE1NWY2ZjdmLi40MWMwZjFjMTExOGU2N2QyMjE2ZjY2ZTdjOTc1
YTBkZTQzNTliYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udENhY2hlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9Gb250Q2FjaGVNYWMubW0KQEAgLTI4NywxMCArMjg3LDkgQEAgc3RhdGljIE5TRm9u
dCAqZm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIE5TRm9udFRyYWl0
TWFzayBkZXNpcmUKIAogICAgIE5TU3RyaW5nICpkZXNpcmVkRmFtaWx5ID0gZmFtaWx5OwogICAg
IFJldGFpblB0cjxDVEZvbnRSZWY+IGZvdW5kRm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlRm9y
Q1NTKChDRlN0cmluZ1JlZilkZXNpcmVkRmFtaWx5LCB0b0NvcmVUZXh0Rm9udFdlaWdodCh3ZWln
aHQpLCByZXF1ZXN0ZWRUcmFpdHMsIHNpemUpKTsKKyAgICBmb3VuZEZvbnQgPSBhcHBseUZvbnRG
ZWF0dXJlU2V0dGluZ3MoZm91bmRGb250LmdldCgpLCBmZWF0dXJlU2V0dGluZ3MpOwogICAgIGlm
ICghZm91bmRGb250KQogICAgICAgICByZXR1cm4gbmlsOwotICAgIGlmIChmZWF0dXJlU2V0dGlu
Z3MgJiYgZmVhdHVyZVNldHRpbmdzLT5zaXplKCkpCi0gICAgICAgIGZvdW5kRm9udCA9IGFwcGx5
Rm9udEZlYXR1cmVTZXR0aW5ncyhmb3VuZEZvbnQuZ2V0KCksICpmZWF0dXJlU2V0dGluZ3MpOwog
ICAgIGZvbnQgPSBDRkJyaWRnaW5nUmVsZWFzZShDRlJldGFpbihmb3VuZEZvbnQuZ2V0KCkpKTsK
ICAgICBhdmFpbGFibGVGYW1pbHkgPSBbZm9udCBmYW1pbHlOYW1lXTsKICAgICBjaG9zZW5XZWln
aHQgPSBbZm9udE1hbmFnZXIgd2VpZ2h0T2ZGb250OmZvbnRdOwpAQCAtNTEzLDggKzUxMiw3IEBA
IFJlZlB0cjxGb250PiBGb250Q2FjaGU6OnN5c3RlbUZhbGxiYWNrRm9yQ2hhcmFjdGVycyhjb25z
dCBGb250RGVzY3JpcHRpb24mIGRlc2NyCiAgICAgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxh
dGZvcm1EYXRhID0gb3JpZ2luYWxGb250RGF0YS0+cGxhdGZvcm1EYXRhKCk7CiAgICAgTlNGb250
ICpuc0ZvbnQgPSBwbGF0Zm9ybURhdGEubnNGb250KCk7CiAgICAgUmV0YWluUHRyPENURm9udFJl
Zj4gcmVzdWx0ID0gbG9va3VwQ1RGb250KHBsYXRmb3JtRGF0YS5mb250KCksIHBsYXRmb3JtRGF0
YS5zaXplKCksIGNoYXJhY3RlcnMsIGxlbmd0aCk7Ci0gICAgaWYgKHJlc3VsdCAmJiBkZXNjcmlw
dGlvbi5mZWF0dXJlU2V0dGluZ3MoKSAmJiBkZXNjcmlwdGlvbi5mZWF0dXJlU2V0dGluZ3MoKS0+
c2l6ZSgpKQotICAgICAgICByZXN1bHQgPSBhcHBseUZvbnRGZWF0dXJlU2V0dGluZ3MocmVzdWx0
LmdldCgpLCAqZGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCkpOworICAgIHJlc3VsdCA9IGFw
cGx5Rm9udEZlYXR1cmVTZXR0aW5ncyhyZXN1bHQuZ2V0KCksIGRlc2NyaXB0aW9uLmZlYXR1cmVT
ZXR0aW5ncygpKTsKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCA5NTA3MjcxOThhZjhiOGUxODE5MzM4
ZDdjYmY5ZWNkMGZkMmI4NDQwLi5lZjEyMjdiYjFkMTk4MWEwYzc0MGZlNzdhYWE0NmQ1YjdjMmM3
ZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC00MSw4ICs0MSw3IEBAIEZv
bnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShj
b25zdCBGb250RGVzY3JpcHRpb24mCiAgICAgRm9udFdpZHRoVmFyaWFudCB3aWR0aFZhcmlhbnQg
PSBmb250RGVzY3JpcHRpb24ud2lkdGhWYXJpYW50KCk7CiAjaWYgQ09SRVRFWFRfV0VCX0ZPTlRT
CiAgICAgUmV0YWluUHRyPENURm9udFJlZj4gZm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0
aEZvbnREZXNjcmlwdG9yKG1fZm9udERlc2NyaXB0b3IuZ2V0KCksIHNpemUsIG51bGxwdHIpKTsK
LSAgICBpZiAoZm9udCAmJiBmb250RGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCkgJiYgZm9u
dERlc2NyaXB0aW9uLmZlYXR1cmVTZXR0aW5ncygpLT5zaXplKCkpCi0gICAgICAgIGZvbnQgPSBh
cHBseUZvbnRGZWF0dXJlU2V0dGluZ3MoZm9udC5nZXQoKSwgKmZvbnREZXNjcmlwdGlvbi5mZWF0
dXJlU2V0dGluZ3MoKSk7CisgICAgZm9udCA9IGFwcGx5Rm9udEZlYXR1cmVTZXR0aW5ncyhmb250
LmdldCgpLCBmb250RGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdzKCkpOwogICAgIHJldHVybiBG
b250UGxhdGZvcm1EYXRhKGZvbnQuZ2V0KCksIHNpemUsIGJvbGQsIGl0YWxpYywgb3JpZW50YXRp
b24sIHdpZHRoVmFyaWFudCk7CiAjZWxzZQogICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRhKG1f
Y2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlh
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IDc1
NWNmODc3NWZiYTBkYjA4YjA1MTllMjBiZTA1NGQ5YWExOWQ4NjQuLmVkYmU5Y2U1YmQ1NWEwZmRm
Y2JjMzZjMzZkOWZkYTMwOWY0NjIzOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVJT1MubW0KQEAgLTEyNjEsOCArMTI2MSw3IEBAIHZvaWQgUmVuZGVyVGhlbWVJT1M6
OnVwZGF0ZUNhY2hlZFN5c3RlbUZvbnREZXNjcmlwdGlvbihDU1NWYWx1ZUlEIHZhbHVlSUQsIEZv
bnRECiAKICAgICBBU1NFUlQoZm9udERlc2NyaXB0b3IpOwogICAgIFJldGFpblB0cjxDVEZvbnRS
ZWY+IGZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihmb250RGVz
Y3JpcHRvci5nZXQoKSwgMCwgbnVsbHB0cikpOwotICAgIGlmIChmb250ICYmIGZvbnREZXNjcmlw
dGlvbi5mZWF0dXJlU2V0dGluZ3MoKSAmJiBmb250RGVzY3JpcHRpb24uZmVhdHVyZVNldHRpbmdz
KCktPnNpemUoKSkKLSAgICAgICAgZm9udCA9IGFwcGx5Rm9udEZlYXR1cmVTZXR0aW5ncyhmb250
LmdldCgpLCAqZm9udERlc2NyaXB0aW9uLmZlYXR1cmVTZXR0aW5ncygpKTsKKyAgICBmb250ID0g
YXBwbHlGb250RmVhdHVyZVNldHRpbmdzKGZvbnQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbi5mZWF0
dXJlU2V0dGluZ3MoKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldElzQWJzb2x1dGVTaXplKHRy
dWUpOwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRPbmVGYW1pbHkodGV4dFN0eWxlKTsKICAgICBm
b250RGVzY3JpcHRpb24uc2V0U3BlY2lmaWVkU2l6ZShDVEZvbnRHZXRTaXplKGZvbnQuZ2V0KCkp
KTsK
</data>
<flag name="review"
          id="283691"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>