X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fitem%2Finputbox.qc;h=d19125a218e658fd6c5cf4b45419abb6335906d1;hb=4b615d6ea3ee6794ea9368c782393c66ef55c170;hp=a418dc2ce0fffa7b761fff860ebe8f950dbb09bf;hpb=95a5a2479a35e264473e8ba3fc4e584553da42b3;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/item/inputbox.qc b/qcsrc/menu/item/inputbox.qc index a418dc2ce..d19125a21 100644 --- a/qcsrc/menu/item/inputbox.qc +++ b/qcsrc/menu/item/inputbox.qc @@ -22,7 +22,7 @@ void InputBox_setText(entity me, string txt) { - if (me.text) strunzone(me.text); + strfree(me.text); SUPER(InputBox).setText(me, strzone(txt)); } @@ -106,19 +106,19 @@ void InputBox_enterText(entity me, string ch) { - float i; - for (i = 0; i < strlen(ch); ++i) + int len = strlen(ch); + for (int i = 0; i < len; ++i) if (strstrofs(me.forbiddenCharacters, substring(ch, i, 1), 0) > -1) return; if (me.maxLength > 0) { - if (strlen(ch) + strlen(me.text) > me.maxLength) return; + if (len + strlen(me.text) > me.maxLength) return; } else if (me.maxLength < 0) { if (u8_strsize(ch) + u8_strsize(me.text) > -me.maxLength) return; } me.setText(me, strcat(substring(me.text, 0, me.cursorPos), ch, substring(me.text, me.cursorPos, strlen(me.text) - me.cursorPos))); - me.cursorPos += strlen(ch); + me.cursorPos += len; } float InputBox_keyDown(entity me, float key, float ascii, float shift) @@ -356,7 +356,7 @@ } // skipping SUPER(InputBox).draw(me); - Item_draw(me); + MenuItem_draw(me); } void InputBox_showNotify(entity me)