fix interrupt event flag

This commit is contained in:
Michael Scire 2019-05-02 04:53:31 -07:00
parent a189071537
commit c3d344cd1b

View File

@ -124,8 +124,8 @@ static IEvent *CreateSystemEvent(F f, bool autoclear = false) {
template <class F> template <class F>
static IEvent *CreateInterruptEvent(F f, u64 irq, bool autoclear = false) { static IEvent *CreateInterruptEvent(F f, u64 irq, bool autoclear = false) {
Handle r_h; Handle r_h;
/* flag is "rising edge vs level", official N code maps autoclear to edge and not to level... */ /* flag is "rising edge vs level". */
if (R_FAILED(svcCreateInterruptEvent(&r_h, irq, autoclear ? 1 : 0))) { if (R_FAILED(svcCreateInterruptEvent(&r_h, irq, autoclear ? 0 : 1))) {
std::abort(); std::abort();
} }
return new HosEvent<F>(r_h, INVALID_HANDLE, std::move(f), autoclear); return new HosEvent<F>(r_h, INVALID_HANDLE, std::move(f), autoclear);