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>
|
/// </summary>
|
||||||
protected virtual string FileExtension { get; } = @".tmp";
|
protected virtual string FileExtension { get; } = @".tmp";
|
||||||
|
|
||||||
|
protected APIDownloadRequest()
|
||||||
|
{
|
||||||
|
base.Success += () => Success?.Invoke(filename);
|
||||||
|
}
|
||||||
|
|
||||||
protected override WebRequest CreateWebRequest()
|
protected override WebRequest CreateWebRequest()
|
||||||
{
|
{
|
||||||
var file = Path.GetTempFileName();
|
var file = Path.GetTempFileName();
|
||||||
@ -39,12 +44,6 @@ namespace osu.Game.Online.API
|
|||||||
TriggerSuccess();
|
TriggerSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override void TriggerSuccess()
|
|
||||||
{
|
|
||||||
base.TriggerSuccess();
|
|
||||||
Success?.Invoke(filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
public event APIProgressHandler Progressed;
|
public event APIProgressHandler Progressed;
|
||||||
|
|
||||||
public new event APISuccessHandler<string> Success;
|
public new event APISuccessHandler<string> Success;
|
||||||
|
@ -25,6 +25,11 @@ namespace osu.Game.Online.API
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public new event APISuccessHandler<T> Success;
|
public new event APISuccessHandler<T> Success;
|
||||||
|
|
||||||
|
protected APIRequest()
|
||||||
|
{
|
||||||
|
base.Success += () => Success?.Invoke(Result);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void PostProcess()
|
protected override void PostProcess()
|
||||||
{
|
{
|
||||||
base.PostProcess();
|
base.PostProcess();
|
||||||
@ -40,12 +45,6 @@ namespace osu.Game.Online.API
|
|||||||
|
|
||||||
TriggerSuccess();
|
TriggerSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override void TriggerSuccess()
|
|
||||||
{
|
|
||||||
base.TriggerSuccess();
|
|
||||||
Success?.Invoke(Result);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -132,7 +131,7 @@ namespace osu.Game.Online.API
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
internal virtual void TriggerSuccess()
|
internal void TriggerSuccess()
|
||||||
{
|
{
|
||||||
lock (completionStateLock)
|
lock (completionStateLock)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user