diff options
author | Warwick Allison <warwick.allison@nokia.com> | 2009-07-31 11:52:57 +1000 |
---|---|---|
committer | Warwick Allison <warwick.allison@nokia.com> | 2009-07-31 11:52:57 +1000 |
commit | aa9cf406d62004519ad54596e1c391f9a6439210 (patch) | |
tree | dd562b9c296981f2761b76623911be8496c7af84 /src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp | |
parent | 987aec28b950e1c9817a20a9dd71afc071cd93ea (diff) | |
parent | 56b6a5924008ab5cdbae36e9662eddba923acd5e (diff) |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt
Diffstat (limited to 'src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp index 7a255d8ab..68781291b 100644 --- a/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp +++ b/src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp @@ -546,9 +546,10 @@ void CanvasRenderingContext2D::lineTo(float x, float y) return; if (!state().m_invertibleCTM) return; - if (m_path.isEmpty()) + if (!m_path.hasCurrentPoint()) m_path.moveTo(FloatPoint(x, y)); - m_path.addLineTo(FloatPoint(x, y)); + else + m_path.addLineTo(FloatPoint(x, y)); } void CanvasRenderingContext2D::quadraticCurveTo(float cpx, float cpy, float x, float y) @@ -557,9 +558,10 @@ void CanvasRenderingContext2D::quadraticCurveTo(float cpx, float cpy, float x, f return; if (!state().m_invertibleCTM) return; - if (m_path.isEmpty()) - m_path.moveTo(FloatPoint(cpx, cpy)); - m_path.addQuadCurveTo(FloatPoint(cpx, cpy), FloatPoint(x, y)); + if (!m_path.hasCurrentPoint()) + m_path.moveTo(FloatPoint(x, y)); + else + m_path.addQuadCurveTo(FloatPoint(cpx, cpy), FloatPoint(x, y)); } void CanvasRenderingContext2D::bezierCurveTo(float cp1x, float cp1y, float cp2x, float cp2y, float x, float y) @@ -568,9 +570,10 @@ void CanvasRenderingContext2D::bezierCurveTo(float cp1x, float cp1y, float cp2x, return; if (!state().m_invertibleCTM) return; - if (m_path.isEmpty()) - m_path.moveTo(FloatPoint(cp1x, cp1y)); - m_path.addBezierCurveTo(FloatPoint(cp1x, cp1y), FloatPoint(cp2x, cp2y), FloatPoint(x, y)); + if (!m_path.hasCurrentPoint()) + m_path.moveTo(FloatPoint(x, y)); + else + m_path.addBezierCurveTo(FloatPoint(cp1x, cp1y), FloatPoint(cp2x, cp2y), FloatPoint(x, y)); } void CanvasRenderingContext2D::arcTo(float x0, float y0, float x1, float y1, float r, ExceptionCode& ec) |