<?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>16941</bug_id>
          
          <creation_ts>2008-01-19 09:54:02 -0800</creation_ts>
          <short_desc>[GTK] FontCustomPlatformData.cpp leaks FT_Faces</short_desc>
          <delta_ts>2010-09-22 08:01:49 -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>WebKitGTK</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>Cairo, Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67710</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-01-19 09:54:02 -0800</bug_when>
    <thetext>The newly created memory face needs to be destroyed manually according to the documentation.

Since we also need to free the SharedBuffer, we can&apos;t just add another user key I think.

It might be better to add the newly created FontCustomPlatformData as the user data and do the freeing from there. Not sure yet what the best fix is.

    FT_Face face;
    error = FT_New_Memory_Face(library, reinterpret_cast&lt;const FT_Byte*&gt;(buffer-&gt;data()), buffer-&gt;size(), 0, &amp;face);
    if (error)
        return 0;

    buffer-&gt;ref();
    cairo_font_face_t* fontFace = cairo_ft_font_face_create_for_ft_face(face, 0);

    static cairo_user_data_key_t bufferKey;
    cairo_font_face_set_user_data(fontFace, &amp;bufferKey, buffer, releaseData);

    return new FontCustomPlatformData(fontFace);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68083</commentid>
    <comment_count>1</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-01-23 18:00:11 -0800</bug_when>
    <thetext>From SimpleFontDataGtk.cpp:

void SimpleFontData::platformDestroy()
{
    if (!isCustomFont()) {
        if (m_font.m_pattern &amp;&amp; ((FcPattern*)-1 != m_font.m_pattern)) {
            FcPatternDestroy(m_font.m_pattern);
            m_font.m_pattern = 0;
        }

        if (m_font.m_scaledFont) {
            cairo_scaled_font_destroy(m_font.m_scaledFont);
            m_font.m_scaledFont = 0;
        }
    }

    delete m_smallCapsFontData;
}


This isCustomFont() check looks overzealous as it won&apos;t free m_font.m_scaledFont which exists even in custom WebFonts. So, another potential leak here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>89578</commentid>
    <comment_count>2</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-08-27 17:55:24 -0700</bug_when>
    <thetext>This can probably be fixed by carrying the resources in the FontCustomPlatformData structure and freeing them in ~FontCustomPlatformData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282648</commentid>
    <comment_count>3</comment_count>
      <attachid>68308</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-21 16:59:38 -0700</bug_when>
    <thetext>Created attachment 68308
