equal
deleted
inserted
replaced
186 // CSipAlrMonitor::FreeResources |
186 // CSipAlrMonitor::FreeResources |
187 // ----------------------------------------------------------------------------- |
187 // ----------------------------------------------------------------------------- |
188 // |
188 // |
189 void CSipAlrMonitor::FreeResources ( MSipAlrObserver& aObserver ) |
189 void CSipAlrMonitor::FreeResources ( MSipAlrObserver& aObserver ) |
190 { |
190 { |
|
191 CSipAlrSnapMonitor* monitor= 0; |
191 for ( TInt i = iSnapMonitors.Count()-1; i >= 0; i-- ) |
192 for ( TInt i = iSnapMonitors.Count()-1; i >= 0; i-- ) |
192 { |
193 { |
193 TBool last = iSnapMonitors[i]->DetachObserver ( aObserver ); |
194 TBool last = iSnapMonitors[i]->DetachObserver ( aObserver ); |
194 if ( last ) |
195 if ( last ) |
195 { |
196 { |
196 delete iSnapMonitors[i]; |
197 monitor = iSnapMonitors[i]; |
197 iSnapMonitors.Remove ( i ); |
198 iSnapMonitors.Remove(i); |
|
199 delete monitor; |
|
200 monitor = NULL; |
198 PROFILE_DEBUG1( "CSipAlrMonitor::FreeResources monitor deleted" ) |
201 PROFILE_DEBUG1( "CSipAlrMonitor::FreeResources monitor deleted" ) |
199 } |
202 } |
200 } |
203 } |
|
204 iSnapMonitors.Compress(); |
201 } |
205 } |
202 |
206 |
203 // ----------------------------------------------------------------------------- |
207 // ----------------------------------------------------------------------------- |
204 // CSipAlrMonitor::FindSnapMonitor |
208 // CSipAlrMonitor::FindSnapMonitor |
205 // ----------------------------------------------------------------------------- |
209 // ----------------------------------------------------------------------------- |