Use C++ allocation/freeing for text masking and multiline processing
This commit is contained in:
parent
7ffaa421d1
commit
8c608ee8b9
@ -28,8 +28,8 @@ void Textblock::SetText(std::string text)
|
||||
|
||||
void Textblock::updateMultiline()
|
||||
{
|
||||
char * rawText = (char*)malloc(text.length()+1);
|
||||
memcpy(rawText, text.c_str(), text.length());
|
||||
char * rawText = new char[text.length()+1];
|
||||
std::copy(text.begin(), text.end(), rawText);
|
||||
rawText[text.length()] = 0;
|
||||
|
||||
int lines = 1;
|
||||
@ -60,7 +60,8 @@ void Textblock::updateMultiline()
|
||||
{
|
||||
Size.Y = lines*12;
|
||||
}
|
||||
textLines = rawText;
|
||||
textLines = std::string(rawText);
|
||||
delete[] rawText;
|
||||
}
|
||||
|
||||
void Textblock::Draw(const Point &screenPos)
|
||||
|
@ -129,10 +129,10 @@ void Textbox::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
||||
{
|
||||
if(masked)
|
||||
{
|
||||
char * tempText = new char[text.length()];
|
||||
char * tempText = new char[text.length()+1];
|
||||
std::fill(tempText, tempText+text.length(), 0x8d);
|
||||
tempText[text.length()] = 0;
|
||||
displayText = tempText;
|
||||
displayText = std::string(tempText);
|
||||
delete tempText;
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user