1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-21 17:28:00 +02:00

Return error on event unsubscribe failure

This commit is contained in:
disarray2077 2021-08-01 14:38:09 -03:00
parent e5f92fb21b
commit 6b976e0d1b

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