Closed Jaydee2190 closed 13 years ago
Cancel() in nuiEvent sets mCancel = false;
However to actually stop propogating events this should be true.
bool nuiEventSource::SendEvent(const nuiEvent& rEvent) { if (IsEnabled() && !mpTargets.empty()) { rEvent.SetSource(this); std::vector<nuiEventTargetBase> targets(mpTargets); std::vector<nuiEventTargetBase>::const_iterator it = targets.begin(); std::vector<nuiEventTargetBase*>::const_iterator end = targets.end();
bool handled = false; while (it != end && !handled) { ((*it)->OnEvent(rEvent)); handled = rEvent.IsCanceled(); // returns FALSE when actually cancelled ++it; } return handled;
}
return false; }
Indeed, you're right. Thanks for catching it!
closed by 8220731c3393cdb4ec4b094153ea0b87dd2b0077 fixes nuiEvent::Cancel not actually cancelling the event :/ Thanks to Jaydee for finding this bug.
Cancel() in nuiEvent sets mCancel = false;
However to actually stop propogating events this should be true.
bool nuiEventSource::SendEvent(const nuiEvent& rEvent) { if (IsEnabled() && !mpTargets.empty()) { rEvent.SetSource(this); std::vector<nuiEventTargetBase> targets(mpTargets); std::vector<nuiEventTargetBase>::const_iterator it = targets.begin(); std::vector<nuiEventTargetBase*>::const_iterator end = targets.end();
}
return false; }