<?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>23669</bug_id>
          
          <creation_ts>2009-01-31 18:30:39 -0800</creation_ts>
          <short_desc>Using malloc to allocate wxFonts results in invalid wxFonts</short_desc>
          <delta_ts>2009-02-04 12:32:10 -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>WebKit wx</component>
          <version>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Diggilin">mr.diggilin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kevino</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>107876</commentid>
    <comment_count>0</comment_count>
    <who name="Diggilin">mr.diggilin</who>
    <bug_when>2009-01-31 18:30:39 -0800</bug_when>
    <thetext>Hashtable uses malloc to allocate table space (as directed in FontCache, not wx specific) which means that FontPlatformData&apos;s wxFont doesn&apos;t get allocated properly (vtable is null).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107877</commentid>
    <comment_count>1</comment_count>
      <attachid>27226</attachid>
    <who name="Diggilin">mr.diggilin</who>
    <bug_when>2009-01-31 18:38:19 -0800</bug_when>
    <thetext>Created attachment 27226
Fixes this bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>107909</commentid>
    <comment_count>2</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2009-02-01 11:40:47 -0800</bug_when>
    <thetext>Thanks for all your hard and meticulous work on tracking this down! It still amazes me that this code did not exhibit any issues on 2.8 despite clearly having a serious problem. However, the shared pointer approach is in line with what other ports do and avoids this problem nicely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108314</commentid>
    <comment_count>3</comment_count>
    <who name="Kevin Ollivier">kevino</who>
    <bug_when>2009-02-04 12:32:10 -0800</bug_when>
    <thetext>Landed in r40615, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27226</attachid>
            <date>2009-01-31 18:38:19 -0800</date>
            <delta_ts>2009-02-01 11:39:03 -0800</delta_ts>
            <desc>Fixes this bug</desc>
            <filename>wxFontCrashFix.diff</filename>
            <type>text/plain</type>
            <size>9646</size>
            <attacher name="Diggilin">mr.diggilin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MDQ2OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDktMDEtMzEgIG1pZ2dpbGluICA8bXIuZGlnZ2lsaW5AZ21haWwu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdB
