[Webkit-unassigned] [Bug 76604] New: [windows] GDI DC isn't restored to default state before deleting/releasing.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 18 21:58:56 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=76604

           Summary: [windows] GDI DC isn't restored to default state
                    before deleting/releasing.
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Platform
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: levin at chromium.org
                CC: ddkilzer at webkit.org, aroben at apple.com


When I was doing the fix for 76303, I noticed this issue in a few places:
  http://trac.webkit.org/browser/trunk/Source/WebCore/platform/win/DragImageWin.cpp#L201
  http://trac.webkit.org/browser/trunk/Source/WebKit/win/WebNodeHighlight.cpp#L157

There are a few things that could be done:
1. One could bake in SaveDC/RestoreDC into HWndDC and OwnPtr<HDC> -- likely OwnPtr<HDC> should become something else. Ideally paired with removing the code which restores state already.
2. One could put in checks into HWndDC and OwnPtr<HDC> to assert that the hdc is at its default state. (The state it was at when it was given to the class.)

#1 seems the least error prone (and likely not very expensive these days).

I'll leave this fix/decision up to people who work on this platform more often than I do.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list