clover: Catch errors from executing event action
Abort all dependent events. v2: Abort the current event as well. CC: <mesa-stable@lists.freedesktop.org> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
parent
e105b0ca30
commit
866b25fd01
|
@ -49,12 +49,14 @@ event::trigger_self() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
event::trigger() {
|
event::trigger() try {
|
||||||
if (wait_count() == 1)
|
if (wait_count() == 1)
|
||||||
action_ok(*this);
|
action_ok(*this);
|
||||||
|
|
||||||
for (event &ev : trigger_self())
|
for (event &ev : trigger_self())
|
||||||
ev.trigger();
|
ev.trigger();
|
||||||
|
} catch (error &e) {
|
||||||
|
abort(e.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<intrusive_ref<event>>
|
std::vector<intrusive_ref<event>>
|
||||||
|
|
Loading…
Reference in New Issue