<?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>27031</bug_id>
          
          <creation_ts>2009-07-07 08:20:47 -0700</creation_ts>
          <short_desc>[WINCE] needs OwnPtr&lt;HDC&gt;</short_desc>
          <delta_ts>2009-07-09 13:00:16 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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>23154</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joe Mason">joenotcharles</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>130211</commentid>
    <comment_count>0</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2009-07-07 08:20:47 -0700</bug_when>
    <thetext>Our WinCE port stores HDC&apos;s in an OwnPtr, so we added a deleteOwnedPtr override for HDC.

I&apos;ve enabled this for all Windows builds, because it seems useful for all of them and will optimize out if it&apos;s not used.  I could easily change the patch to define it for WINCE only if that&apos;s preferred.

Yong points out that only HDC&apos;s created with CreateCompatibleDC can be stored in an OwnPtr - those returned by GetDC would be double-deleted.  I don&apos;t think this is dangerous because it&apos;s the same situation with any resource that&apos;s deleted by someone else: you don&apos;t own HDC&apos;s returned by GetDC, so you shouldn&apos;t put them in an OwnPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130216</commentid>
    <comment_count>1</comment_count>
      <attachid>32380</attachid>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2009-07-07 08:39:11 -0700</bug_when>
    <thetext>Created attachment 32380
patch implemented deleteOwnedPtr(HDC) for Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130709</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-07-09 13:00:16 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	JavaScriptCore/ChangeLog
	M	JavaScriptCore/wtf/OwnPtrCommon.h
	M	JavaScriptCore/wtf/OwnPtrWin.cpp
Committed r45669
	M	JavaScriptCore/wtf/OwnPtrWin.cpp
	M	JavaScriptCore/wtf/OwnPtrCommon.h
	M	JavaScriptCore/ChangeLog
r45669 = fdd939e9c7043d4f6e1b9643a262aaf50a7ec2af (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/45669</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32380</attachid>
            <date>2009-07-07 08:39:11 -0700</date>
            <delta_ts>2009-07-07 09:20:30 -0700</delta_ts>
            <desc>patch implemented deleteOwnedPtr(HDC) for Windows</desc>
            <filename>bug27031.patch</filename>
            <type>text/plain</type>
            <size>2301</size>
            <attacher name="Joe Mason">joenotcharles</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA5MjYwOWE1Li5iZGUyZTQwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMDktMDctMDYgIEpvZSBNYXNvbiAgPGpvZS5tYXNvbkB0b3JjaG1vYmlsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBB
dXRob3JzOiBZb25nIExpIDx5b25nLmxpQHRvcmNobW9iaWxlLmNvbT4sIEpvZSBNYXNvbiA8am9l
Lm1hc29uQHRvcmNobW9iaWxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjcwMzEKKyAgICAgICAgQWRkIGFuIG92ZXJyaWRlIGZvciBkZWxl
dGVPd25lZFB0cihIREMpIG9uIFdpbmRvd3MKKyAgICAgICAgCisgICAgICAgICogd3RmL093blB0
ckNvbW1vbi5oOgorICAgICAgICAqIHd0Zi9Pd25QdHJXaW4uY3BwOgorICAgICAgICAoV1RGOjpk
ZWxldGVPd25lZFB0cik6CisKIDIwMDktMDctMDYgIEdlb3JnZSBTdGFpa29zICA8Z2VvcmdlLnN0
YWlrb3NAdG9yY2htb2JpbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ckNvbW1vbi5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL093blB0ckNvbW1vbi5oCmluZGV4IDZjZDhiZGQuLjZkOTFhNTQgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHJDb21tb24uaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duUHRyQ29tbW9uLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjksNiArMzAsNyBAQAogI2lmIFBMQVRGT1JNKFdJTikKIHR5cGVkZWYgc3RydWN0
IEhCSVRNQVBfXyogSEJJVE1BUDsKIHR5cGVkZWYgc3RydWN0IEhCUlVTSF9fKiBIQlJVU0g7Cit0
eXBlZGVmIHN0cnVjdCBIRENfXyogSERDOwogdHlwZWRlZiBzdHJ1Y3QgSEZPTlRfXyogSEZPTlQ7
CiB0eXBlZGVmIHN0cnVjdCBIUEFMRVRURV9fKiBIUEFMRVRURTsKIHR5cGVkZWYgc3RydWN0IEhQ
RU5fXyogSFBFTjsKQEAgLTQ3LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAjaWYgUExBVEZP
Uk0oV0lOKQogICAgIHZvaWQgZGVsZXRlT3duZWRQdHIoSEJJVE1BUCk7CiAgICAgdm9pZCBkZWxl
dGVPd25lZFB0cihIQlJVU0gpOworICAgIHZvaWQgZGVsZXRlT3duZWRQdHIoSERDKTsKICAgICB2
b2lkIGRlbGV0ZU93bmVkUHRyKEhGT05UKTsKICAgICB2b2lkIGRlbGV0ZU93bmVkUHRyKEhQQUxF
VFRFKTsKICAgICB2b2lkIGRlbGV0ZU93bmVkUHRyKEhQRU4pOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvd3RmL093blB0cldpbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyV2lu
LmNwcAppbmRleCBiMDhkN2RjLi42N2EzMmZmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvT3duUHRyV2luLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyV2luLmNwcApA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IFRvcmNoIE1vYmls
ZSwgSW5jLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Miw2ICs0MywxMiBA
QCB2b2lkIGRlbGV0ZU93bmVkUHRyKEhCUlVTSCBwdHIpCiAgICAgICAgIERlbGV0ZU9iamVjdChw
dHIpOwogfQogCit2b2lkIGRlbGV0ZU93bmVkUHRyKEhEQyBwdHIpCit7CisgICAgaWYgKHB0cikK
KyAgICAgICAgRGVsZXRlREMocHRyKTsKK30KKwogdm9pZCBkZWxldGVPd25lZFB0cihIRk9OVCBw
dHIpCiB7CiAgICAgaWYgKHB0cikK
</data>
<flag name="review"
          id="16834"
          type_id="1"
          status="+"
          setter="staikos"
    />
          </attachment>
      

    </bug>

</bugzilla>