If TriggerEvent is deleted in TriggerEvent::Triggered(),an incorrect value may be written to mOptions.
In this case, duplicate deletion occurs and a collision occurs.
To prevent this, the mOptions value was modified to be stored locally.
Change-Id: I37d149297e707a75eecd6cbd75a1a20307d62ace
DALI_LOG_WARNING("Unable to read to UpdateEvent File descriptor\n");
}
+ // Save value to prevent duplicate deletion
+ TriggerEventInterface::Options options = mOptions;
+
// Call the connected callback
CallbackBase::Execute(*mCallback);
//check if we should delete ourselves after the trigger
- if(mOptions == TriggerEventInterface::DELETE_AFTER_TRIGGER)
+ if(options == TriggerEventInterface::DELETE_AFTER_TRIGGER)
{
delete this;
}