Uk5JTkc6IE5PIFRFU1QgQ0FTRVMgQURERUQgT1IgQ0hBTkdFRAorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZv
bnREYXRhOjpnZXRXeEZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRQ
bGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRQbGF0Zm9ybURhdGE6OmZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0
YTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udFBsYXRm
b3JtRGF0YVd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQ
bGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Y29tcHV0
ZUhhc2gpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9y
bURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6ZGV0ZXJtaW5lUGl0Y2gpOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtV2lkdGhGb3JHbHlwaCk6CisgICAg
ICAgICogcGxhdGZvcm0vd3gvd3hjb2RlL2d0ay9ub24ta2VybmVkLWRyYXdpbmcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZHJhd1RleHRXaXRoU3BhY2luZyk6CisKIDIwMDktMDEtMzEgIERhdmlk
IEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIElubGluZSBhbGwgb2YgdGhlIHNl
dE5lZWRzTGF5b3V0IG1ldGhvZCBhbmQgaXRzIGFzc29jaWF0ZWQgZnVuY3Rpb25zLiAgQWxzbyBp
bmxpbmUgc2V0Q2hpbGROZWVkc0xheW91dApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93eC9Gb250UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93eC9Gb250UGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDQwMTk2KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250UGxhdGZvcm1EYXRhLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDQxICszMCw1NCBAQAogI2RlZmluZSBGb250UGxhdGZvcm1EYXRhX0gKIAogI2luY2x1
ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgorI2luY2x1ZGUgIkF0b21pY1N0cmluZy5oIgogI2luY2x1
ZGUgIkNTdHJpbmcuaCIKLSNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKICNpbmNsdWRlICJTdHJp
bmdJbXBsLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiAjaW5jbHVkZSA8d3gvZGVmcy5o
PgogI2luY2x1ZGUgPHd4L2ZvbnQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBG
b250SG9sZGVyOiBwdWJsaWMgV1RGOjpSZWZDb3VudGVkPEZvbnRIb2xkZXI+Cit7CitwdWJsaWM6
CisgICAgRm9udEhvbGRlcigpCisgICAgICAgIDogbV9mb250KDApCisgICAge30KKworICAgIEZv
bnRIb2xkZXIod3hGb250KiBmb250KQorICAgICAgICA6IG1fZm9udChmb250KQorICAgIHt9CisK
KyAgICB3eEZvbnQqIGZvbnQoKSB7IHJldHVybiBtX2ZvbnQ7IH0KKworcHJpdmF0ZToKKyAgICB3
eEZvbnQqIG1fZm9udDsKK307CisKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGEgewogcHVibGljOgog
ICAgIGVudW0gRm9udFN0YXRlIHsgVU5JTklUSUFMSVpFRCwgREVMRVRFRCwgVkFMSUQgfTsKIAog
ICAgIEZvbnRQbGF0Zm9ybURhdGEoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQotICAg
IDogbV9mb250U3RhdGUoREVMRVRFRCkKKyAgICA6IG1fZm9udFN0YXRlKERFTEVURUQpLAorICAg
ICAgbV9mb250KDApCiAgICAgeyB9CiAKICAgICB+Rm9udFBsYXRmb3JtRGF0YSgpOwogCi0gICAg
Rm9udFBsYXRmb3JtRGF0YSh3eEZvbnQgZikgCi0gICAgOiBtX2ZvbnQoZikKLSAgICAsIG1fZm9u
dFN0YXRlKFZBTElEKQotICAgIHsKLSAgICAgICAgbV9mb250SGFzaCA9IGNvbXB1dGVIYXNoKCk7
ICAgICAgICAKLSAgICB9Ci0gICAgCiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICAKICAgICBGb250UGxhdGZvcm1E
YXRhKCkgCiAgICAgOiBtX2ZvbnRTdGF0ZShVTklOSVRJQUxJWkVEKQorICAgICwgbV9mb250KDAp
CiAgICAgewogICAgIH0KICAgICAKLSAgICB3eEZvbnQgZm9udCgpIGNvbnN0IHsKLSAgICAgICAg
cmV0dXJuIG1fZm9udDsKKyAgICB3eEZvbnQqIGZvbnQoKSBjb25zdCB7CisgICAgICAgIHJldHVy
biBtX2ZvbnQtPmZvbnQoKTsKICAgICB9CiAgICAgCiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0
IHsKQEAgLTc4LDMyICs5MSwyNiBAQAogICAgICAgICB9CiAgICAgfQogCisgICAgdW5zaWduZWQg
Y29tcHV0ZUhhc2goKSBjb25zdDsKKwogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBGb250UGxh
dGZvcm1EYXRhJiBvdGhlcikgY29uc3QKICAgICB7IAotICAgICAgICBpZiAobV9mb250U3RhdGUg
PT0gVkFMSUQpCi0gICAgICAgICAgICByZXR1cm4gb3RoZXIubV9mb250U3RhdGUgPT0gVkFMSUQg
JiYgbV9mb250LklzT2soKSAmJiBvdGhlci5tX2ZvbnQuSXNPaygpICYmIG1fZm9udC5Jc1NhbWVB
cyhvdGhlci5tX2ZvbnQpOworICAgICAgICBpZiAobV9mb250ICYmIG1fZm9udFN0YXRlID09IFZB
TElEICYmIG90aGVyLm1fZm9udFN0YXRlID09IFZBTElEICYmIG90aGVyLm1fZm9udCkgeworICAg
ICAgICAgICAgd3hGb250KiB0aGlzRm9udCA9IG1fZm9udC0+Zm9udCgpOworICAgICAgICAgICAg
d3hGb250KiBvdGhlckZvbnQgPSBvdGhlci5tX2ZvbnQtPmZvbnQoKTsKKyAgICAgICAgICAgIHJl
dHVybiB0aGlzRm9udC0+SXNPaygpICYmIG90aGVyRm9udC0+SXNPaygpICYmIHRoaXNGb250LT5J
c1NhbWVBcygqb3RoZXJGb250KTsKKyAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICByZXR1cm4gbV9mb250U3RhdGUgPT0gb3RoZXIubV9mb250U3RhdGU7CiAgICAgfQogCiAgICAg
Ym9vbCBpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udFN0YXRl
ID09IERFTEVURUQ7IH0KICAgICAKLSAgICB1bnNpZ25lZCBjb21wdXRlSGFzaCgpIGNvbnN0IHsK
LSAgICAgICAgQVNTRVJUKG1fZm9udC5Jc09rKCkpOwotICAgICAgICAKLSAgICAgICAgLy8gbWFr
ZSBhIGhhc2ggdGhhdCBpcyB1bmlxdWUgZm9yIHRoaXMgZm9udCwgYnV0IG5vdCBnbG9iYWxseSB1
bmlxdWUgLSB0aGF0IGlzLAotICAgICAgICAvLyBhIGZvbnQgd2hvc2UgcHJvcGVydGllcyBhcmUg
ZXF1YWwgc2hvdWxkIGdlbmVyYXRlIHRoZSBzYW1lIGhhc2gKLSAgICAgICAgdWludHB0cl90IGhh
c2hDb2Rlc1s2XSA9IHsgbV9mb250LkdldFBvaW50U2l6ZSgpLCBtX2ZvbnQuR2V0RmFtaWx5KCks
IG1fZm9udC5HZXRTdHlsZSgpLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fZm9udC5HZXRXZWlnaHQoKSwgbV9mb250LkdldFVuZGVybGluZWQoKSwgCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmdJbXBsOjpjb21wdXRlSGFzaChtX2ZvbnQu
R2V0RmFjZU5hbWUoKS5tYl9zdHIod3hDb252VVRGOCkpIH07Ci0gICAgICAgIAotICAgICAgICBy
ZXR1cm4gU3RyaW5nSW1wbDo6Y29tcHV0ZUhhc2gocmVpbnRlcnByZXRfY2FzdDxVQ2hhcio+KGhh
c2hDb2RlcyksIHNpemVvZihoYXNoQ29kZXMpIC8gc2l6ZW9mKFVDaGFyKSk7Ci0gICAgfQorICAg
IAogCiBwcml2YXRlOgotICAgIHd4Rm9udCBtX2ZvbnQ7Ci0gICAgRm9udFN0YXRlIG1fZm9udFN0
YXRlOyAgICAKLSAgICB1bnNpZ25lZCBtX2ZvbnRIYXNoOworICAgIFdURjo6UmVmUHRyPEZvbnRI
b2xkZXI+IG1fZm9udDsKKyAgICBGb250U3RhdGUgbV9mb250U3RhdGU7CiB9OwogCiB9CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRQbGF0Zm9ybURhdGFXeC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250UGxhdGZvcm1EYXRh
V3guY3BwCShyZXZpc2lvbiA0MDE5NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
Rm9udFBsYXRmb3JtRGF0YVd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsMzAgKzc4LDQ1IEBA
CiAvLyB0aGlzIGlzIGEgbW9vdCBpc3N1ZSBvbiBMaW51eCBhbmQgTWFjIGFzIHRoZXkgb25seSBh
Y2NlcHQgdGhlIHBvaW50IGFyZ3VtZW50LiBTbywKIC8vIHdlIHVzZSB0aGUgcGl4ZWwgc2l6ZSBj
b25zdHJ1Y3RvciBvbiBXaW5kb3dzLCBidXQgd2UgdXNlIHBvaW50IHNpemUgb24gTGludXggYW5k
IE1hYy4KICNpZiBfX1dYTVNXX18KLSAgICBtX2ZvbnQgPSB3eEZvbnQoICAgd3hTaXplKDAsIC1k
ZXNjLmNvbXB1dGVkUGl4ZWxTaXplKCkpLCAKKyAgICBtX2ZvbnQgPSBuZXcgRm9udEhvbGRlcihu
ZXcgd3hGb250KCAgIHd4U2l6ZSgwLCAtZGVzYy5jb21wdXRlZFBpeGVsU2l6ZSgpKSwgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHlUb1d4Rm9udEZhbWlseShkZXNj
LmdlbmVyaWNGYW1pbHkoKSksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFs
aWNUb1d4Rm9udFN0eWxlKGRlc2MuaXRhbGljKCkpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmb250V2VpZ2h0VG9XeEZvbnRXZWlnaHQoZGVzYy53ZWlnaHQoKSksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmYW1pbHkuc3RyaW5nKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICApOyAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAp
OyAKICNlbHNlCi0gICAgbV9mb250ID0gd3hGb250KCAgIGRlc2MuY29tcHV0ZWRQaXhlbFNpemUo
KSwgCisgICAgbV9mb250ID0gbmV3IEZvbnRIb2xkZXIobmV3IHd4Rm9udCggICBkZXNjLmNvbXB1
dGVkUGl4ZWxTaXplKCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250RmFt
aWx5VG9XeEZvbnRGYW1pbHkoZGVzYy5nZW5lcmljRmFtaWx5KCkpLCAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaXRhbGljVG9XeEZvbnRTdHlsZShkZXNjLml0YWxpYygpKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodFRvV3hGb250V2VpZ2h0KGRl
c2Mud2VpZ2h0KCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFtaWx5LnN0cmluZygpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKTsgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAg
ICAgICAgICAgICAgICAgICAgICAgKTsgCiAjZW5kaWYKICAgICBtX2ZvbnRTdGF0ZSA9IFZBTElE
OwotICAgIG1fZm9udEhhc2ggPSBjb21wdXRlSGFzaCgpOwogICAgICAKIH0KLSAgICAKKwordW5z
aWduZWQgRm9udFBsYXRmb3JtRGF0YTo6Y29tcHV0ZUhhc2goKSBjb25zdCB7CisgICAgICAgIHd4
Rm9udCogdGhpc0ZvbnQgPSBtX2ZvbnQtPmZvbnQoKTsKKyAgICAgICAgQVNTRVJUKHRoaXNGb250
ICYmIHRoaXNGb250LT5Jc09rKCkpOworICAgICAgICAKKyAgICAgICAgLy8gbWFrZSBhIGhhc2gg
dGhhdCBpcyB1bmlxdWUgZm9yIHRoaXMgZm9udCwgYnV0IG5vdCBnbG9iYWxseSB1bmlxdWUgLSB0
aGF0IGlzLAorICAgICAgICAvLyBhIGZvbnQgd2hvc2UgcHJvcGVydGllcyBhcmUgZXF1YWwgc2hv
dWxkIGdlbmVyYXRlIHRoZSBzYW1lIGhhc2gKKyAgICAgICAgdWludHB0cl90IGhhc2hDb2Rlc1s2
XSA9IHsgdGhpc0ZvbnQtPkdldFBvaW50U2l6ZSgpLCB0aGlzRm9udC0+R2V0RmFtaWx5KCksIHRo
aXNGb250LT5HZXRTdHlsZSgpLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRoaXNGb250LT5HZXRXZWlnaHQoKSwgdGhpc0ZvbnQtPkdldFVuZGVybGluZWQoKSwgCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmdJbXBsOjpjb21wdXRlSGFzaCh0
aGlzRm9udC0+R2V0RmFjZU5hbWUoKS5tYl9zdHIod3hDb252VVRGOCkpIH07CisgICAgICAgIAor
ICAgICAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y29tcHV0ZUhhc2gocmVpbnRlcnByZXRfY2FzdDxV
Q2hhcio+KGhhc2hDb2RlcyksIHNpemVvZihoYXNoQ29kZXMpIC8gc2l6ZW9mKFVDaGFyKSk7Cit9
CisKIEZvbnRQbGF0Zm9ybURhdGE6On5Gb250UGxhdGZvcm1EYXRhKCkKIHsKICAgICBtX2ZvbnRT
dGF0ZSA9IFVOSU5JVElBTElaRUQ7CisgICAgbV9mb250ID0gMDsKIH0KIAogfQpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCShy
ZXZpc2lvbiA0MDE5NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9u
dERhdGFXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDE0ICs0NSwxNiBAQAogCiB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogeyAgICAKLSAgICB3eEZvbnQgZm9udCA9IG1f
Zm9udC5mb250KCk7Ci0gICAgd3hGb250UHJvcGVydGllcyBwcm9wcyA9IHd4Rm9udFByb3BlcnRp
ZXMoJmZvbnQpOwotICAgIG1fYXNjZW50ID0gcHJvcHMuR2V0QXNjZW50KCk7Ci0gICAgbV9kZXNj
ZW50ID0gcHJvcHMuR2V0RGVzY2VudCgpOwotICAgIG1fbGluZVNwYWNpbmcgPSBwcm9wcy5HZXRM
aW5lU3BhY2luZygpOwotICAgIG1feEhlaWdodCA9IHByb3BzLkdldFhIZWlnaHQoKTsKLSAgICBt
X3VuaXRzUGVyRW0gPSAxOyAvLyBGSVhNRSEKLSAgICBtX2xpbmVHYXAgPSBwcm9wcy5HZXRMaW5l
R2FwKCk7CisgICAgd3hGb250ICpmb250ID0gbV9mb250LmZvbnQoKTsKKyAgICBpZiAoZm9udCAm
JiBmb250LT5Jc09rKCkpIHsKKyAgICAgICAgd3hGb250UHJvcGVydGllcyBwcm9wcyA9IHd4Rm9u
dFByb3BlcnRpZXMoZm9udCk7CisgICAgICAgIG1fYXNjZW50ID0gcHJvcHMuR2V0QXNjZW50KCk7
CisgICAgICAgIG1fZGVzY2VudCA9IHByb3BzLkdldERlc2NlbnQoKTsKKyAgICAgICAgbV9saW5l
U3BhY2luZyA9IHByb3BzLkdldExpbmVTcGFjaW5nKCk7CisgICAgICAgIG1feEhlaWdodCA9IHBy
b3BzLkdldFhIZWlnaHQoKTsKKyAgICAgICAgbV91bml0c1BlckVtID0gMTsgLy8gRklYTUUhCisg
ICAgICAgIG1fbGluZUdhcCA9IHByb3BzLkdldExpbmVHYXAoKTsKKyAgICB9CiB9CiAKIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCkBAIC03OSw4ICs4MSw4IEBACiAKIHZv
aWQgU2ltcGxlRm9udERhdGE6OmRldGVybWluZVBpdGNoKCkKIHsKLSAgICBpZiAobV9mb250LmZv
bnQoKS5PaygpKQotICAgICAgICBtX3RyZWF0QXNGaXhlZFBpdGNoID0gbV9mb250LmZvbnQoKS5J
c0ZpeGVkV2lkdGgoKTsKKyAgICBpZiAobV9mb250LmZvbnQoKSAmJiBtX2ZvbnQuZm9udCgpLT5P
aygpKQorICAgICAgICBtX3RyZWF0QXNGaXhlZFBpdGNoID0gbV9mb250LmZvbnQoKS0+SXNGaXhl
ZFdpZHRoKCk7CiAgICAgZWxzZQogICAgICAgICBtX3RyZWF0QXNGaXhlZFBpdGNoID0gZmFsc2U7
CiB9CkBAIC04OSw3ICs5MSw3IEBACiB7CiAgICAgLy8gVE9ETzogZml4IHRoaXMhIE1ha2UgR2V0
VGV4dEV4dGVudHMgYSBtZXRob2Qgb2Ygd3hGb250IGluIDIuOQogICAgIGludCB3aWR0aCA9IDEw
OwotICAgIEdldFRleHRFeHRlbnQobV9mb250LmZvbnQoKSwgKHd4Q2hhcilnbHlwaCwgJndpZHRo
LCBOVUxMKTsKKyAgICBHZXRUZXh0RXh0ZW50KCptX2ZvbnQuZm9udCgpLCAod3hDaGFyKWdseXBo
LCAmd2lkdGgsIE5VTEwpOwogICAgIHJldHVybiB3aWR0aDsKIH0KIApJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNDAxOTYpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEzMSw3ICsxMzEsNyBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShXWCkKLSAgICB3eEZv
bnQgZ2V0V3hGb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250LmZvbnQoKTsgfQorICAgIHd4Rm9u
dCogZ2V0V3hGb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250LmZvbnQoKTsgfQogI2VuZGlmCiAK
IHByaXZhdGU6CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3d4L3d4Y29kZS9ndGsvbm9uLWtlcm5l
ZC1kcmF3aW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3d4L3d4Y29kZS9n
dGsvbm9uLWtlcm5lZC1kcmF3aW5nLmNwcAkocmV2aXNpb24gNDAxOTYpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL3d4L3d4Y29kZS9ndGsvbm9uLWtlcm5lZC1kcmF3aW5nLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQsOSArNDQsOSBAQAogICAgIHd4REMqIGRjID0gZ3JhcGhpY3NDb250ZXh0LT5wbGF0
Zm9ybUNvbnRleHQoKTsKICNlbmRpZgogCi0gICAgd3hGb250IHd4Zm9udCA9IGZvbnQtPmdldFd4
Rm9udCgpOwotICAgIGlmICh3eGZvbnQuSXNPaygpKQotICAgICAgICBkYy0+U2V0Rm9udCh3eGZv
bnQpOworICAgIHd4Rm9udCogd3hmb250ID0gZm9udC0+Z2V0V3hGb250KCk7CisgICAgaWYgKHd4
Zm9udCAmJiB3eGZvbnQtPklzT2soKSkKKyAgICAgICAgZGMtPlNldEZvbnQoKnd4Zm9udCk7CiAg
ICAgZGMtPlNldFRleHRGb3JlZ3JvdW5kKGNvbG9yKTsKIAogICAgIC8vIGNvbnZlcnQgZ2x5cGhz
IHRvIHd4U3RyaW5nCg==
</data>
<flag name="review"
          id="13110"
          type_id="1"
          status="+"
          setter="kevino"
    />
          </attachment>
      

    </bug>

</bugzilla>