Patch for this issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282651</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-21 17:00:55 -0700</bug_when>
    <thetext>Attachment 68308 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/platform/graphics/cairo/FontCustomPlatformData.h:29:  FT_Face is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [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>282654</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-21 17:02:25 -0700</bug_when>
    <thetext>This is a false positive. We should update check-webkit-style to ignore typedefs like these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282773</commentid>
    <comment_count>6</comment_count>
      <attachid>68308</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-09-21 22:43:23 -0700</bug_when>
    <thetext>Comment on attachment 68308
Patch for this issue

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282935</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-22 08:01:38 -0700</bug_when>
    <thetext>Committed r68041: &lt;http://trac.webkit.org/changeset/68041&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68308</attachid>
            <date>2010-09-21 16:59:38 -0700</date>
            <delta_ts>2010-09-22 08:01:49 -0700</delta_ts>
            <desc>Patch for this issue</desc>
            <filename>bug-16941-20100921165937.patch</filename>
            <type>text/plain</type>
            <size>6239</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDY2ZTk4Zjc1MmFlNThmZmQ4ZjZhNTczMDQ3ZjQzODhhOGQxZDNiZS4uZmE3MmQ4YjNkMGYwY2Ji
ZTYwYWFiN2YxY2EwMDk5ZDkzM2M3NjM4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxMC0wOS0yMSAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5jcHAgbGVha3MgRlRfRmFjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2OTQxCisKKyAgICAgICAgQXR0YWNoIGxpZmV0aW1lIG9mIHRoZSBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIEZUX0ZhY2UgdG8gdGhlIHJlc3VsdGluZyBjYWlyb19mb250X2Zh
Y2VfdC4KKyAgICAgICAgVGhpcyB3aWxsIGZyZWUgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGgg
dGhlIEZUX0ZhY2Ugb25jZSB0aGUgY2Fpcm9fZm9udF9mYWNlX3QgaXMgCisgICAgICAgIGRlc3Ry
b3llZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgZnVuY3Rpb25hbGl0eSBzaG91bGQgbm90
IGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVsZWFzZUN1c3RvbUZvbnREYXRh
KTogTW92ZWQgdGhpcyBoZWxwZXIgbWV0aG9kIHRvIHRoZSB0b3Agb2YgdGhlIGZpbGUKKyAgICAg
ICAgYW5kIGdhdmUgaXQgYSBtb3JlIGRlc2NyaXB0aXZlIG5hbWUuCisgICAgICAgIChXZWJDb3Jl
OjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTogQ2hhbmdl
ZCB0aGUgY29uc3RydWN0b3IgdG8KKyAgICAgICAgdGFrZSB0aGUgRlRfRmFjZSBhbmQgdGhlIGJ1
ZmZlciwgc28gdG8gYmV0dGVyIGVuY2Fwc3VsYXRlIHRoZSBjcmVhdGlvbiBvZiB0aGUgY2Fpcm8K
KyAgICAgICAgZmFjZS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6
On5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKTogQWRkZWQgYSBjb21tZW50IGFib3V0IHRoZQorICAg
ICAgICBmYXRlIG9mIHRoZSBGVF9GYWNlIHRvIHRoZSBkZXN0cnVjdG9yLgorICAgICAgICAoV2Vi
Q29yZTo6Y3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6IENsZWFuZWQgdXAgdGhlIGNvZGUg
aGVyZSBhbmQgbW92ZWQgc29tZSBvZiB0aGUKKyAgICAgICAgbG9naWMgaW50byB0aGUgY29uc3Ry
dWN0b3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oOiBVcGRhdGVkIG1ldGhvZCBkZWZpbml0aW9ucy4KKworMjAxMC0wOS0yMSAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQg
YnkgWGFuIExvcGV6LgogCiAgICAgICAgIFtHVEtdICdtYWtlIGRpc3QnIHNob3VsZCBiZSBmaXhl
ZCBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIG5leHQgcmVsZWFzZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAK
aW5kZXggNmI3NmMyYWQ0MjU1ZGU5ZmMyMjNiMzgzNzNlYTE1NzM0YTdkYmRhOC4uZDZiMTYxNGUy
MjI5ZjUwZjcyMTA3NjIwYzU1NGY1ZmJhZjljZjUwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBA
IC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOCBBbHAgVG9rZXIgPGFscEBh
dG9rZXIuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBTLkwuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTI2LDggKzI3LDMyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorc3Rh
dGljIHZvaWQgcmVsZWFzZUN1c3RvbUZvbnREYXRhKHZvaWQqIGRhdGEpCit7CisgICAgc3RhdGlj
X2Nhc3Q8U2hhcmVkQnVmZmVyKj4oZGF0YSktPmRlcmVmKCk7Cit9CisKK0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGE6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoRlRfRmFjZSBmcmVlVHlwZUZhY2UsIFNo
YXJlZEJ1ZmZlciogYnVmZmVyKQorICAgIDogbV9mcmVlVHlwZUZhY2UoZnJlZVR5cGVGYWNlKQor
ICAgICwgbV9mb250RmFjZShjYWlyb19mdF9mb250X2ZhY2VfY3JlYXRlX2Zvcl9mdF9mYWNlKGZy
ZWVUeXBlRmFjZSwgMCkpCit7CisgICAgLy8gRklYTUUobXJvYmluc29uKTogU2hvdWxkIHdlIGJl
IHNldHRpbmcgc29tZSBoaW50aW5nIG9wdGlvbnMgaGVyZT8KKworICAgIGJ1ZmZlci0+cmVmKCk7
IC8vIFRoaXMgaXMgYmFsYW5jZWQgYnkgdGhlIGEgYnVmZmVyLT5kZXJlZigpIGluIHJlbGVhc2VD
dXN0b21Gb250RGF0YS4KKyAgICBzdGF0aWMgY2Fpcm9fdXNlcl9kYXRhX2tleV90IGJ1ZmZlcktl
eTsKKyAgICBjYWlyb19mb250X2ZhY2Vfc2V0X3VzZXJfZGF0YShtX2ZvbnRGYWNlLCAmYnVmZmVy
S2V5LCBidWZmZXIsCisgICAgICAgICBzdGF0aWNfY2FzdDxjYWlyb19kZXN0cm95X2Z1bmNfdD4o
cmVsZWFzZUN1c3RvbUZvbnREYXRhKSk7CisKKyAgICAvLyBDYWlybyBkb2Vzbid0IGRvIEZyZWVU
eXBlIHJlZmVyZW5jZSBjb3VudGluZywgc28gd2UgbmVlZCB0byBlbnN1cmUgdGhhdCB3aGVuCisg
ICAgLy8gdGhpcyBjYWlyb19mb250X2ZhY2VfdCBpcyBkZXN0cm95ZWQsIGl0IGNsZWFucyB1cCB0
aGUgRnJlZVR5cGUgZmFjZSBhcyB3ZWxsLgorICAgIHN0YXRpYyBjYWlyb191c2VyX2RhdGFfa2V5
X3QgZnJlZVR5cGVGYWNlS2V5OworICAgIGNhaXJvX2ZvbnRfZmFjZV9zZXRfdXNlcl9kYXRhKG1f
Zm9udEZhY2UsICZmcmVlVHlwZUZhY2VLZXksIGZyZWVUeXBlRmFjZSwKKyAgICAgICAgIHJlaW50
ZXJwcmV0X2Nhc3Q8Y2Fpcm9fZGVzdHJveV9mdW5jX3Q+KEZUX0RvbmVfRmFjZSkpOworfQorCiBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpCiB7CisgICAg
Ly8gbV9mcmVlVHlwZUZhY2Ugd2lsbCBiZSBkZXN0cm95ZWQgYWxvbmcgd2l0aCBtX2ZvbnRGYWNl
LiBTZWUgdGhlIGNvbnN0cnVjdG9yLgogICAgIGNhaXJvX2ZvbnRfZmFjZV9kZXN0cm95KG1fZm9u
dEZhY2UpOwogfQogCkBAIC0zNiwzOCArNjEsMjAgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGludCBzaXplLCBib29sIGJvbGQsIGIK
ICAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShtX2ZvbnRGYWNlLCBzaXplLCBib2xkLCBpdGFs
aWMpOwogfQogCi1zdGF0aWMgdm9pZCByZWxlYXNlRGF0YSh2b2lkKiBkYXRhKQotewotICAgIHN0
YXRpY19jYXN0PFNoYXJlZEJ1ZmZlcio+KGRhdGEpLT5kZXJlZigpOwotfQotCiBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhKiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlciog
YnVmZmVyKQogewogICAgIEFTU0VSVF9BUkcoYnVmZmVyLCBidWZmZXIpOwogCi0gICAgaW50IGVy
cm9yOwotCiAgICAgc3RhdGljIEZUX0xpYnJhcnkgbGlicmFyeSA9IDA7Ci0gICAgaWYgKCFsaWJy
YXJ5KSB7Ci0gICAgICAgIGVycm9yID0gRlRfSW5pdF9GcmVlVHlwZSgmbGlicmFyeSk7Ci0gICAg
ICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgbGlicmFyeSA9IDA7Ci0gICAgICAgICAgICBy
ZXR1cm4gMDsKLSAgICAgICAgfQorICAgIGlmICghbGlicmFyeSAmJiBGVF9Jbml0X0ZyZWVUeXBl
KCZsaWJyYXJ5KSkgeworICAgICAgICBsaWJyYXJ5ID0gMDsKKyAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgRlRfRmFjZSBmYWNlOwotICAgIGVycm9yID0gRlRfTmV3X01lbW9yeV9GYWNl
KGxpYnJhcnksIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgRlRfQnl0ZSo+KGJ1ZmZlci0+ZGF0YSgp
KSwgYnVmZmVyLT5zaXplKCksIDAsICZmYWNlKTsKLSAgICBpZiAoZXJyb3IpCisgICAgRlRfRmFj
ZSBmcmVlVHlwZUZhY2U7CisgICAgaWYgKEZUX05ld19NZW1vcnlfRmFjZShsaWJyYXJ5LCByZWlu
dGVycHJldF9jYXN0PGNvbnN0IEZUX0J5dGUqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+c2l6
ZSgpLCAwLCAmZnJlZVR5cGVGYWNlKSkKICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBidWZmZXIt
PnJlZigpOwotICAgIGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSA9IGNhaXJvX2Z0X2ZvbnRf
ZmFjZV9jcmVhdGVfZm9yX2Z0X2ZhY2UoZmFjZSwgMCk7Ci0KLSAgICBzdGF0aWMgY2Fpcm9fdXNl
cl9kYXRhX2tleV90IGJ1ZmZlcktleTsKLSAgICBjYWlyb19mb250X2ZhY2Vfc2V0X3VzZXJfZGF0
YShmb250RmFjZSwgJmJ1ZmZlcktleSwgYnVmZmVyLCByZWxlYXNlRGF0YSk7Ci0KLSAgICByZXR1
cm4gbmV3IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoZm9udEZhY2UpOworICAgIHJldHVybiBuZXcg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShmcmVlVHlwZUZhY2UsIGJ1ZmZlcik7CiB9CiAKIGJvb2wg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3Jt
YXQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGE3MmE2YTRlMjllZmNjZWNiOGVlNjE0ZWNiZWNlNTQy
ZTdhYTBlMzMuLmM0OGQxMTBlZTI5OWRhN2YyZWRlMTZkNWE4Y2QwZDg0ZDRhNzdkYzUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOCBB
bHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEwIElnYWxpYSBT
LkwuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDYgKzI2LDcgQEAKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCit0eXBlZGVmIHN0cnVj
dCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9fZm9udF9mYWNl
IGNhaXJvX2ZvbnRfZmFjZV90OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMywxNiArMzUs
MTQgQEAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAogc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7Ci0gICAgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZhY2UpCi0gICAgOiBtX2ZvbnRG
YWNlKGZvbnRGYWNlKQotICAgIHt9Ci0KK3B1YmxpYzoKKyAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
KCk7Ci0KICAgICBGb250UGxhdGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURhdGEoaW50IHNpemUsIGJv
b2wgYm9sZCwgYm9vbCBpdGFsaWMsIEZvbnRSZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5n
TW9kZSk7Ci0KICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zvcm1hdChjb25zdCBTdHJpbmcmKTsK
IAorcHJpdmF0ZToKKyAgICBGVF9GYWNlIG1fZnJlZVR5cGVGYWNlOwogICAgIGNhaXJvX2ZvbnRf
ZmFjZV90KiBtX2ZvbnRGYWNlOwogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>