mirror of
https://github.com/osukey/osukey.git
synced 2025-07-01 08:20:00 +09:00
Fix derived API request types firing success when they shouldn't
The usual case of `virtual`/`override` being dangerous when logic is added to the base implementation. As such, I've removed this completely.
This commit is contained in:
@ -16,6 +16,11 @@ namespace osu.Game.Online.API
|
||||
/// </summary>
|
||||
protected virtual string FileExtension { get; } = @".tmp";
|
||||
|
||||
protected APIDownloadRequest()
|
||||
{
|
||||
base.Success += () => Success?.Invoke(filename);
|
||||
}
|
||||
|
||||
protected override WebRequest CreateWebRequest()
|
||||
{
|
||||
var file = Path.GetTempFileName();
|
||||
@ -39,12 +44,6 @@ namespace osu.Game.Online.API
|
||||
TriggerSuccess();
|
||||
}
|
||||
|
||||
internal override void TriggerSuccess()
|
||||
{
|
||||
base.TriggerSuccess();
|
||||
Success?.Invoke(filename);
|
||||
}
|
||||
|
||||
public event APIProgressHandler Progressed;
|
||||
|
||||
public new event APISuccessHandler<string> Success;
|
||||
|
@ -25,6 +25,11 @@ namespace osu.Game.Online.API
|
||||
/// </summary>
|
||||
public new event APISuccessHandler<T> Success;
|
||||
|
||||
protected APIRequest()
|
||||
{
|
||||
base.Success += () => Success?.Invoke(Result);
|
||||
}
|
||||
|
||||
protected override void PostProcess()
|
||||
{
|
||||
base.PostProcess();
|
||||
@ -40,12 +45,6 @@ namespace osu.Game.Online.API
|
||||
|
||||
TriggerSuccess();
|
||||
}
|
||||
|
||||
internal override void TriggerSuccess()
|
||||
{
|
||||
base.TriggerSuccess();
|
||||
Success?.Invoke(Result);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -132,7 +131,7 @@ namespace osu.Game.Online.API
|
||||
{
|
||||
}
|
||||
|
||||
internal virtual void TriggerSuccess()
|
||||
internal void TriggerSuccess()
|
||||
{
|
||||
lock (completionStateLock)
|
||||
{
|
||||
|
Reference in New Issue
Block a user