Bug 41956 - [WIN] Correct DeleteObject usage in PasteboardWin
Summary: [WIN] Correct DeleteObject usage in PasteboardWin
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-09 06:05 PDT by Patrick R. Gansterer
Modified: 2010-07-22 19:15 PDT (History)
2 users (show)

See Also:


Attachments
Patch (2.33 KB, patch)
2010-07-09 06:09 PDT, Patrick R. Gansterer
aroben: review-
Details | Formatted Diff | Diff
Patch (with OwnPtr) (2.47 KB, patch)
2010-07-22 13:26 PDT, Patrick R. Gansterer
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick R. Gansterer 2010-07-09 06:05:38 PDT
see patch
Comment 1 Patrick R. Gansterer 2010-07-09 06:09:57 PDT
Created attachment 61038 [details]
Patch
Comment 2 Adam Roben (:aroben) 2010-07-22 13:13:19 PDT
Comment on attachment 61038 [details]
Patch

>      if (::OpenClipboard(m_owner)) {
>          ::SetClipboardData(CF_BITMAP, resultBitmap);
>          ::CloseClipboard();
> -    }
> +    } else
> +        ::DeleteObject(resultBitmap);
>  }

If you put resultBitmap into an OwnPtr, and then pass it to SetClipboardData using leakPtr, you won't have to remember this extra DeleteObject call (as OwnPtr will do it for you). I think that would be a bit nicer.

Otherwise, this looks great! I'm surprised this hasn't caused any (known) problems for us so far.
Comment 3 Patrick R. Gansterer 2010-07-22 13:26:47 PDT
Created attachment 62331 [details]
Patch (with OwnPtr)
Comment 4 Adam Roben (:aroben) 2010-07-22 13:43:09 PDT
Comment on attachment 62331 [details]
Patch (with OwnPtr)

r=me
Comment 5 WebKit Commit Bot 2010-07-22 19:15:20 PDT
Comment on attachment 62331 [details]
Patch (with OwnPtr)

Clearing flags on attachment: 62331

Committed r63940: <http://trac.webkit.org/changeset/63940>
Comment 6 WebKit Commit Bot 2010-07-22 19:15:24 PDT
All reviewed patches have been landed.  Closing bug.