diff options
Diffstat (limited to 'WebCore/rendering/SVGRenderStyle.cpp')
-rw-r--r-- | WebCore/rendering/SVGRenderStyle.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/WebCore/rendering/SVGRenderStyle.cpp b/WebCore/rendering/SVGRenderStyle.cpp index 1749978..ddca85d 100644 --- a/WebCore/rendering/SVGRenderStyle.cpp +++ b/WebCore/rendering/SVGRenderStyle.cpp @@ -38,23 +38,26 @@ namespace WebCore { +SVGRenderStyle *SVGRenderStyle::s_defaultStyle = 0; + SVGRenderStyle::SVGRenderStyle() { - static SVGRenderStyle* defaultStyle = new SVGRenderStyle(CreateDefault); - - fill = defaultStyle->fill; - stroke = defaultStyle->stroke; - text = defaultStyle->text; - stops = defaultStyle->stops; - clip = defaultStyle->clip; - mask = defaultStyle->mask; - misc = defaultStyle->misc; - markers = defaultStyle->markers; + if (!s_defaultStyle) + s_defaultStyle = new SVGRenderStyle(true); + + fill = s_defaultStyle->fill; + stroke = s_defaultStyle->stroke; + text = s_defaultStyle->text; + stops = s_defaultStyle->stops; + clip = s_defaultStyle->clip; + mask = s_defaultStyle->mask; + misc = s_defaultStyle->misc; + markers = s_defaultStyle->markers; setBitDefaults(); } -SVGRenderStyle::SVGRenderStyle(CreateDefaultType) +SVGRenderStyle::SVGRenderStyle(bool) { setBitDefaults(); @@ -68,8 +71,7 @@ SVGRenderStyle::SVGRenderStyle(CreateDefaultType) markers.init(); } -SVGRenderStyle::SVGRenderStyle(const SVGRenderStyle& other) - : RefCounted<SVGRenderStyle>() +SVGRenderStyle::SVGRenderStyle(const SVGRenderStyle &other) : RefCounted<SVGRenderStyle>() { fill = other.fill; stroke = other.stroke; |