bugfix: login keyboard showing rn char from buffer

pull/23/head
JuanJakobo 2020-12-01 22:54:47 +01:00
parent 63a2835fc8
commit fffe0b28aa
2 changed files with 13 additions and 10 deletions

View File

@ -84,31 +84,36 @@ void LoginView::keyboardHandler(char *text)
DrawTextRect2(&_passwordButton, pass.c_str());
}
free(_charBuffer);
}
int LoginView::logginClicked(int x, int y)
{
_charBuffer = (char *)malloc(_bufferSize);
_temp = "";
if (IsInRect(x, y, &_urlButton))
{
_keyboardValue = 1;
OpenKeyboard("Server address", _charBuffer, MAX_CHAR_BUFF_LENGHT - 1, KBD_NORMAL, &keyboardHandlerStatic);
if(!_url.empty())
_temp = _url;
_temp.resize(KEYBOARD_STRING_LENGHT);
OpenKeyboard("Server address", &_temp[0],KEYBOARD_STRING_LENGHT - 1, KBD_NORMAL, &keyboardHandlerStatic);
return 1;
}
else if (IsInRect(x, y, &_usernameButton))
{
_keyboardValue = 2;
OpenKeyboard("Username", _charBuffer, MAX_CHAR_BUFF_LENGHT - 1, KBD_NORMAL, &keyboardHandlerStatic);
if(!_username.empty())
_temp = _username;
_temp.resize(KEYBOARD_STRING_LENGHT);
OpenKeyboard("Username", &_temp[0], KEYBOARD_STRING_LENGHT, KBD_NORMAL, &keyboardHandlerStatic);
return 1;
}
else if (IsInRect(x, y, &_passwordButton))
{
_keyboardValue = 3;
OpenKeyboard("Password", _charBuffer, MAX_CHAR_BUFF_LENGHT - 1, KBD_PASSWORD, &keyboardHandlerStatic);
_temp.resize(KEYBOARD_STRING_LENGHT);
OpenKeyboard("Password",&_temp[0], KEYBOARD_STRING_LENGHT, KBD_PASSWORD, &keyboardHandlerStatic);
return 1;
}

View File

@ -16,7 +16,7 @@
using std::string;
const int MAX_CHAR_BUFF_LENGHT = 256;
const int KEYBOARD_STRING_LENGHT = 80;
class LoginView
{
@ -41,9 +41,7 @@ private:
string _username;
string _password;
string _url;
char *_charBuffer;
const int _bufferSize = 4 * MAX_CHAR_BUFF_LENGHT + 1;
string _temp;
/**
* Functions needed to call C function, handles the panel