Index: compositor/gles/opengles_visitor.cc |
diff --git a/compositor/gles/opengles_visitor.cc b/compositor/gles/opengles_visitor.cc |
index cb4fdd5d71d559166981bc16d489ac191341518a..ffebe59417208d9344176c987e3bd7158de15ff2 100644 |
--- a/compositor/gles/opengles_visitor.cc |
+++ b/compositor/gles/opengles_visitor.cc |
@@ -22,7 +22,7 @@ |
#endif |
namespace window_manager { |
- |
+ |
OpenGlesDrawVisitor::OpenGlesDrawVisitor(Gles2Interface* gl, |
RealCompositor* compositor, |
Compositor::StageActor* stage) |
@@ -95,10 +95,10 @@ OpenGlesDrawVisitor::OpenGlesDrawVisitor(Gles2Interface* gl, |
CHECK(gl_->InitGLExtensions()) << "Failed to load GL-ES extensions."; |
// Allocate shaders |
- tex_color_shader_ = new TexColorShader(); |
- tex_shade_shader_ = new TexShadeShader(); |
- no_alpha_color_shader_ = new NoAlphaColorShader(); |
- no_alpha_shade_shader_ = new NoAlphaShadeShader(); |
+ tex_color_shader_.reset(new TexColorShader()); |
+ tex_shade_shader_.reset(new TexShadeShader()); |
+ no_alpha_color_shader_.reset(new NoAlphaColorShader()); |
+ no_alpha_shade_shader_.reset(new NoAlphaShadeShader()); |
gl_->ReleaseShaderCompiler(); |
// TODO: Move away from one global Vertex Buffer Object |
@@ -128,14 +128,10 @@ OpenGlesDrawVisitor::OpenGlesDrawVisitor(Gles2Interface* gl, |
} |
OpenGlesDrawVisitor::~OpenGlesDrawVisitor() { |
- delete tex_color_shader_; |
- delete tex_shade_shader_; |
- delete no_alpha_color_shader_; |
- delete no_alpha_shade_shader_; |
- |
gl_->DeleteBuffers(1, &vertex_buffer_object_); |
- LOG_IF(ERROR, gl_->EglMakeCurrent(egl_display_, EGL_NO_SURFACE, |
+ LOG_IF(ERROR, gl_->EglMakeCurrent(egl_display_, |
+ EGL_NO_SURFACE, |
EGL_NO_SURFACE, |
EGL_NO_CONTEXT) != EGL_TRUE) |
<< "eglMakeCurrent() failed: " << eglGetError(); |
@@ -184,10 +180,10 @@ void OpenGlesDrawVisitor::BindImage(const ImageContainer* container, |
container->width(), container->height(), |
0, gl_format, gl_type, container->data()); |
- OpenGlesTextureData* data = new OpenGlesTextureData(gl_); |
+ scoped_ptr<OpenGlesTextureData> data(new OpenGlesTextureData(gl_)); |
data->SetTexture(texture); |
data->set_has_alpha(ImageFormatUsesAlpha(container->format())); |
- actor->set_texture_data(data); |
+ actor->set_texture_data(data.release()); |
} |
void OpenGlesDrawVisitor::VisitStage(RealCompositor::StageActor* actor) { |
@@ -271,9 +267,9 @@ void OpenGlesDrawVisitor::CreateTextureData( |
if (!image_data.Bind(actor)) |
return; |
- OpenGlesTextureData* texture = new OpenGlesTextureData(gl_); |
- image_data.BindTexture(texture, !actor->pixmap_is_opaque()); |
- actor->set_texture_data(texture); |
+ scoped_ptr<OpenGlesTextureData> texture(new OpenGlesTextureData(gl_)); |
+ image_data.BindTexture(texture.get(), !actor->pixmap_is_opaque()); |
+ actor->set_texture_data(texture.release()); |
} |
void OpenGlesDrawVisitor::VisitImage(RealCompositor::ImageActor* actor) { |