Fix leaks of RGBColor instances from below SVGColor::rgbColor.
authormrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Aug 2009 21:27:03 +0000 (21:27 +0000)
committermrowe@apple.com <mrowe@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Aug 2009 21:27:03 +0000 (21:27 +0000)
Reviewed by Geoff Garen.

* svg/SVGColor.cpp:
(WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
RGBColor is cleaned up by the caller.
* svg/SVGColor.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@47232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/svg/SVGColor.cpp
WebCore/svg/SVGColor.h

index 4184fb6..7d54152 100644 (file)
@@ -1,3 +1,14 @@
+2009-08-13  Mark Rowe  <mrowe@apple.com>
+
+        Reviewed by Geoff Garen.
+
+        Fix leaks of RGBColor instances from below SVGColor::rgbColor.
+
+        * svg/SVGColor.cpp:
+        (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
+        RGBColor is cleaned up by the caller.
+        * svg/SVGColor.h:
+
 2009-08-13  Pavel Feldman  <pfeldman@chromium.org>
 
         Reviewed by Timothy Hatcher.
index f939ef0..d819ebf 100644 (file)
@@ -62,9 +62,9 @@ unsigned short SVGColor::colorType() const
     return m_colorType;
 }
 
-RGBColor* SVGColor::rgbColor() const
+PassRefPtr<RGBColor> SVGColor::rgbColor() const
 {
-    return RGBColor::create(m_color.rgb()).releaseRef();
+    return RGBColor::create(m_color.rgb());
 }
 
 void SVGColor::setRGBColor(const String& rgbColor, ExceptionCode& ec)
index 5dfb694..406166b 100644 (file)
@@ -57,8 +57,8 @@ namespace WebCore {
         // 'SVGColor' functions
         unsigned short colorType() const;
 
-        RGBColor* rgbColor() const;
-        
+        PassRefPtr<RGBColor> rgbColor() const;
+
         static Color colorFromRGBColorString(const String&);
 
         void setRGBColor(const String& rgbColor) { ExceptionCode ignored = 0; setRGBColor(rgbColor, ignored); }