aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-05-29 16:08:59 -0400
committerMichael <[email protected]>2017-05-29 16:08:59 -0400
commitff47625d2547deed441a853569f9fe84197e23b6 (patch)
treeb243f3c0cd0202f98e59e4b69ac9f318af95ded3 /ShiftOS.WinForms
parent505073b6938fc8be8b91807a69bd67e45ed4382f (diff)
downloadshiftos_thereturn-ff47625d2547deed441a853569f9fe84197e23b6.tar.gz
shiftos_thereturn-ff47625d2547deed441a853569f9fe84197e23b6.tar.bz2
shiftos_thereturn-ff47625d2547deed441a853569f9fe84197e23b6.zip
fix some clientside save softlocks
Diffstat (limited to 'ShiftOS.WinForms')
-rw-r--r--ShiftOS.WinForms/Applications/Terminal.cs31
-rw-r--r--ShiftOS.WinForms/Oobe.cs3
2 files changed, 19 insertions, 15 deletions
diff --git a/ShiftOS.WinForms/Applications/Terminal.cs b/ShiftOS.WinForms/Applications/Terminal.cs
index 2d2b4c5..080e8bb 100644
--- a/ShiftOS.WinForms/Applications/Terminal.cs
+++ b/ShiftOS.WinForms/Applications/Terminal.cs
@@ -313,21 +313,24 @@ namespace ShiftOS.WinForms.Applications
}
else if (a.KeyCode == Keys.Left)
{
- var getstring = txt.Lines[txt.Lines.Length - 1];
- var stringlen = getstring.Length + 1;
- var header = $"{SaveSystem.CurrentUser.Username}@{SaveSystem.CurrentSave.SystemName}:~$ ";
- var headerlen = header.Length + 1;
- var selstart = txt.SelectionStart;
- var remstrlen = txt.TextLength - stringlen;
- var finalnum = selstart - remstrlen;
-
- if (finalnum != headerlen)
+ if (SaveSystem.CurrentSave != null)
{
- AppearanceManager.CurrentPosition--;
- }
- else
- {
- a.SuppressKeyPress = true;
+ var getstring = txt.Lines[txt.Lines.Length - 1];
+ var stringlen = getstring.Length + 1;
+ var header = $"{SaveSystem.CurrentUser.Username}@{SaveSystem.CurrentSave.SystemName}:~$ ";
+ var headerlen = header.Length + 1;
+ var selstart = txt.SelectionStart;
+ var remstrlen = txt.TextLength - stringlen;
+ var finalnum = selstart - remstrlen;
+
+ if (finalnum != headerlen)
+ {
+ AppearanceManager.CurrentPosition--;
+ }
+ else
+ {
+ a.SuppressKeyPress = true;
+ }
}
}
else if (a.KeyCode == Keys.Up)
diff --git a/ShiftOS.WinForms/Oobe.cs b/ShiftOS.WinForms/Oobe.cs
index 9182b4b..96c2bf5 100644
--- a/ShiftOS.WinForms/Oobe.cs
+++ b/ShiftOS.WinForms/Oobe.cs
@@ -207,14 +207,15 @@ namespace ShiftOS.WinForms
ServerMessageReceived smr = null;
smr = (msg) =>
{
- ServerManager.MessageReceived -= smr;
if (msg.Name == "mud_savefile")
{
+ ServerManager.MessageReceived -= smr;
SaveSystem.CurrentSave = JsonConvert.DeserializeObject<Save>(msg.Contents);
SaveSystem.SaveGame();
}
else if(msg.Name=="mud_login_denied")
{
+ ServerManager.MessageReceived -= smr;
LinkSaveFile(token);
}
};