From 0f5b4a9ec83b8c6d2bb9448b6e58f841a875a636 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Mon, 4 Mar 2013 14:57:40 -0500 Subject: [PATCH] fix pressing esc in login prompt logging you out, fix possible sign bug crash --- src/login/LoginView.cpp | 8 ++++++-- src/login/LoginView.h | 1 + src/simulation/Sign.cpp | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/login/LoginView.cpp b/src/login/LoginView.cpp index 8cbdcfba7..3cb07c347 100644 --- a/src/login/LoginView.cpp +++ b/src/login/LoginView.cpp @@ -38,7 +38,7 @@ public: LoginView::LoginView(): ui::Window(ui::Point(-1, -1), ui::Point(200, 87)), loginButton(new ui::Button(ui::Point(200-100, 87-17), ui::Point(100, 17), "Sign in")), - cancelButton(new ui::Button(ui::Point(0, 87-17), ui::Point(101, 17), "Cancel")), + cancelButton(new ui::Button(ui::Point(0, 87-17), ui::Point(101, 17), "Sign Out")), titleLabel(new ui::Label(ui::Point(4, 5), ui::Point(200-16, 16), "Server login")), usernameField(new ui::Textbox(ui::Point(8, 25), ui::Point(200-16, 17), Client::Ref().GetAuthUser().Username, "[username]")), passwordField(new ui::Textbox(ui::Point(8, 46), ui::Point(200-16, 17), "", "[password]")), @@ -59,7 +59,6 @@ LoginView::LoginView(): loginButton->Appearance.TextInactive = style::Colour::ConfirmButton; loginButton->SetActionCallback(new LoginAction(this)); AddComponent(cancelButton); - SetCancelButton(cancelButton); cancelButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; cancelButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle; cancelButton->SetActionCallback(new CancelAction(this)); @@ -88,6 +87,11 @@ void LoginView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, boo } } +void LoginView::OnTryExit(ExitMethod method) +{ + ui::Engine::Ref().CloseWindow(); +} + void LoginView::NotifyStatusChanged(LoginModel * sender) { if(!infoLabel->GetText().length() && sender->GetStatusText().length()) diff --git a/src/login/LoginView.h b/src/login/LoginView.h index fe87a3f32..ae7af4e3a 100644 --- a/src/login/LoginView.h +++ b/src/login/LoginView.h @@ -35,6 +35,7 @@ public: class CancelAction; LoginView(); virtual void OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt); + virtual void OnTryExit(ExitMethod method); void AttachController(LoginController * c_) { c = c_; } void NotifyStatusChanged(LoginModel * sender); virtual void OnDraw(); diff --git a/src/simulation/Sign.cpp b/src/simulation/Sign.cpp index 19261e4ab..82d9a185c 100644 --- a/src/simulation/Sign.cpp +++ b/src/simulation/Sign.cpp @@ -22,7 +22,7 @@ std::string sign::getText(Simulation *sim) { char buff[256]; char signText[256]; - sprintf(signText, "%s", text.c_str()); + sprintf(signText, "%s", text.substr(0, 255).c_str()); if (!strcmp(signText,"{p}")) {