1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-12 05:14:10 +02:00

Merge pull request #1126 from disarray2077/event_unsubscribe

Return error on event unsubscribe failure
This commit is contained in:
Brian Fiete 2021-08-02 10:50:39 -07:00 committed by GitHub
commit 47cde27639
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -136,7 +136,7 @@ namespace System
} }
} }
public void Remove(T compareDelegate, bool deleteDelegate = false) mut public Result<void> Remove(T compareDelegate, bool deleteDelegate = false) mut
{ {
Object data = Target; Object data = Target;
@ -150,9 +150,7 @@ namespace System
break; break;
} }
if (idx == -1) if (idx == -1)
{ return .Err;
Runtime.FatalError("Not found");
}
if (deleteDelegate) if (deleteDelegate)
delete list[idx]; delete list[idx];
@ -177,18 +175,14 @@ namespace System
else else
{ {
T dlgMember = (T)data; T dlgMember = (T)data;
if (Delegate.Equals(compareDelegate, dlgMember)) if (!Delegate.Equals(compareDelegate, dlgMember))
{ return .Err;
if (deleteDelegate) if (deleteDelegate)
delete dlgMember; delete dlgMember;
Target = null; Target = null;
return;
}
else
{
Runtime.FatalError("Not found");
}
} }
return .Ok;
} }
public rettype(T) Invoke(params T p) mut public rettype(T) Invoke(params T p) mut