summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/SVGRenderStyle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/SVGRenderStyle.cpp')
-rw-r--r--WebCore/rendering/SVGRenderStyle.cpp28
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;