@@ -65,7 +65,7 @@ signal_impl::clear()
65
65
// Don't let signal_impl::notify() erase the slots. It would invalidate the
66
66
// iterator in the following loop.
67
67
const bool saved_deferred = deferred_;
68
- signal_exec exec (shared_from_this ());
68
+ signal_impl_holder exec (shared_from_this ());
69
69
70
70
// Disconnect all connected slots before they are deleted.
71
71
// signal_impl::notify() will be called and delete the self_and_iter structs.
@@ -121,7 +121,7 @@ signal_impl::erase(iterator_type i)
121
121
// Don't let signal_impl::notify() erase the slot. It would be more
122
122
// difficult to get the correct return value from signal_impl::erase().
123
123
const bool saved_deferred = deferred_;
124
- signal_exec exec (shared_from_this ());
124
+ signal_impl_holder exec (shared_from_this ());
125
125
126
126
// Disconnect the slot before it is deleted.
127
127
// signal_impl::notify() will be called and delete the self_and_iter struct.
@@ -160,8 +160,8 @@ signal_impl::sweep()
160
160
{
161
161
// The deletion of a slot may cause the deletion of a signal_base,
162
162
// a decrementation of ref_count_, and the deletion of this.
163
- // In that case, the deletion of this is deferred to ~signal_exec ().
164
- signal_exec exec (shared_from_this ());
163
+ // In that case, the deletion of this is deferred to ~signal_impl_holder ().
164
+ signal_impl_holder exec (shared_from_this ());
165
165
166
166
deferred_ = false ;
167
167
auto i = slots_.begin ();
@@ -184,14 +184,14 @@ signal_impl::notify_self_and_iter_of_invalidated_slot(notifiable* d)
184
184
{
185
185
// The deletion of a slot may cause the deletion of a signal_base,
186
186
// a decrementation of si->self_->ref_count_, and the deletion of si->self_.
187
- // In that case, the deletion of si->self_ is deferred to ~signal_exec ().
188
- signal_exec exec (si->self_ );
187
+ // In that case, the deletion of si->self_ is deferred to ~signal_impl_holder ().
188
+ signal_impl_holder exec (si->self_ );
189
189
si->self_ ->slots_ .erase (si->iter_ );
190
190
}
191
191
else
192
192
{
193
193
// This is occuring during signal emission or slot erasure.
194
- // => sweep() will be called from ~signal_exec () after signal emission.
194
+ // => sweep() will be called from ~signal_impl_holder () after signal emission.
195
195
// This is safer because we don't have to care about our
196
196
// iterators in emit(), clear(), and erase().
197
197
si->self_ ->deferred_ = true ;
0 commit comments