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:
commit
47cde27639
1 changed files with 9 additions and 15 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue