In EventSender.cpp we are controlling the exceptions with lines like this one: g_return_val_if_fail((!exception || !*exception), JSValueMakeUndefined(context)); We should use && instead of ||, and we could even leave (!*exception) if we can assure the parameter is always initialized.
I think || is correct here. I'm cleaning up bugs, so I'll close this, but feel free to reopen it if I'm wrong.