Title: [153478] trunk/Source/WebCore
Revision
153478
Author
par...@webkit.org
Date
2013-07-30 10:27:22 -0700 (Tue, 30 Jul 2013)

Log Message

Use OwnPtr in RenderThemeWin and ScrollbarThemeWin
https://bugs.webkit.org/show_bug.cgi?id=117978

Reviewed by Brent Fulgham.

Use OwnPtr to avoid manual deletion of objects.

* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::paintTrackPiece):
* rendering/RenderThemeWin.cpp:
(WebCore::drawControl):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (153477 => 153478)


--- trunk/Source/WebCore/ChangeLog	2013-07-30 17:01:40 UTC (rev 153477)
+++ trunk/Source/WebCore/ChangeLog	2013-07-30 17:27:22 UTC (rev 153478)
@@ -1,3 +1,17 @@
+2013-07-30  Patrick Gansterer  <par...@webkit.org>
+
+        Use OwnPtr in RenderThemeWin and ScrollbarThemeWin
+        https://bugs.webkit.org/show_bug.cgi?id=117978
+
+        Reviewed by Brent Fulgham.
+
+        Use OwnPtr to avoid manual deletion of objects.
+
+        * platform/win/ScrollbarThemeWin.cpp:
+        (WebCore::ScrollbarThemeWin::paintTrackPiece):
+        * rendering/RenderThemeWin.cpp:
+        (WebCore::drawControl):
+
 2013-07-30  Alex Christensen  <achristen...@apple.com>
 
         Added include directories to Visual Studio for WebGL.

Modified: trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp (153477 => 153478)


--- trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp	2013-07-30 17:01:40 UTC (rev 153477)
+++ trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp	2013-07-30 17:27:22 UTC (rev 153478)
@@ -256,17 +256,15 @@
             ::FillRect(hdc, &themeRect, HBRUSH(COLOR_SCROLLBAR+1));
         else {
             static WORD patternBits[8] = { 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55 };
-            HBITMAP patternBitmap = ::CreateBitmap(8, 8, 1, 1, patternBits);
-            HBRUSH brush = ::CreatePatternBrush(patternBitmap);
+            OwnPtr<HBITMAP> patternBitmap = adoptPtr(::CreateBitmap(8, 8, 1, 1, patternBits));
+            OwnPtr<HBRUSH> brush = adoptPtr(::CreatePatternBrush(patternBitmap.get()));
             SaveDC(hdc);
             ::SetTextColor(hdc, ::GetSysColor(COLOR_3DHILIGHT));
             ::SetBkColor(hdc, ::GetSysColor(COLOR_3DFACE));
             ::SetBrushOrgEx(hdc, rect.x(), rect.y(), NULL);
-            ::SelectObject(hdc, brush);
-            ::FillRect(hdc, &themeRect, brush);
+            ::SelectObject(hdc, brush.get());
+            ::FillRect(hdc, &themeRect, brush.get());
             ::RestoreDC(hdc, -1);
-            ::DeleteObject(brush);  
-            ::DeleteObject(patternBitmap);
         }
     }
 

Modified: trunk/Source/WebCore/rendering/RenderThemeWin.cpp (153477 => 153478)


--- trunk/Source/WebCore/rendering/RenderThemeWin.cpp	2013-07-30 17:01:40 UTC (rev 153477)
+++ trunk/Source/WebCore/rendering/RenderThemeWin.cpp	2013-07-30 17:27:22 UTC (rev 153478)
@@ -694,23 +694,21 @@
             ::DrawEdge(hdc, &widgetRect, EDGE_RAISED, BF_RECT | BF_SOFT | BF_MIDDLE | BF_ADJUST);
             if (themeData.m_state == TUS_DISABLED) {
                 static WORD patternBits[8] = {0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55};
-                HBITMAP patternBmp = ::CreateBitmap(8, 8, 1, 1, patternBits);
+                OwnPtr<HBITMAP> patternBmp = adoptPtr(::CreateBitmap(8, 8, 1, 1, patternBits));
                 if (patternBmp) {
-                    HBRUSH brush = (HBRUSH) ::CreatePatternBrush(patternBmp);
+                    OwnPtr<HBRUSH> brush = adoptPtr(::CreatePatternBrush(patternBmp.get()));
                     COLORREF oldForeColor = ::SetTextColor(hdc, ::GetSysColor(COLOR_3DFACE));
                     COLORREF oldBackColor = ::SetBkColor(hdc, ::GetSysColor(COLOR_3DHILIGHT));
                     POINT p;
                     ::GetViewportOrgEx(hdc, &p);
                     ::SetBrushOrgEx(hdc, p.x + widgetRect.left, p.y + widgetRect.top, NULL);
-                    HBRUSH oldBrush = (HBRUSH) ::SelectObject(hdc, brush);
-                    ::FillRect(hdc, &widgetRect, brush);
+                    HGDIOBJ oldBrush = ::SelectObject(hdc, brush.get());
+                    ::FillRect(hdc, &widgetRect, brush.get());
                     ::SetTextColor(hdc, oldForeColor);
                     ::SetBkColor(hdc, oldBackColor);
                     ::SelectObject(hdc, oldBrush);
-                    ::DeleteObject(brush); 
                 } else
                     ::FillRect(hdc, &widgetRect, (HBRUSH)COLOR_3DHILIGHT);
-                ::DeleteObject(patternBmp);
             }
         } else {
             // Push buttons, buttons, checkboxes and radios, and the dropdown arrow in menulists.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to