@@ -59,11 +59,6 @@ class IECoreAppleseed::EditBlockHandler::RendererController : public asr::Defaul
59
59
m_status = ContinueRendering;
60
60
}
61
61
62
- virtual void release ()
63
- {
64
- delete this ;
65
- }
66
-
67
62
virtual Status get_status () const
68
63
{
69
64
return m_status;
@@ -81,18 +76,14 @@ class IECoreAppleseed::EditBlockHandler::RendererController : public asr::Defaul
81
76
82
77
IECoreAppleseed::EditBlockHandler::EditBlockHandler ( asr::Project &project )
83
78
: m_project( project )
84
- , m_renderer(0 )
85
79
{
86
80
m_editDepth = 0 ;
87
- m_rendererController = new RendererController ();
81
+ m_rendererController. reset ( new RendererController () );
88
82
}
89
83
90
84
IECoreAppleseed::EditBlockHandler::~EditBlockHandler ()
91
85
{
92
86
stopRendering ();
93
-
94
- m_rendererController->release ();
95
- delete m_renderer;
96
87
}
97
88
98
89
void IECoreAppleseed::EditBlockHandler::renderThreadFunc ( EditBlockHandler *self )
@@ -118,9 +109,9 @@ void IECoreAppleseed::EditBlockHandler::startRendering()
118
109
asr::Configuration *cfg = m_project.configurations ().get_by_name ( " interactive" );
119
110
const asr::ParamArray ¶ms = cfg->get_parameters ();
120
111
121
- if ( !m_renderer )
112
+ if ( !m_renderer. get () )
122
113
{
123
- m_renderer = new asr::MasterRenderer ( m_project, params, m_rendererController );
114
+ m_renderer. reset ( new asr::MasterRenderer ( m_project, params, m_rendererController. get () ) );
124
115
}
125
116
else
126
117
{
@@ -155,7 +146,7 @@ const string & IECoreAppleseed::EditBlockHandler::exactScopeName() const
155
146
156
147
void IECoreAppleseed::EditBlockHandler::editBegin ( const string &editType, const CompoundDataMap ¶meters )
157
148
{
158
- if ( !m_renderer )
149
+ if ( !m_renderer. get () )
159
150
{
160
151
msg ( Msg::Error, " IECoreAppleseed::RendererImplementation::editBegin" , " editBegin called before worldEnd." );
161
152
return ;
@@ -191,7 +182,7 @@ void IECoreAppleseed::EditBlockHandler::editBegin( const string &editType, const
191
182
192
183
void IECoreAppleseed::EditBlockHandler::editEnd ()
193
184
{
194
- if ( !m_renderer )
185
+ if ( !m_renderer. get () )
195
186
{
196
187
msg ( Msg::Error, " IECoreAppleseed::RendererImplementation::editEnd" , " editEnd called before worldEnd." );
197
188
return ;
0 commit comments