Index: cc/render_pass_draw_quad.cc |
diff --git a/cc/render_pass_draw_quad.cc b/cc/render_pass_draw_quad.cc |
index 6780caa6b8776a2c946bd78aaf8e5899c134b05a..37ed51ef0d9cd6d065e6fcf344b4cbcf9b26d36a 100644 |
--- a/cc/render_pass_draw_quad.cc |
+++ b/cc/render_pass_draw_quad.cc |
@@ -36,14 +36,9 @@ const RenderPassDrawQuad* RenderPassDrawQuad::materialCast(const DrawQuad* quad) |
scoped_ptr<RenderPassDrawQuad> RenderPassDrawQuad::copy(const SharedQuadState* copiedSharedQuadState, RenderPass::Id copiedRenderPassId) const |
{ |
- unsigned bytes = size(); |
- DCHECK(bytes > 0); |
- |
- scoped_ptr<RenderPassDrawQuad> copyQuad(reinterpret_cast<RenderPassDrawQuad*>(new char[bytes])); |
- memcpy(copyQuad.get(), this, bytes); |
+ scoped_ptr<RenderPassDrawQuad> copyQuad(new RenderPassDrawQuad(*materialCast(this))); |
copyQuad->setSharedQuadState(copiedSharedQuadState); |
copyQuad->m_renderPassId = copiedRenderPassId; |
- |
return copyQuad.Pass(); |
} |