<?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>10836</bug_id>
          
          <creation_ts>2006-09-13 06:27:56 -0700</creation_ts>
          <short_desc>REGRESSION: Mac implementation of Font::drawGlyphs leaks a CGColorRef</short_desc>
          <delta_ts>2006-09-13 21:48:03 -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>Platform</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>EasyFix, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Rowe (bdash)">mrowe</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>55390</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-09-13 06:27:56 -0700</bug_when>
    <thetext>Line 594 of FontMac.mm (http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/platform/mac/FontMac.mm#L594) contains a call to cgColor(context-&gt;pen().color()) as part of the arguments of a function call.  The CGColorRef returned by cgColor is retained and needs to be released to prevent it from being leaked.  It seems as though Font::drawComplexText (line 485) has the same problem.

This leak shows up in the Buildbot output at http://build.webkit.org/results/post-commit-leaks-powerpc-mac-os-x/2531/DumpRenderTree5-leaks.txt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55451</commentid>
    <comment_count>1</comment_count>
      <attachid>10548</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-09-13 15:24:52 -0700</bug_when>
    <thetext>Created attachment 10548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55456</commentid>
    <comment_count>2</comment_count>
      <attachid>10548</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-09-13 15:49:08 -0700</bug_when>
    <thetext>Comment on attachment 10548
Patch

My mistake, thanks for fixing.

You might add a:
 // WebCore expects text to respect the pen color, CG expects text to use fill

comment to the other place as well, I had meant to do that originally.

Also, this makes me wonder if it wouldn&apos;t be a better idea to set the color on the context with 4 floats to prevent the malloc/free associated with creating a color and freeing...  If it shows up in shark we&apos;ll have to move to that model.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55474</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-09-13 21:48:03 -0700</bug_when>
    <thetext>Landed in r16356.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10548</attachid>
            <date>2006-09-13 15:24:52 -0700</date>
            <delta_ts>2006-09-13 15:49:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>webkit-bug-10836-patch-v1.patch</filename>
            <type>text/plain</type>
            <size>2323</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNjM0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDYtMDktMTQgIE1hcmsgUm93ZSAgPG9wZW5kYXJ3aW4ub3JnQGJk
YXNoLm5ldC5uej4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTEwODM2
CisgICAgICAgIEJ1ZyAxMDgzNjogUkVHUkVTU0lPTjogTWFjIGltcGxlbWVudGF0aW9uIG9mIEZv
bnQ6OmRyYXdHbHlwaHMgbGVha3MgYSBDR0NvbG9yUmVmCisKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvRm9udE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmRyYXdDb21wbGV4VGV4dCk6
IFJlbGVhc2UgQ0dDb2xvclJlZiBhZnRlciB1c2UuCisgICAgICAgIChXZWJDb3JlOjpGb250Ojpk
cmF3R2x5cGhzKTogRGl0dG8uCisKIDIwMDYtMDktMTMgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBw
bGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHRoZSBYQkwgYW5kIFhTTFQgaWZkZWZzIHRvIGJl
IGNvbnNpc3RlbnQgd2l0aCB0aGUgU1ZHCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL21hYy9Gb250
TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0ZvbnRNYWMubW0JKHJl
dmlzaW9uIDE2MzQ2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRm9udE1hYy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDgyLDcgKzQ4Miw5IEBAIHZvaWQgRm9udDo6ZHJhd0NvbXBsZXhUZXh0KEdy
YXBoaWNzQ29udGUKICAgICAKICAgICAvLyBBVFNVSSBjYW4ndCBkcmF3IGJleW9uZCAtMzI3Njgg
dG8gKzMyNzY3IHNvIHdlIHRyYW5zbGF0ZSB0aGUgQ1RNIGFuZCB0ZWxsIEFUU1VJIHRvIGRyYXcg
YXQgKDAsIDApLgogICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gZ3JhcGhpY3NDb250ZXh0LT5w
bGF0Zm9ybUNvbnRleHQoKTsKLSAgICBDR0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY29u
dGV4dCwgY2dDb2xvcihncmFwaGljc0NvbnRleHQtPnBlbigpLmNvbG9yKCkpKTsKKyAgICBDR0Nv
bG9yUmVmIHBlbkNvbG9yID0gY2dDb2xvcihncmFwaGljc0NvbnRleHQtPnBlbigpLmNvbG9yKCkp
OworICAgIENHQ29udGV4dFNldEZpbGxDb2xvcldpdGhDb2xvcihjb250ZXh0LCBwZW5Db2xvcik7
CisgICAgQ0dDb2xvclJlbGVhc2UocGVuQ29sb3IpOwogICAgIENHQ29udGV4dFRyYW5zbGF0ZUNU
TShjb250ZXh0LCBwb2ludC54KCksIHBvaW50LnkoKSk7CiAgICAgc3RhdHVzID0gQVRTVURyYXdU
ZXh0KHBhcmFtcy5tX2xheW91dCwgYWRqdXN0ZWRSdW4uZnJvbSgpLCBydW5MZW5ndGgsIDAsIDAp
OwogICAgIGlmIChzdGF0dXMgPT0gbm9FcnIgJiYgcGFyYW1zLm1faGFzU3ludGhldGljQm9sZCkg
ewpAQCAtNTkxLDcgKzU5Myw5IEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGljc0NvbnRl
eHQqIGMKICAgICB3a1NldENHRm9udFJlbmRlcmluZ01vZGUoY2dDb250ZXh0LCBkcmF3Rm9udCk7
CiAgICAgQ0dDb250ZXh0U2V0Rm9udFNpemUoY2dDb250ZXh0LCAxLjBmKTsKIAotICAgIENHQ29u
dGV4dFNldEZpbGxDb2xvcldpdGhDb2xvcihjZ0NvbnRleHQsIGNnQ29sb3IoY29udGV4dC0+cGVu
KCkuY29sb3IoKSkpOyAvLyBXZWJDb3JlIGV4cGVjdHMgdGV4dCB0byByZXNwZWN0IHRoZSBwZW4g
Y29sb3IsIENHIGV4cGVjdHMgdGV4dCB0byB1c2UgZmlsbAorICAgIENHQ29sb3JSZWYgcGVuQ29s
b3IgPSBjZ0NvbG9yKGNvbnRleHQtPnBlbigpLmNvbG9yKCkpOworICAgIENHQ29udGV4dFNldEZp
bGxDb2xvcldpdGhDb2xvcihjZ0NvbnRleHQsIHBlbkNvbG9yKTsgLy8gV2ViQ29yZSBleHBlY3Rz
IHRleHQgdG8gcmVzcGVjdCB0aGUgcGVuIGNvbG9yLCBDRyBleHBlY3RzIHRleHQgdG8gdXNlIGZp
bGwKKyAgICBDR0NvbG9yUmVsZWFzZShwZW5Db2xvcik7CiAKICAgICBDR0NvbnRleHRTZXRUZXh0
UG9zaXRpb24oY2dDb250ZXh0LCBwb2ludC54KCksIHBvaW50LnkoKSk7CiAgICAgQ0dDb250ZXh0
U2hvd0dseXBoc1dpdGhBZHZhbmNlcyhjZ0NvbnRleHQsIGdseXBoQnVmZmVyLmdseXBocyhmcm9t
KSwgZ2x5cGhCdWZmZXIuYWR2YW5jZXMoZnJvbSksIG51bUdseXBocyk7Cg==
</data>
<flag name="review"
          id="3414"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>