iPhoneKeyboard flush cache

I am working with the iPhoneKeyboard class to get user data input like name, pw, email.
Unfortunately it seems to store the input values harshly. So if I leave the menu and return, the password will already be entered.
If I try to force flush the input with iPhoneKeyboard.text = “” the app freezes :slight_smile:
Maybe I am just not seeing my mistake, I am confused.

private var keyboard : iPhoneKeyboard;

function OnGUI () {
User1PWtemp = ""; // test to see if that helps (it didn't)

if (GUI.Button(Rect(40,80,240,40),"")) {
			if (activeUser == 1) keyboard = iPhoneKeyboard.Open(User1PWtemp, iPhoneKeyboardType.Default,false,false,true);
			inputField = 1;
	}

if (keyboard) {
	if (activeUser == 1) {
		if (inputField == 0) User1 = keyboard.text;
		if (inputField == 1) User1PWtemp = keyboard.text;
		if (inputField == 2) User1PWtemp2 = keyboard.text;
		if (inputField == 3) User1mail = keyboard.text;
	}
}
}

And the solution as spied here: http://forum.unity3d.com/threads/32184-Limiting-phone-Keyboard-Input-Length

if (keyboard) {
	[B]if (keyboard.done) { keyboard = null; }[/B]
	
	if (keyboard.active) {
		if (activeUser == 1) {
			if (inputField == 0) User1tmp = keyboard.text;
			if (inputField == 1) User1PWtemp = keyboard.text;
			if (inputField == 2) User1PWtemp2 = keyboard.text;
			if (inputField == 3) User1mail = keyboard.text;
		}
		if (activeUser == 2) {
			if (inputField == 0) User2tmp = keyboard.text;
			if (inputField == 1) User2PWtemp = keyboard.text;
			if (inputField == 2) User2PWtemp2 = keyboard.text;
			if (inputField == 3) User2mail = keyboard.text;
		}
	}
}